Deteção de Rootkit no Linux: Ferramentas e técnicas
10 min de leitura - 16 de maio de 2026

Como detetar e prevenir rootkits Linux usando chkrootkit, rkhunter, Auditd, AIDE e monitorização comportamental nos seus servidores.
Deteção de Rootkit no Linux: Ferramentas e técnicas para a segurança do servidor
Os rootkits dão aos atacantes acesso persistente e oculto aos sistemas Linux. Manipulam as operações do kernel, escondem ficheiros e processos e evitam as ferramentas de segurança padrão. Alguns passaram despercebidos durante anos. Detectá-los requer uma abordagem em camadas, porque nenhuma ferramenta única detecta tudo.
Esta publicação aborda os principais tipos de rootkits do Linux, como os detetar e as técnicas de monitorização avançadas que detectam o que os scanners básicos não detectam.
Tipos de Rootkits Linux
Os rootkits operam em diferentes níveis de privilégios e, quanto mais profundos estiverem, mais difíceis de encontrar.
Os rootkits em modo de utilizador funcionam ao nível da aplicação (Anel 3). Eles sequestram a ligação dinâmica usando LD_PRELOAD para injetar bibliotecas maliciosas que interceptam funções padrão da biblioteca C como readdir ou fopen, escondendo ficheiros e processos das ferramentas do userland.
Os rootkits no modo kernel são executados no anel 0, carregando como módulos de kernel carregáveis (LKMs). Interceptam chamadas de sistema, manipulam a memória do kernel e escondem a sua própria presença. Como estão ligados a versões específicas do kernel, um mal configurado pode causar um kernel panic, o que ironicamente o expõe.
os rootkits baseados no eBPF exploram o subsistema Extended Berkeley Packet Filter para correr no espaço do kernel sem carregar um módulo tradicional. Eles se ligam a ganchos de syscall, tracepoints ou eventos LSM. Os scanners LKM padrão não os vêem. O Boopkit é uma prova de conceito bem conhecida que cria um canal C2 secreto utilizando esta abordagem.
os rootkits baseados em io_uring são a variante mais recente. Utilizam a interface de E/S assíncrona io_uring para operações em lote, gerando menos eventos syscall observáveis. O RingReaper, um rootkit experimental, demonstrou como este pode substituir silenciosamente chamadas como ler, escrever e ligar, evitando as ferramentas EDR.
| Tipo de Rootkit | Nível de privilégio | Método de encobrimento | Dificuldade de deteção |
|---|---|---|---|
| Modo de utilizador | Anel 3 (Utilizador) | LD_PRELOAD, sequestro de biblioteca | Moderado |
| Modo Kernel | Anel 0 (Kernel) | Tabela de Syscall, LKM, hooking em linha | Elevado |
| baseado em eBPF | Anel 0 (Kernel) | anexação de programa eBPF | Muito elevado |
| io_uring-based | Utilizador/Kernel | Loteamento assíncrono de E/S | Muito alta |
Verificação com chkrootkit e rkhunter
Duas ferramentas constituem a base para a deteção de rootkits em servidores Linux: o chkrootkit para análises rápidas e o rkhunter para verificações mais profundas.
chkrootkit
o chkrootkit é um script de shell que verifica os binários críticos do sistema(ls, ps, netstat, sshd, ifconfig) em busca de sinais de adulteração. Ele também detecta interfaces de rede promíscuas e logs apagados. A partir da versão 0.59 (janeiro de 2026), consegue identificar mais de 75 rootkits, worms e LKMs, incluindo ameaças mais recentes como o Linux BPFDoor, Syslogk e o XZ Backdoor.
Execute-o após qualquer atividade suspeita. Preste atenção aos avisos do componente ifpromisc e aos alertas sobre ficheiros lastlog ou wtmp eliminados.
rkhunter
o rkhunter vai mais longe. Compara hashes SHA-1 de binários do sistema com valores conhecidos como bons, monitoriza permissões de ficheiros e ficheiros ocultos, verifica configurações de arranque e efectua análises do kernel e da rede.
Configure-o corretamente desde o início:
# Establish a baseline after a clean install or update
rkhunter --propupd
# Update rootkit definitions
rkhunter --update
# Run a full scan (use --novl on production servers to reduce I/O)
rkhunter --check --enable all
Para análises diárias automatizadas, defina CRON_DAILY_RUN="true" em /etc/rkhunter.conf e use --skip-keypress e --report-warnings-only para uma saída limpa. Reveja os registos em /var/log/rkhunter.log e coloque na lista branca os falsos positivos confirmados.
Detectando rootkits LKM
Os rootkits LKM são particularmente perigosos porque operam como extensões do kernel, interceptando chamadas de sistema e escondendo processos ao nível do kernel. Ferramentas padrão como o lsmod não os vêem, mas há formas de os detetar.
Compare a saída do lsmod com as listagens de /sys/module/. Verifique os logs do sistema para mensagens suspeitas do kernel:
# Look for out-of-tree module warnings
sudo dmesg | grep "loading out-of-tree module taints kernel"
# Check for module verification failures
grep "module verification failed" /var/log/syslog
# Run chkrootkit's LKM-specific check
sudo chkrootkit lkm
Mesmo os rootkits que se escondem do lsmod e do /proc/modules (como o Diamorphine) ainda podem ser encontrados verificando /sys/module/diamorphine/coresize ou revisando os avisos do syslog.
Deteção avançada: Monitorização do comportamento e verificações de integridade
Os scanners estáticos têm uma fraqueza fundamental. Numa experiência de 2026, adicionar um único byte nulo a um binário de rootkit, uma alteração que não afecta a funcionalidade, reduziu drasticamente as taxas de deteção. As detecções do Diamorphine caíram de 33/66 para 8/64 apenas com a remoção das suas tabelas de símbolos. Confiar apenas nas assinaturas não é suficiente.
Análise de comportamento
Em vez de perguntar "este ficheiro corresponde a um rootkit conhecido?", a análise de comportamento pergunta "este processo está a fazer algo invulgar?" Monitorize estes sinais:
- Use o Auditd para observar as chamadas de sistema
init_module()efinit_module(), que carregam módulos do kernel independentemente do método. - Monitorizar as chamadas
kill()com sinais acima de 31, que podem indicar comunicação secreta de rootkit. - Verifique
/proc/sys/kernel/taintedpara atividade não autorizada do módulo do kernel. - Verificar se há ficheiros
.soinesperados em/tmpou/dev/shm. - Rastreie a atividade do eBPF, particularmente as chamadas
bpf_probe_write_user. Ferramentas como o BCC podem rastrear operações io_uring através de tracepoints comosys_enter_io_uring_enter.
Especificamente para rootkits eBPF e io_uring, ferramentas de monitorização em tempo de execução como Tetragon, Falco e Tracee podem observar a atividade no kernel em tempo real.
Monitorização da integridade dos ficheiros
AIDE (Advanced Intrusion Detection Environment) cria uma linha de base de ficheiros de sistema de confiança e verifica se há alterações. Inicialize com aide --init, depois agende aide --check via cron. Ele rastreia somas de verificação, permissões, propriedade e registros de data e hora em binários críticos como /bin/login e /usr/bin/sshd.
Para verificação ao nível do pacote, debsums (Debian/Ubuntu) ou rpm -Va (RHEL/CentOS) podem confirmar a integridade dos ficheiros do sistema. Para obter os resultados mais fiáveis, arranque a partir de um meio de recuperação fiável e inspeccione o sistema de ficheiros offline, uma vez que os rootkits podem adulterar os relatórios de um kernel em execução.
Monitorize também os mecanismos de persistência. Rootkits frequentemente modificam /etc/ld.so.preload para injetar objetos compartilhados, ou alterar .bashrc e .profile. Alterações legítimas nestes ficheiros são raras, por isso os alertas aqui têm uma elevada relação sinal-ruído.
Monitoramento automatizado com Auditd
Adicione estas regras a /etc/audit/rules.d/rootkit.rules para deteção em tempo real de atividade suspeita do kernel:
# Detect unauthorized kernel module loading
-a always,exit -F arch=b64 -S finit_module -S init_module
# Catch unusual high-range kill signals
-a always,exit -F arch=b64 -S kill -F a1>=32
Combine-as com as actualizações automáticas do rkhunter. Defina UPDATE_MIRRORS=1 e MIRRORS_MODE=0 na configuração, e execute rkhunter --propupd após atualizações legítimas do sistema para atualizar a linha de base.
Reforçar o seu servidor contra Rootkits
A deteção é importante, mas a prevenção é melhor. A maioria dos rootkits requer privilégios elevados para serem instalados, pelo que a redução da superfície de ataque faz uma diferença real.
Mantenha o kernel e os pacotes actualizados. Os atacantes exploram vulnerabilidades não corrigidas para aumentar os privilégios e instalar rootkits baseados em LKM ou eBPF. Após a aplicação de patches, actualize as suas linhas de base de deteção com rkhunter --propupd.
Imponha o privilégio mínimo. Não dê aos utilizadores ou processos mais acesso do que o necessário. Utilize SELinux ou AppArmor para controlos de acesso obrigatórios que bloqueiam acções não autorizadas mesmo que um processo esteja comprometido.
Desativar o carregamento do módulo do kernel após a inicialização. Em servidores dedicados, você pode prevenir rootkits LKM completamente bloqueando o carregamento de módulos após o sistema iniciar. Isto não é possível em alojamento partilhado, o que é uma das razões pelas quais os ambientes dedicados ou VPS oferecem uma postura de segurança mais forte.
Segmente sua rede. O isolamento de partes da sua infraestrutura limita o movimento lateral se uma máquina for comprometida.
Faça auditorias regularmente. Ferramentas como o Lynis podem identificar erros de permissão e configurações incorrectas antes de os atacantes os explorarem.
Conclusão
Os rootkits são concebidos para se esconderem à vista de todos. Na altura em que os sintomas aparecem, o sistema pode já estar comprometido para além de uma recuperação fácil. Nenhum scanner único detecta tudo, e a deteção básica baseada em assinaturas é fácil de contornar.
Uma defesa prática combina várias camadas:
- Verificações regulares com chkrootkit e rkhunter para ameaças conhecidas
- Regras Auditd e monitorização do comportamento para atividade suspeita do kernel
- Monitorização da integridade dos ficheiros com o AIDE para detetar alterações não autorizadas
- Ferramentas de tempo de execução como Tetragon ou Falco para eBPF e ameaças io_uring
- Controlos de acesso reforçados, aplicação de patches e segmentação da rede para reduzir a superfície de ataque
Automatize o que puder, mantenha as linhas de base atualizadas e comece com uma instalação limpa do sistema operacional em que você confia.
A FDC Servers oferece hospedagem dedicada e VPS com acesso total à raiz e configurações de kernel personalizáveis. Explore as opções de servidores dedicados para criar um ambiente Linux reforçado.

Cansado de implementações lentas ou limites de largura de banda? A FDC Servers oferece potência dedicada instantânea, alcance global e planos flexíveis criados para qualquer escala.
Atualizar agora
Lista de verificação de endurecimento do servidor Linux
Lista de verificação passo-a-passo para fortalecer um servidor Linux. Abrange SSH, firewalls, aplicação de patches, permissões de ficheiros, SELinux/AppArmor e registo de auditoria
15 min de leitura - 8 de maio de 2026
tutorial do iperf3: Testar a velocidade da rede no Linux e no Windows
10 min de leitura - 7 de maio de 2026