SlideShare a Scribd company logo
1 of 56
Download to read offline
1
Redshift
Um rootkit para o kernel do FreeBSD
Anderson Eduardo
andersonc0d3@gmail.com
2
Agenda
★ sobre mim
★ Rootkit
○ tipos de rootkit
★ Redshift
○ O que é isso?
○ Comandos
○ técnicas
○ Módulos
★ Demonstração
★ Detecção
★ Futuro
★ dúvidas?
3
sobre mim
★ quem?
Email: Anderson eduardo < andersonc0d3@gmail..com >
Twitter: @andersonc0d3
Github: @andersonc0d3
★ O que eu faço?
Security researcher
★ Principais interesses
kernel, rootkit, virtualização, sistemas operacionais, ciência da computação
skateboard, matemática, física, neurociência
★ Anteriormente
Security analyst (Conviso application security, 3 anos)
Exploit for CVE-2012-0217 (sysret)
EXploit for CVE-2012-4576 (Freebsd’s linux compat subsystem ioctl)
4
Motivação e AVISO LEGAL
Este é o resultado de um trabalho pessoal e sem revisões
prévias, nascido e mantido pelo seu único desenvolvedor,
como uma forma de estudar os assuntos de seu
interesse. Sendo assim, erros poderão ser cometidos nesta
apresentação e peço desculpas desde já.
Gostaria também de mencionar que este rootkit não tem
nenhuma relação com outra pessoa ou entidade a não ser
seu único desenvolvedor.
5
Modos de operação de uma CPU
★ real mode
○ 16 bits
○ sem rings de proteção
○ acesso total ao hardware
★ protected mode
○ rings
○ paginação
○ 32 bits - 4G
★ virtual 8086
○ DOS
★ long mode/IA-32e
○ paginação - 256 TB
○ Sem segmentação
○ amd64 canonical address - 48 bits de endereçamento
○ 64 bits registradores gerais etc..
○ sub modo de compatibilidade 32 bits
http://www.intel.com/Assets/en_US/PDF/manual/253668.pdf
6
Modos de operação de uma CPU
★ SMM
○ 16 bits
○ SMRAM
■ Área da memória RAM somente acessível em SMM mode,
invisível para o sistema operacional
○ Saved state map
○ SMI Handler provido pela BIOS/UEFI
○ usado para gerenciar erros críticos:
energia/voltagem/aquecimento/erros do chipset por
exemplo.
http://www.intel.com/Assets/en_US/PDF/manual/253668.pdf
7
Modos de operação de uma CPU
http://www.intel.com/Assets/en_US/PDF/manual/253668.pdf
8
Níveis de privilégio - modo protegido
https://en.wikipedia.org/wiki/Protection_ring#/media/File:Priv_rings.svg
9
Rootkit
“A rootkit is a collection of computer software, typically
malicious, designed to enable access to a computer or
areas of its software that would not otherwise be
allowed (for example, to an unauthorized user) while at
the same time masking its existence or the existence of
other software.”
https://en.wikipedia.org/wiki/Rootkit
10
Rootkit
https://en.wikipedia.org/wiki/Rootkit
11
Tipos de rootkit
★ ring 3 - userland
★ ring 0 - kernel/bootkit
★ ring -1 - hypervisor
★ ring -2 - SMM (System management mode)
★ ring -3 - Intel management/manageability engine (ME)
★ hardware/Firmware rootkits
12
tipos de rootkit - ring 3
★ ring 3 - userland
○ Sobrescrever/alterar binário do sistema operacional
■ ps, ls, netstat, top, last, w
■ sshd
■ apached/httpd
■ smbd
○ Ptrace() syscall
13
tipos de rootkit - ring 0
★ ring 0 - kernel/bootkit
★ Necessário acesso root
○ Carregar módulo no kernel
○ sobrescrever bootloader
★ principal vetor de ataque para outros níveis
★ Acesso total ao hardware
★ bootkits
○ Utilizado para atacar o kernel, e.g: desabilitar patchguard
○ interceptar senhas e ataques contra full-disk encryption -
Stoned bootkit [1]
○ infecta MBR/VBR, altera (hook) IVT da BIOS, carrega
bootloader do sistema operacional, reganha acesso
14
tipos de rootkit - ring 0
★ Exemplos de rootkits em ring 0
○ redshift (FreeBSD)
○ suckit
○ diamorphine (Linux 2.6/3.X) [2]
○ babykit [3]
○ sutersu
○ stoned bootkit
○ e muito mais...
15
tipos de rootkit - ring -1
https://en.wikipedia.org/wiki/Protection_ring
16
tipos de rootkit - ring -1
★ bluepill [4]
○ Joanna Rutkowska
○ windows vista x64
○ Amd pacifica
★ subvirt [5]
○ Universidade de michigan and microsoft
○ windows xp e linux
★ vitriol [6]
○ dino dai zovi
○ Mac-os x
○ Intel vt-x
17
tipos de rootkit - ring -2
★ ring -2 - SMM (System management mode)
○ loic duflot [7]
■ Ataque para OpenBSD usando SMM para desabilitar
securelevel¹
○ A Real SMM Rootkit: Reversing and Hooking BIOS SMI Handlers,
phrack edição 66, artigo 11 [8]
18
tipos de rootkit - ring -3
★ ring -3 - management engine / vpro based
★ Alexander Tereshkin e Rafal Wojtczuk
○ Introducing Ring -3 Rootkits [9]
■ Q35 chipset Q3'07
■ independente da CPU
■ Ativo mesmo em S3
■ Acesso remoto
■ Acesso a memória via DMA
19
tipos de rootkit - hardware/firmware rootkits
★ BIOS/UEFI
○ How Many Million BIOSes Would you Like to Infect? [10]
○ Persistent BIOS Infection, phrack edição 66, artigo 7, anibal
sacco e alfredo ortega [11]
○ DE MYSTERIIS DOM JOBSIVS Mac EFI Rootkits, snare [12]
○ A Real SMM Rootkit: Reversing and Hooking BIOS SMI Handlers
[8]
★ PCI
○ John Heasman, Implementing and detecting PCI ROOTKITs [13]
○ João Batista e Bruno cardoso, Low level playground [14]
★ SCADA
○ stuxnet
20
rootkits
★ QUem usa?
○ Lenovo, SONY e muitos outros que ainda não foram
descobertos :)
21
tipos de rootkit - Caso da lenovo
http://www.zdnet.com/article/lenovo-rootkit-ensured-its-software-could-not-be-deleted/
22
tipos de rootkit - Caso da sony
http://www.zdnet.com/article/lenovo-rootkit-ensured-its-software-could-not-be-deleted/
23
tipos de rootkit - Caso Eddie Raymond Tipton
http://arstechnica.com/tech-policy/2015/04/prosecutors-suspect-man-hacked-lottery-computers-to-score-winning-ticket/
24
Redshift - O que é isso?
★ Rootkit pessoal para o kernel do freebsd (ring 0)
★ FreeBSD 10
★ Userland handler
★ Nasceu em 2015
★ Fácil de usar, flexível, atualizado, constante
desenvolvimento, estável
★ Confiável, open-source
★ overlabs# ./redshift_handler COMMAND MODULE ARGS
TECHNIQUE
25
Redshift exemplos
★ overlabs# ./redshift_handler load
★ overlabs# ./redshift_handler status
★ overlabs# ./redshift_handler enable hide_module redshift syscall
★ overlabs# ./redshift_handler enable hide_process “./sniffer” syscall
★ overlabs# ./redshift_handler enable hide_FILE “senhas.txt” syscall
★ overlabs# ./redshift_handler enable give_root vsyscall
★ overlabs# ./redshift_handler status hide_module
★ overlabs# ./redshift_handler unload
26
Redshift comandos
★ enable/disable
○ Habilita ou desabilita um módulo específico
★ load/unload
○ Carrega/descarrega o rootkit do kernel
★ Status
○ Status atual
27
Redshift comandos
★ enable/disable
○ ./redshift_handler enable hide_file passwords.txt syscall
○ ./redshift_handler enable hide_process NULL 666 syscall
○ ./redshift_handler enable give_root vsyscall
★ load/unload
○ ./redshift_handler load
○ ./redshift_handler unload
★ Status
○ ./redshift_handler status
28
Redshift técnicas
★ syscall
○ Altera o syscall handler de uma syscall específica
★ vsyscall
○ Altera o interrupt handler e simula uma syscall
★ debug registers
○ ALtera o interrupt handler de debug e simula uma syscall
virtual
★ driver
○ Altera o handler específico do driver
29
★ - Falta integrar ao redshift
Técnica syscall
★ Altera syscall handlers
○ tabela de syscalls tem permissão de escrita
○ Ao desabilitar restaura o handler original
★ Fácil de detectar
○ Verificar se a tabela de syscalls foi alterada, checar
integridade
30
Técnica syscall
★ Hide_module
○ Altera as system calls para o redshift, 9 system calls
○ Restaurar os handlers originais, 9 system calls
31
Técnica syscall
★ hide_file
○ Altera as system calls para o redshift
32
Técnica syscall
★ hide_file
○ Restaurar os handlers originais
33
técnica vsyscall - virtual syscall
★ substitui o interrupt handler
○ Interrupt descriptor table (IDT) - x86
○ MSR LSTAR e MSR CSTAR - x86_64
★ Simula uma syscall
○ simula a criação de uma nova syscall, Não altera a tabela
das syscalls.
★ Fácil de detectar
○ Verificar alterações no MSR LSTAR
34
★ - Falta integrar ao redshift
Técnica vsyscall - virtual syscall
★ Alterando o MSR MSR_LSTAR
35
Técnica vsyscall - virtual syscall
★ Restaurando o handler original
36
Técnica debug registers
★ A melhor técnica a ser implementada no Redshift
○ Mais furtividade
○ Mais controle do sistema, permite se retirar
silenciosamente
★ Técnica Bem descrita na phrack edição 65, artigo 08. [15]
★ outros rootkits
○ mood-nt, darkangel
○ DR rootkit, Immunity Inc [16]
37
Técnica debug registers
http://www.intel.com/Assets/en_US/PDF/manual/253668.pdf
38
Técnica debug registers
http://www.intel.com/Assets/en_US/PDF/manual/253668.pdf
39
Técnica alterar driver
★ Driver do teclado
★ ALtera funções dinÂmicas do driver/kernel
○ Virtual file system (VFS) file operations etc.
★ Processo de detecção árduo
○ conhecer detalhes do sistema operacional e do driver
40
★ - Falta integrar ao redshift
Redshift modules
★ hide_file
○ Permite ao atacante esconder arquivos
★ hide_process
○ Permite ao atacante esconder processos por PID ou nome do
processo
★ hide_module
○ permite ao atacante esconder módulos carregados no sistema
★ Give_root
○ Permite ao atacante ganhar acesso root
★ Keylogger
○ Permite ao atacante capturar teclas pressionadas no teclado
★ Disable mitigations
○ permite ao atacante desabilitar mitigações do sistema (securelevel,
map_at_zero)
★ Escape sandbox
○ Permite ao atacante desabilitar sandbox capsicum do sistema
41
★ - Falta integrar ao redshift
Redshift modules - HIDE_FILE
★ Esconde arquivos
★ Utiliza técnica de alterar a tabela de syscalls
★ Ideia principal Alterar o handler da syscall
getdirentries
★ Altera ao total 12 system calls
★ bypassável se usando link simbólicos
○ A ser corrigido em breve
★ ./redshift_handler enable hide_file “senhas.txt” syscall
42
Redshift modules - HIDE_FILE
43
Redshift modules - HIDE_PROCESS
★ Esconde processo por PID ou nome do processo
★ Evita ptrace() e kill()
★ Utiliza técnica de alterar a tabela de syscalls
★ userland obtém lista de processos através da
interface sysctl
○ altera sysctl handler para o redshift
44
Redshift modules - HIDE_PROCESS
★ Habilitando módulo
★ Desabilitando módulo
45
Redshift modules - HIDE_MODULE
★ Esconde módulos
★ Utiliza técnica de alterar a tabela de syscalls
★ Altera 9 system calls, utilizadas pelo comando kldstat
○ kldstat(), kldfind(), kldnexT(), kldfirstmod(), modstat(), modfind(),
modnext(), modfnext()
46
Redshift modules - GIVE ROOT
★ Permite escalação de privilégios
★ Utiliza a técnica vsyscall
★ Altera o MSR (Machine SPecific register)
○ Específico para cada cpu, utilizar processor affinity (cpuset)
ao executar o handler
○ cpuset -l CORE ./redshift_handler enable give_root vsyscall
47
Redshift modules - GIVE ROOT
48
Redshift
Demonstração
49
Detecção e fraquezas
★ Olhar as alocações dinâmicas
○ vmstat -m
○ A ser corrigido em breve
★ Bypass do módUlo hide_file usando links simbólicos
○ ./redshift_handler enable hide_filE senhas_clientes.txt syscall
○ ln -s senhas_clientes.txt abcd; cat ABCD
○ A ser corrigido em breve (namei API)
★ Redshift somente altera o kernel do sistema
operacional, mascarando a visão do usuário do sistema.
Uma análise mais aprofundada permite o bypass de
todos os módulos do redshift
50
Detecção e fraquezas
★ KLDsym
51
Detecção e fraquezas - KLDSYM
52
Futuro do redshift
★ Networking
○ Gerenciamento do rootkit remotamente
■ ./redshift_handler COMMAND MODULE ARGUMENT TECHNIQUE IP
★ Suporte a código 32 bits
★ Melhorar furtividade
★ Mais técnicas de hook
★ Persistência?
★ Descer o nível - TLB SPLIT, SMM, UEFI/BIOS e virtualização
★ Melhorar comunicação handler -> redshift
★ Melhorar código
★ portar para linux?
★ Corrigir bugs
○ Implementar mecanismos de locking para evitar races
○ melhorar interface entre handle e o redshift
53
Referências
1. Stoned bootkit
a. https://www.blackhat.com/presentations/bh-usa-09/KLEISSNER/BHUSA09-Kleissner-Sto
nedBootkit-SLIDES.pdf
2. Diamorphine
a. https://github.com/m0nad/Diamorphine
3. BABYKIT
a. https://github.com/rick2600/babykit
4. Introduction to bluepill
a. https://www.coseinc.com/en/index.php?rt=download&act=publication&file=Introduci
ng%20Blue%20Pill.ppt.pdf
5. SubVirt: Implementing malware with virtual machines
a. http://web.eecs.umich.edu/~pmchen/papers/king06.pdf
6. Hardware virtualization rootkit
a. https://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Zovi.pdf
7. Using CPU System Management Mode to Circumvent Operating System Security Functions
a. http://fawlty.cs.usfca.edu/~cruse/cs630f06/duflot.pdf
8. A Real SMM Rootkit: Reversing and Hooking BIOS SMI Handlers
a. http://phrack.org/issues/66/11.html
9. Introducing Ring -3 Rootkits
a. http://me.bios.io/images/6/61/Ring_-3_Rootkits.pdf
10. How Many Million BIOSes Would you Like to Infect?
a. http://www.legbacore.com/Research_files/HowManyMillionBIOSWouldYouLikeToInfe
ct_Full2.pdf 54
Referências
11. Persistent BIOS Infection
a. http://phrack.org/issues/66/7.html
12. DE MYSTERIIS DOM JOBSIVS Mac EFI Rootkits
a. http://ho.ax/De_Mysteriis_Dom_Jobsivs_Black_Hat_Paper.pdf
13. implementing and detecting PCI rootkit
a. https://www.blackhat.com/presentations/bh-dc-07/Heasman/Paper/bh-dc-07-Heasma
n-WP.pdf
14. Low Level Playground
a. http://www.h2hc.org.br/repositorio/2008/Joao.pdf
15. Mistifying the debugger, ultimate stealthness
a. http://phrack.org/issues/65/8.html
16. DR rootkit
a. http://seclists.org/dailydave/2008/q3/215
55
Obrigado!
Dúvidas?
56

