Tipos de Rootkit por Nível
1. User-Mode Rootkits
-- Executam no Ring 3 (espaço de usuário)
-- Mais fáceis de criar, menos poderosos
-- Hooks em APIs do Windows (DLL injection)
-- Interceptam chamadas de: CreateProcess, FindFirstFile, RegQueryValue
-- Objetivo: ocultar processos, arquivos e chaves de registro
-- Técnica: IAT hooking (modifica Import Address Table)
-- O malware substitui endereço de função por ponteiro para código malicioso
-- API retorna versão filtrada (sem o malware)
-- Técnica: DLL injection + API hooking
-- Injeta DLL em todos os processos
-- Hook em ntdll.dll (base de todas as APIs)
-- Detecção: comparar IAT com código original; GMER; Rootkit Revealer2. Kernel-Mode Rootkits (Ring 0)
-- O mais poderoso — executam no kernel
-- Acesso irrestrito ao hardware e memória
-- Driver malicioso carregado no kernel
-- DKOM — Direct Kernel Object Manipulation
-- Manipula estruturas de dados do kernel diretamente na memória
-- Remove entry do processo da lista EPROCESS (invisível para tasklist, ps)
-- Remove conexão de rede da lista de sockets
-- Sem API calls — forense tradicional não detecta
-- Exemplo: remover processo da lista duplamente encadeada
-- EPROCESS contém Flink/Blink (ponteiros da lista)
-- Remover entry = desconectar processo da lista sem removê-lo da memória
-- Processo continua executando, mas SO não o vê
-- SSDT Hooking (System Service Descriptor Table)
-- Modifica tabela de syscalls do kernel
-- NtQuerySystemInformation → versão filtrada
-- NtOpenProcess → retorna erro para ocultar processo
-- Detecção:
-- Comparar SSDT com versão original (lida do kernel em disco)
-- Volatility: pslist (via lista EPROCESS) vs psscan (varre memória física)
-- Diferença = processos ocultos por DKOM3. Bootkits
-- Infectam o setor de boot antes do SO carregar
-- Executam antes de qualquer software de segurança
-- Persistem entre reinstalações do Windows
-- MBR (Master Boot Record) Bootkits — estilo antigo
-- Substituem o MBR por código malicioso
-- Carregam malware antes do bootloader do Windows
-- Exemplos históricos: Rovnix, Sinowal, TDL3
-- VBR (Volume Boot Record) — mais moderno
-- Substitui o VBR da partição do sistema
-- Detecção:
-- Comparar MBR/VBR com original
-- Verificar assinaturas de boot fora do normal4. UEFI Rootkits (Firmware)
-- O mais avançado — reside no firmware UEFI da placa-mãe
-- Sobrevive a: formatação, reinstalação do OS, troca de HD
-- Só removível com re-flash do firmware ou troca da placa-mãe
-- LoJax (Fancy Bear / APT28 — 2018)
-- Primeiro UEFI rootkit em ataques reais confirmados
-- Modificou módulo UEFI legítimo (LoJack software de recuperação)
-- Persiste no SPI flash da motherboard
-- CosmicStrand (APT chinesa, 2022)
-- Infecta o firmware de motherboards Gigabyte e ASUS
-- Sobrevive a múltiplas reinstalações
-- Injeta shellcode no boot do Windows antes do kernel carregar
-- MoonBounce (2022)
-- Modifica CORE_DXE na UEFI
-- Extremamente sofisticado
-- Detecção:
-- Ferramentas de firmware: chipsec, UEFI scanner da Kaspersky
-- Monitorar write-access ao SPI flash (hardware-based)
-- Secure Boot com DBX atualizado ajuda (mas pode ser contornado)Técnicas de Ocultação
-- Ocultar processos
-- DKOM: remover da lista EPROCESS
-- Técnica dupla: também ocultar handles, threads, módulos
-- Ocultar arquivos
-- Hook em NtQueryDirectoryFile — filtrar entries do diretório
-- Filtro-minidriver: interceptar IRP_MJ_DIRECTORY_CONTROL no kernel
-- Ocultar conexões de rede
-- Hook em NtDeviceIoControlFile para TDI/WFP
-- NDIS filter driver: ocultar pacotes de ferramentas de análise
-- Ocultar entradas de registro
-- Hook em NtEnumerateKey, NtQueryKey
-- Ocultar módulos do kernel
-- Remover driver da lista de módulos carregados (PsLoadedModuleList)
-- Mas ainda visível em MmLdrDataTableEntry e mapa de memória
-- Timestomp
-- Modificar timestamps de arquivos para dificultar forense
-- Metadados de criação/modificação alteradosAnálise e Detecção
# Volatility — análise de dump de memória
pip install volatility3
# Identificar processos ocultos por DKOM
vol.py -f memory.dmp windows.pslist # lista via EPROCESS
vol.py -f memory.dmp windows.psscan # scan de memória física
vol.py -f memory.dmp windows.pstree
# Comparar: processo em psscan mas não em pslist = DKOM hiding
# Detectar hooks em SSDT
vol.py -f memory.dmp windows.ssdt
# Analisar drivers carregados
vol.py -f memory.dmp windows.modules
vol.py -f memory.dmp windows.modscan
# Detectar módulos ocultos
vol.py -f memory.dmp windows.ldrmodules
# Analisar conexões de rede
vol.py -f memory.dmp windows.netstat
vol.py -f memory.dmp windows.netscan
# Extrair arquivo executável da memória
vol.py -f memory.dmp windows.dumpfiles --pid 1234
# GMER — detector de rootkits para Windows
# Verifica SSDT, IDT, DKOM, hidden drivers
# Download: gmer.net
# Capturar dump de memória
# Windows: WinPmem, DumpIt, Magnet RAM Capture
# Linux: LiME (Linux Memory Extractor) via módulo de kernelPrevenção
- Secure Boot — verifica assinatura do bootloader; bloqueia bootkits não assinados
- UEFI com Secure Boot + MOK — garantir que UEFI não foi modificado via chipsec regularmente
- Kernel Patch Guard (KPG) — Windows protege estruturas críticas do kernel contra modificação; impossibilita muitas técnicas de SSDT hooking
- Driver Signature Enforcement — Windows 64-bit exige que drivers sejam assinados; rootkits usam BYOVD para contornar
- Virtualização de Segurança — VBS (Virtualization Based Security) + HVCI no Windows protege kernel memory
- Monitoramento de Firmware — ferramentas como chipsec para verificar integridade do UEFI
Quer testar isso na prática?
A CyberZ realiza testes autorizados de segurança usando as técnicas descritas neste artigo — e muito mais. Identifique suas vulnerabilidades antes que os invasores o façam.
Falar com Especialista