Usando “caçadores” de rootkits no Linux

Por mais que muitos digam que o Linux não “pega” vírus, o que eu considero até um certo ponto verdade, nada (absolutamente) assegura 100% que estamos realmente livres de algum tipo de malware. Minha humilde opinião é que sofremos até um risco em potencial maior graças aos rootkits.

Segundo o Wikipedia:

Um rootkit é um programa com codigo mal intencionado que busca se esconder de softwares de segurança e do usuário utilizando diversas técnicas avançadas de programação.

Rootkits escondem a sua presença no sistema, escondendo suas chaves no registro (para que o usuário não possa vê-las) e escondendo os seus processos no Gerenciador de Tarefas, além de retornar sempre erros de “arquivo inexistente” ao tentar acessar os arquivos relacionados.

Rootkits também utilizam-se, muitas das vezes, de drivers, isto é, arquivos de sistema para o funcionamento de hardware, para se esconderem de antivírus, que ao lidarem com essas situações, irão “pensar” que o rootkit é um serviço legítimo do sistema operacional.

Diversos tipos de código mal intencionado utilizam essas tecnologias com o objetivo de dificultar sua remoção e o fazem com sucesso: os rootkits mais avançados são bem difíceis de serem removidos. Poucos antivirus hoje conseguem identificar e eliminar essas pragas.

Vamos mostrar recursos de verificação para o Linux para identificar estas ameaças.

rkhunter

O rkhunter é uma ferramenta que ajuda a verificar se o sistema está livre de aplicações maliciosas. Ele procura por rootkits, backdoors e invasores locais, através de testes como:
– comparação do MD5
– procura de arquivos padrão usados pelos rootkits
– procura de permissões erradas para arquivos binários
– procura de strings suspeitas nos módulos LKM e KLD
– procura de arquivos escondidos
– varredura opcional de arquivos binários e de texto puro

apt-get update
apt-get install rkhunter
rkhunter --update

O programa também pergunta se você deseja usar o cron para agendar varreduras a intervalos regulares.

Para rodar o rkhunter:
rkhunter -c

Favor ler as páginas de manual (manpages) para explicações completas de todas as opções :

man rkhunter

Site do rkhunter

chkrootkit

O chkrootkit é outra ferramenta que verifica a existência de sinais de rootkits. Como seus testes são diferentes do rkhunter, o ideal é instalar e rodar ambos.

apt-get install chkrootkit
Para varrer seu HD usando o chkrootkit
chkrootkit

O chkrootkit busca estes tipos de definições:

ifpromisc.c

verifica se a interface está no modo promíscuo

chklastlog.c

verifica deleções de lastlog

chkproc.c

verifica existência de sinais de cavalos-de-tróia no LKM

chkdirs.c

idem

strings.c

verifica substituições de strings por outras mal-escritas

chkutmp.c

verifica deleções de utmp Site do chkrootkit