More Related Content

What's hot

Embarcados Live - microROS: ROS2 no seu ESP32
Embarcados Live - microROS: ROS2 no seu ESP32Embarcados Live - microROS: ROS2 no seu ESP32
Embarcados Live - microROS: ROS2 no seu ESP32Embarcados
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonTchelinux
 
Segurança de sistema firewall
Segurança de sistema   firewallSegurança de sistema   firewall
Segurança de sistema firewallTiago
 
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...Sandro Suffert
 
Manual de Operação Prisma G Henry - LojaTotalseg.com.br
Manual de Operação Prisma G Henry - LojaTotalseg.com.brManual de Operação Prisma G Henry - LojaTotalseg.com.br
Manual de Operação Prisma G Henry - LojaTotalseg.com.brLojaTotalseg
 
Tutorial e1 gvt ( isdn te110 p ) no elastix 2.5 asterisk
Tutorial e1 gvt ( isdn  te110 p ) no elastix 2.5  asteriskTutorial e1 gvt ( isdn  te110 p ) no elastix 2.5  asterisk
Tutorial e1 gvt ( isdn te110 p ) no elastix 2.5 asteriskVideo Aulas Linux e Mikrotik
 
Confraria0day - 11º Edição - Jhonathan Davi
Confraria0day - 11º Edição - Jhonathan DaviConfraria0day - 11º Edição - Jhonathan Davi
Confraria0day - 11º Edição - Jhonathan DaviJhonathan Davi
 
Palestra latinoware - Hardening Linux
Palestra latinoware - Hardening LinuxPalestra latinoware - Hardening Linux
Palestra latinoware - Hardening Linuxhdoria
 
Internet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentosInternet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentosDouglas Esteves
 

What's hot (12)

Embarcados Live - microROS: ROS2 no seu ESP32
Embarcados Live - microROS: ROS2 no seu ESP32Embarcados Live - microROS: ROS2 no seu ESP32
Embarcados Live - microROS: ROS2 no seu ESP32
 
Minicurso GNU/Linux
Minicurso GNU/LinuxMinicurso GNU/Linux
Minicurso GNU/Linux
 
Relógio Eletrônico de Ponto Henry Prisma J - Operacional
Relógio Eletrônico de Ponto Henry Prisma J - OperacionalRelógio Eletrônico de Ponto Henry Prisma J - Operacional
Relógio Eletrônico de Ponto Henry Prisma J - Operacional
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei Pollon
 
Segurança de sistema firewall
Segurança de sistema   firewallSegurança de sistema   firewall
Segurança de sistema firewall
 
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...
 
Manual de Operação Prisma G Henry - LojaTotalseg.com.br
Manual de Operação Prisma G Henry - LojaTotalseg.com.brManual de Operação Prisma G Henry - LojaTotalseg.com.br
Manual de Operação Prisma G Henry - LojaTotalseg.com.br
 
Botnets
BotnetsBotnets
Botnets
 
Tutorial e1 gvt ( isdn te110 p ) no elastix 2.5 asterisk
Tutorial e1 gvt ( isdn  te110 p ) no elastix 2.5  asteriskTutorial e1 gvt ( isdn  te110 p ) no elastix 2.5  asterisk
Tutorial e1 gvt ( isdn te110 p ) no elastix 2.5 asterisk
 
Confraria0day - 11º Edição - Jhonathan Davi
Confraria0day - 11º Edição - Jhonathan DaviConfraria0day - 11º Edição - Jhonathan Davi
Confraria0day - 11º Edição - Jhonathan Davi
 
Palestra latinoware - Hardening Linux
Palestra latinoware - Hardening LinuxPalestra latinoware - Hardening Linux
Palestra latinoware - Hardening Linux
 
Internet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentosInternet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentos
 

Viewers also liked

How i cracked millions of “pt br” hashed passwords
How i cracked millions of “pt br” hashed passwordsHow i cracked millions of “pt br” hashed passwords
How i cracked millions of “pt br” hashed passwordsNullbyte Security Conference
 
Evitando execução de códigos arbitrários com GRsecurity e PaX
Evitando execução de códigos arbitrários com GRsecurity e PaXEvitando execução de códigos arbitrários com GRsecurity e PaX
Evitando execução de códigos arbitrários com GRsecurity e PaXNullbyte Security Conference
 
Strategies to handle Phishing attacks
Strategies to handle Phishing attacksStrategies to handle Phishing attacks
Strategies to handle Phishing attacksSreejith.D. Menon
 
Temas 2. 4 2.5
Temas 2. 4   2.5Temas 2. 4   2.5
Temas 2. 4 2.5noemy mm
 
Analisis de la Principales Obras del Neoclasicismo y Post-Impresionismo
Analisis de la Principales  Obras del Neoclasicismo y  Post-ImpresionismoAnalisis de la Principales  Obras del Neoclasicismo y  Post-Impresionismo
Analisis de la Principales Obras del Neoclasicismo y Post-Impresionismojohnleinerr
 
S3 a1 soloriop_tanya
S3 a1 soloriop_tanyaS3 a1 soloriop_tanya
S3 a1 soloriop_tanyaTania Sol
 
alarm anti-theft system
alarm anti-theft system  alarm anti-theft system
alarm anti-theft system mohammed ahmed
 
El impacto del internet en la actualidad
El impacto del internet en la actualidadEl impacto del internet en la actualidad
El impacto del internet en la actualidadjorge082000208
 
Tema 3 3.1
Tema 3   3.1Tema 3   3.1
Tema 3 3.1noemy mm
 

Viewers also liked (20)

Stealth post-exploitation with phpsploit
Stealth post-exploitation with phpsploitStealth post-exploitation with phpsploit
Stealth post-exploitation with phpsploit
 
How i cracked millions of “pt br” hashed passwords
How i cracked millions of “pt br” hashed passwordsHow i cracked millions of “pt br” hashed passwords
How i cracked millions of “pt br” hashed passwords
 
Muito além do alert() em ataques web client side
Muito além do alert() em ataques web client sideMuito além do alert() em ataques web client side
Muito além do alert() em ataques web client side
 
Cabra Arretado Aperriando o WordPress
Cabra Arretado Aperriando o WordPressCabra Arretado Aperriando o WordPress
Cabra Arretado Aperriando o WordPress
 
C&C Botnet Factory
C&C Botnet FactoryC&C Botnet Factory
C&C Botnet Factory
 
All your binaries are belong to us
All your binaries are belong to usAll your binaries are belong to us
All your binaries are belong to us
 
Hacking cable modems the later years
Hacking cable modems the later yearsHacking cable modems the later years
Hacking cable modems the later years
 
Evitando execução de códigos arbitrários com GRsecurity e PaX
Evitando execução de códigos arbitrários com GRsecurity e PaXEvitando execução de códigos arbitrários com GRsecurity e PaX
Evitando execução de códigos arbitrários com GRsecurity e PaX
 
Strategies to handle Phishing attacks
Strategies to handle Phishing attacksStrategies to handle Phishing attacks
Strategies to handle Phishing attacks
 
Temas 2. 4 2.5
Temas 2. 4   2.5Temas 2. 4   2.5
Temas 2. 4 2.5
 
Analisis de la Principales Obras del Neoclasicismo y Post-Impresionismo
Analisis de la Principales  Obras del Neoclasicismo y  Post-ImpresionismoAnalisis de la Principales  Obras del Neoclasicismo y  Post-Impresionismo
Analisis de la Principales Obras del Neoclasicismo y Post-Impresionismo
 
S3 a1 soloriop_tanya
S3 a1 soloriop_tanyaS3 a1 soloriop_tanya
S3 a1 soloriop_tanya
 
alarm anti-theft system
alarm anti-theft system  alarm anti-theft system
alarm anti-theft system
 
UIS relevant work on teacher’s motivation
UIS relevant work on teacher’s motivationUIS relevant work on teacher’s motivation
UIS relevant work on teacher’s motivation
 
El impacto del internet en la actualidad
El impacto del internet en la actualidadEl impacto del internet en la actualidad
El impacto del internet en la actualidad
 
Recetas AMH
Recetas AMHRecetas AMH
Recetas AMH
 
Engineer_organaser
Engineer_organaserEngineer_organaser
Engineer_organaser
 
Paper1
Paper1Paper1
Paper1
 
EDICION DE CELDAS
EDICION DE CELDASEDICION DE CELDAS
EDICION DE CELDAS
 
Tema 3 3.1
Tema 3   3.1Tema 3   3.1
Tema 3 3.1
 

Similar to Redshift - Um rootkit para o kernel do FreeBSD

Segurança em Servidores Linux - Ênfase em RHEL
Segurança em Servidores Linux - Ênfase em RHELSegurança em Servidores Linux - Ênfase em RHEL
Segurança em Servidores Linux - Ênfase em RHELAlessandro Silva
 
Debian 6: Instalação e Hardening
Debian 6: Instalação e HardeningDebian 6: Instalação e Hardening
Debian 6: Instalação e HardeningBruna Griebeler
 
Instalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosInstalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosAlexandre Almeida
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux EmbarcadoDiego Sueiro
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livreDiego Santos
 
1os passoscisco
1os passoscisco1os passoscisco
1os passoscisconogueira
 
A crash course on Crash (FISL12)
A crash course on Crash (FISL12)A crash course on Crash (FISL12)
A crash course on Crash (FISL12)Rafael Aquini
 
Implantação de sistemas desegurança com linux
Implantação de sistemas desegurança com linuxImplantação de sistemas desegurança com linux
Implantação de sistemas desegurança com linuxSoftD Abreu
 
Desenvolvimento seguro
Desenvolvimento seguroDesenvolvimento seguro
Desenvolvimento seguroMarcelo Fleury
 
Projeto de uma controladora de drivers
Projeto de uma controladora de driversProjeto de uma controladora de drivers
Projeto de uma controladora de driversRodrigo Almeida
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcadotdc-globalcode
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL Brasil
 
sys._current_frames(), Radiografando seu software em tempo real
 sys._current_frames(), Radiografando seu software em tempo real sys._current_frames(), Radiografando seu software em tempo real
sys._current_frames(), Radiografando seu software em tempo realLeonardo Rochael Almeida
 
Resumo comandos cisco
Resumo comandos ciscoResumo comandos cisco
Resumo comandos ciscoAllan Alencar
 
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Tchelinux
 
Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores LinuxAlessandro Silva
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosRodrigo Almeida
 
SE Linux For Everyday SysAdmins
SE Linux For Everyday SysAdminsSE Linux For Everyday SysAdmins
SE Linux For Everyday SysAdminsUlisses Castro
 

Similar to Redshift - Um rootkit para o kernel do FreeBSD (20)

Segurança em Servidores Linux - Ênfase em RHEL
Segurança em Servidores Linux - Ênfase em RHELSegurança em Servidores Linux - Ênfase em RHEL
Segurança em Servidores Linux - Ênfase em RHEL
 
Debian 6: Instalação e Hardening
Debian 6: Instalação e HardeningDebian 6: Instalação e Hardening
Debian 6: Instalação e Hardening
 
Instalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosInstalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutos
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
 
1os passoscisco
1os passoscisco1os passoscisco
1os passoscisco
 
A crash course on Crash (FISL12)
A crash course on Crash (FISL12)A crash course on Crash (FISL12)
A crash course on Crash (FISL12)
 
Implantação de sistemas desegurança com linux
Implantação de sistemas desegurança com linuxImplantação de sistemas desegurança com linux
Implantação de sistemas desegurança com linux
 
Desenvolvimento seguro
Desenvolvimento seguroDesenvolvimento seguro
Desenvolvimento seguro
 
Secomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao ElixirSecomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao Elixir
 
Projeto de uma controladora de drivers
Projeto de uma controladora de driversProjeto de uma controladora de drivers
Projeto de uma controladora de drivers
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI Tecnologia
 
sys._current_frames(), Radiografando seu software em tempo real
 sys._current_frames(), Radiografando seu software em tempo real sys._current_frames(), Radiografando seu software em tempo real
sys._current_frames(), Radiografando seu software em tempo real
 
Resumo comandos cisco
Resumo comandos ciscoResumo comandos cisco
Resumo comandos cisco
 
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
 
Seguranca em Servidores Linux
Seguranca em Servidores LinuxSeguranca em Servidores Linux
Seguranca em Servidores Linux
 
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COMTutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
Tutorial: Instalação do Linaro Ubuntu na Gumstix Overo® Fire COM
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcados
 
SE Linux For Everyday SysAdmins
SE Linux For Everyday SysAdminsSE Linux For Everyday SysAdmins
SE Linux For Everyday SysAdmins
 

More from Nullbyte Security Conference

Windows Internals: fuzzing, hijacking and weaponizing kernel objects
Windows Internals: fuzzing, hijacking and weaponizing kernel objectsWindows Internals: fuzzing, hijacking and weaponizing kernel objects
Windows Internals: fuzzing, hijacking and weaponizing kernel objectsNullbyte Security Conference
 
Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)
Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)
Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)Nullbyte Security Conference
 

More from Nullbyte Security Conference (6)

Speeding up Red Team engagements with carnivorall
Speeding up Red Team engagements with carnivorallSpeeding up Red Team engagements with carnivorall
Speeding up Red Team engagements with carnivorall
 
Gitminer 2.0 - Advance Search on Github
Gitminer 2.0 - Advance Search on GithubGitminer 2.0 - Advance Search on Github
Gitminer 2.0 - Advance Search on Github
 
Automatizando o abuso de repositórios expostos
Automatizando o abuso de repositórios expostosAutomatizando o abuso de repositórios expostos
Automatizando o abuso de repositórios expostos
 
Windows Internals: fuzzing, hijacking and weaponizing kernel objects
Windows Internals: fuzzing, hijacking and weaponizing kernel objectsWindows Internals: fuzzing, hijacking and weaponizing kernel objects
Windows Internals: fuzzing, hijacking and weaponizing kernel objects
 
Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)
Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)
Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)
 
Is rust language really safe?
Is rust language really safe? Is rust language really safe?
Is rust language really safe?
 

Redshift - Um rootkit para o kernel do FreeBSD

  • 1. 1
  • 2. Redshift Um rootkit para o kernel do FreeBSD Anderson Eduardo andersonc0d3@gmail.com 2
  • 3. Agenda ★ sobre mim ★ Rootkit ○ tipos de rootkit ★ Redshift ○ O que é isso? ○ Comandos ○ técnicas ○ Módulos ★ Demonstração ★ Detecção ★ Futuro ★ dúvidas? 3
  • 4. sobre mim ★ quem? Email: Anderson eduardo < andersonc0d3@gmail..com > Twitter: @andersonc0d3 Github: @andersonc0d3 ★ O que eu faço? Security researcher ★ Principais interesses kernel, rootkit, virtualização, sistemas operacionais, ciência da computação skateboard, matemática, física, neurociência ★ Anteriormente Security analyst (Conviso application security, 3 anos) Exploit for CVE-2012-0217 (sysret) EXploit for CVE-2012-4576 (Freebsd’s linux compat subsystem ioctl) 4
  • 5. Motivação e AVISO LEGAL Este é o resultado de um trabalho pessoal e sem revisões prévias, nascido e mantido pelo seu único desenvolvedor, como uma forma de estudar os assuntos de seu interesse. Sendo assim, erros poderão ser cometidos nesta apresentação e peço desculpas desde já. Gostaria também de mencionar que este rootkit não tem nenhuma relação com outra pessoa ou entidade a não ser seu único desenvolvedor. 5
  • 6. Modos de operação de uma CPU ★ real mode ○ 16 bits ○ sem rings de proteção ○ acesso total ao hardware ★ protected mode ○ rings ○ paginação ○ 32 bits - 4G ★ virtual 8086 ○ DOS ★ long mode/IA-32e ○ paginação - 256 TB ○ Sem segmentação ○ amd64 canonical address - 48 bits de endereçamento ○ 64 bits registradores gerais etc.. ○ sub modo de compatibilidade 32 bits http://www.intel.com/Assets/en_US/PDF/manual/253668.pdf 6
  • 7. Modos de operação de uma CPU ★ SMM ○ 16 bits ○ SMRAM ■ Área da memória RAM somente acessível em SMM mode, invisível para o sistema operacional ○ Saved state map ○ SMI Handler provido pela BIOS/UEFI ○ usado para gerenciar erros críticos: energia/voltagem/aquecimento/erros do chipset por exemplo. http://www.intel.com/Assets/en_US/PDF/manual/253668.pdf 7
  • 8. Modos de operação de uma CPU http://www.intel.com/Assets/en_US/PDF/manual/253668.pdf 8
  • 9. Níveis de privilégio - modo protegido https://en.wikipedia.org/wiki/Protection_ring#/media/File:Priv_rings.svg 9
  • 10. Rootkit “A rootkit is a collection of computer software, typically malicious, designed to enable access to a computer or areas of its software that would not otherwise be allowed (for example, to an unauthorized user) while at the same time masking its existence or the existence of other software.” https://en.wikipedia.org/wiki/Rootkit 10
  • 12. Tipos de rootkit ★ ring 3 - userland ★ ring 0 - kernel/bootkit ★ ring -1 - hypervisor ★ ring -2 - SMM (System management mode) ★ ring -3 - Intel management/manageability engine (ME) ★ hardware/Firmware rootkits 12
  • 13. tipos de rootkit - ring 3 ★ ring 3 - userland ○ Sobrescrever/alterar binário do sistema operacional ■ ps, ls, netstat, top, last, w ■ sshd ■ apached/httpd ■ smbd ○ Ptrace() syscall 13
  • 14. tipos de rootkit - ring 0 ★ ring 0 - kernel/bootkit ★ Necessário acesso root ○ Carregar módulo no kernel ○ sobrescrever bootloader ★ principal vetor de ataque para outros níveis ★ Acesso total ao hardware ★ bootkits ○ Utilizado para atacar o kernel, e.g: desabilitar patchguard ○ interceptar senhas e ataques contra full-disk encryption - Stoned bootkit [1] ○ infecta MBR/VBR, altera (hook) IVT da BIOS, carrega bootloader do sistema operacional, reganha acesso 14
  • 15. tipos de rootkit - ring 0 ★ Exemplos de rootkits em ring 0 ○ redshift (FreeBSD) ○ suckit ○ diamorphine (Linux 2.6/3.X) [2] ○ babykit [3] ○ sutersu ○ stoned bootkit ○ e muito mais... 15
  • 16. tipos de rootkit - ring -1 https://en.wikipedia.org/wiki/Protection_ring 16
  • 17. tipos de rootkit - ring -1 ★ bluepill [4] ○ Joanna Rutkowska ○ windows vista x64 ○ Amd pacifica ★ subvirt [5] ○ Universidade de michigan and microsoft ○ windows xp e linux ★ vitriol [6] ○ dino dai zovi ○ Mac-os x ○ Intel vt-x 17
  • 18. tipos de rootkit - ring -2 ★ ring -2 - SMM (System management mode) ○ loic duflot [7] ■ Ataque para OpenBSD usando SMM para desabilitar securelevel¹ ○ A Real SMM Rootkit: Reversing and Hooking BIOS SMI Handlers, phrack edição 66, artigo 11 [8] 18
  • 19. tipos de rootkit - ring -3 ★ ring -3 - management engine / vpro based ★ Alexander Tereshkin e Rafal Wojtczuk ○ Introducing Ring -3 Rootkits [9] ■ Q35 chipset Q3'07 ■ independente da CPU ■ Ativo mesmo em S3 ■ Acesso remoto ■ Acesso a memória via DMA 19
  • 20. tipos de rootkit - hardware/firmware rootkits ★ BIOS/UEFI ○ How Many Million BIOSes Would you Like to Infect? [10] ○ Persistent BIOS Infection, phrack edição 66, artigo 7, anibal sacco e alfredo ortega [11] ○ DE MYSTERIIS DOM JOBSIVS Mac EFI Rootkits, snare [12] ○ A Real SMM Rootkit: Reversing and Hooking BIOS SMI Handlers [8] ★ PCI ○ John Heasman, Implementing and detecting PCI ROOTKITs [13] ○ João Batista e Bruno cardoso, Low level playground [14] ★ SCADA ○ stuxnet 20
  • 21. rootkits ★ QUem usa? ○ Lenovo, SONY e muitos outros que ainda não foram descobertos :) 21
  • 22. tipos de rootkit - Caso da lenovo http://www.zdnet.com/article/lenovo-rootkit-ensured-its-software-could-not-be-deleted/ 22
  • 23. tipos de rootkit - Caso da sony http://www.zdnet.com/article/lenovo-rootkit-ensured-its-software-could-not-be-deleted/ 23
  • 24. tipos de rootkit - Caso Eddie Raymond Tipton http://arstechnica.com/tech-policy/2015/04/prosecutors-suspect-man-hacked-lottery-computers-to-score-winning-ticket/ 24
  • 25. Redshift - O que é isso? ★ Rootkit pessoal para o kernel do freebsd (ring 0) ★ FreeBSD 10 ★ Userland handler ★ Nasceu em 2015 ★ Fácil de usar, flexível, atualizado, constante desenvolvimento, estável ★ Confiável, open-source ★ overlabs# ./redshift_handler COMMAND MODULE ARGS TECHNIQUE 25
  • 26. Redshift exemplos ★ overlabs# ./redshift_handler load ★ overlabs# ./redshift_handler status ★ overlabs# ./redshift_handler enable hide_module redshift syscall ★ overlabs# ./redshift_handler enable hide_process “./sniffer” syscall ★ overlabs# ./redshift_handler enable hide_FILE “senhas.txt” syscall ★ overlabs# ./redshift_handler enable give_root vsyscall ★ overlabs# ./redshift_handler status hide_module ★ overlabs# ./redshift_handler unload 26
  • 27. Redshift comandos ★ enable/disable ○ Habilita ou desabilita um módulo específico ★ load/unload ○ Carrega/descarrega o rootkit do kernel ★ Status ○ Status atual 27
  • 28. Redshift comandos ★ enable/disable ○ ./redshift_handler enable hide_file passwords.txt syscall ○ ./redshift_handler enable hide_process NULL 666 syscall ○ ./redshift_handler enable give_root vsyscall ★ load/unload ○ ./redshift_handler load ○ ./redshift_handler unload ★ Status ○ ./redshift_handler status 28
  • 29. Redshift técnicas ★ syscall ○ Altera o syscall handler de uma syscall específica ★ vsyscall ○ Altera o interrupt handler e simula uma syscall ★ debug registers ○ ALtera o interrupt handler de debug e simula uma syscall virtual ★ driver ○ Altera o handler específico do driver 29 ★ - Falta integrar ao redshift
  • 30. Técnica syscall ★ Altera syscall handlers ○ tabela de syscalls tem permissão de escrita ○ Ao desabilitar restaura o handler original ★ Fácil de detectar ○ Verificar se a tabela de syscalls foi alterada, checar integridade 30
  • 31. Técnica syscall ★ Hide_module ○ Altera as system calls para o redshift, 9 system calls ○ Restaurar os handlers originais, 9 system calls 31
  • 32. Técnica syscall ★ hide_file ○ Altera as system calls para o redshift 32
  • 33. Técnica syscall ★ hide_file ○ Restaurar os handlers originais 33
  • 34. técnica vsyscall - virtual syscall ★ substitui o interrupt handler ○ Interrupt descriptor table (IDT) - x86 ○ MSR LSTAR e MSR CSTAR - x86_64 ★ Simula uma syscall ○ simula a criação de uma nova syscall, Não altera a tabela das syscalls. ★ Fácil de detectar ○ Verificar alterações no MSR LSTAR 34 ★ - Falta integrar ao redshift
  • 35. Técnica vsyscall - virtual syscall ★ Alterando o MSR MSR_LSTAR 35
  • 36. Técnica vsyscall - virtual syscall ★ Restaurando o handler original 36
  • 37. Técnica debug registers ★ A melhor técnica a ser implementada no Redshift ○ Mais furtividade ○ Mais controle do sistema, permite se retirar silenciosamente ★ Técnica Bem descrita na phrack edição 65, artigo 08. [15] ★ outros rootkits ○ mood-nt, darkangel ○ DR rootkit, Immunity Inc [16] 37
  • 40. Técnica alterar driver ★ Driver do teclado ★ ALtera funções dinÂmicas do driver/kernel ○ Virtual file system (VFS) file operations etc. ★ Processo de detecção árduo ○ conhecer detalhes do sistema operacional e do driver 40 ★ - Falta integrar ao redshift
  • 41. Redshift modules ★ hide_file ○ Permite ao atacante esconder arquivos ★ hide_process ○ Permite ao atacante esconder processos por PID ou nome do processo ★ hide_module ○ permite ao atacante esconder módulos carregados no sistema ★ Give_root ○ Permite ao atacante ganhar acesso root ★ Keylogger ○ Permite ao atacante capturar teclas pressionadas no teclado ★ Disable mitigations ○ permite ao atacante desabilitar mitigações do sistema (securelevel, map_at_zero) ★ Escape sandbox ○ Permite ao atacante desabilitar sandbox capsicum do sistema 41 ★ - Falta integrar ao redshift
  • 42. Redshift modules - HIDE_FILE ★ Esconde arquivos ★ Utiliza técnica de alterar a tabela de syscalls ★ Ideia principal Alterar o handler da syscall getdirentries ★ Altera ao total 12 system calls ★ bypassável se usando link simbólicos ○ A ser corrigido em breve ★ ./redshift_handler enable hide_file “senhas.txt” syscall 42
  • 43. Redshift modules - HIDE_FILE 43
  • 44. Redshift modules - HIDE_PROCESS ★ Esconde processo por PID ou nome do processo ★ Evita ptrace() e kill() ★ Utiliza técnica de alterar a tabela de syscalls ★ userland obtém lista de processos através da interface sysctl ○ altera sysctl handler para o redshift 44
  • 45. Redshift modules - HIDE_PROCESS ★ Habilitando módulo ★ Desabilitando módulo 45
  • 46. Redshift modules - HIDE_MODULE ★ Esconde módulos ★ Utiliza técnica de alterar a tabela de syscalls ★ Altera 9 system calls, utilizadas pelo comando kldstat ○ kldstat(), kldfind(), kldnexT(), kldfirstmod(), modstat(), modfind(), modnext(), modfnext() 46
  • 47. Redshift modules - GIVE ROOT ★ Permite escalação de privilégios ★ Utiliza a técnica vsyscall ★ Altera o MSR (Machine SPecific register) ○ Específico para cada cpu, utilizar processor affinity (cpuset) ao executar o handler ○ cpuset -l CORE ./redshift_handler enable give_root vsyscall 47
  • 48. Redshift modules - GIVE ROOT 48
  • 50. Detecção e fraquezas ★ Olhar as alocações dinâmicas ○ vmstat -m ○ A ser corrigido em breve ★ Bypass do módUlo hide_file usando links simbólicos ○ ./redshift_handler enable hide_filE senhas_clientes.txt syscall ○ ln -s senhas_clientes.txt abcd; cat ABCD ○ A ser corrigido em breve (namei API) ★ Redshift somente altera o kernel do sistema operacional, mascarando a visão do usuário do sistema. Uma análise mais aprofundada permite o bypass de todos os módulos do redshift 50
  • 52. Detecção e fraquezas - KLDSYM 52
  • 53. Futuro do redshift ★ Networking ○ Gerenciamento do rootkit remotamente ■ ./redshift_handler COMMAND MODULE ARGUMENT TECHNIQUE IP ★ Suporte a código 32 bits ★ Melhorar furtividade ★ Mais técnicas de hook ★ Persistência? ★ Descer o nível - TLB SPLIT, SMM, UEFI/BIOS e virtualização ★ Melhorar comunicação handler -> redshift ★ Melhorar código ★ portar para linux? ★ Corrigir bugs ○ Implementar mecanismos de locking para evitar races ○ melhorar interface entre handle e o redshift 53
  • 54. Referências 1. Stoned bootkit a. https://www.blackhat.com/presentations/bh-usa-09/KLEISSNER/BHUSA09-Kleissner-Sto nedBootkit-SLIDES.pdf 2. Diamorphine a. https://github.com/m0nad/Diamorphine 3. BABYKIT a. https://github.com/rick2600/babykit 4. Introduction to bluepill a. https://www.coseinc.com/en/index.php?rt=download&act=publication&file=Introduci ng%20Blue%20Pill.ppt.pdf 5. SubVirt: Implementing malware with virtual machines a. http://web.eecs.umich.edu/~pmchen/papers/king06.pdf 6. Hardware virtualization rootkit a. https://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Zovi.pdf 7. Using CPU System Management Mode to Circumvent Operating System Security Functions a. http://fawlty.cs.usfca.edu/~cruse/cs630f06/duflot.pdf 8. A Real SMM Rootkit: Reversing and Hooking BIOS SMI Handlers a. http://phrack.org/issues/66/11.html 9. Introducing Ring -3 Rootkits a. http://me.bios.io/images/6/61/Ring_-3_Rootkits.pdf 10. How Many Million BIOSes Would you Like to Infect? a. http://www.legbacore.com/Research_files/HowManyMillionBIOSWouldYouLikeToInfe ct_Full2.pdf 54
  • 55. Referências 11. Persistent BIOS Infection a. http://phrack.org/issues/66/7.html 12. DE MYSTERIIS DOM JOBSIVS Mac EFI Rootkits a. http://ho.ax/De_Mysteriis_Dom_Jobsivs_Black_Hat_Paper.pdf 13. implementing and detecting PCI rootkit a. https://www.blackhat.com/presentations/bh-dc-07/Heasman/Paper/bh-dc-07-Heasma n-WP.pdf 14. Low Level Playground a. http://www.h2hc.org.br/repositorio/2008/Joao.pdf 15. Mistifying the debugger, ultimate stealthness a. http://phrack.org/issues/65/8.html 16. DR rootkit a. http://seclists.org/dailydave/2008/q3/215 55