Warning: Invalid argument supplied for foreach() in /home/hugodoria/hdoria.archlinux-br.org/blog/wp-includes/classes.php on line 255
Procurando rootkits no seu sistema | Hugo Doria

Procurando rootkits no seu sistema

Rootkits são ferramentas utilizadas, geralmente, com o objetivo de ocultar a presença de invasores nas máquinas. Com essas ferramentas alguém não-autorizado, mas que já conseguiu entrar na máquina, pode ter controle sobre a máquina e nem ser notado.

Muitos rootkits acompanham uma gama de binários (como o ls, ps, who, find etc) modificados para que os processos rodados pelo invasor não possam ser vistos pelo administrador da máquina. Além disso, muitos vírus atuais utilizam rootkits.

Existem dois aplicativos que podem te ajudar a detectar rootkits no seu sistema: rkhunter e chkrootkit. A seguir eu mostro como instalar e executar ambos.

Usando o rkhunter

Para instalar o rkhunter faça:

No Arch Linux:

# pacman -Sy rkhunter

No Ubuntu (e derivados):

# apt-get install rkhunter

Antes de checar o sistema com o rkhunter execute os dois comandos abaixo:

# rkhunter --propupd
# rkhunter --update

O primeiro comando atualiza a base com as propriedades dos arquivos e o seguindo atualiza a base do rkhunter.

NOTA: O wordpress anda convertendo os dois hífens para um só. Nos comandos acima são dois hífens, então preste atenção na hora de usá-los.

Depois de tudo atualizado você pode checar seu sistema com o comando:

# rkhunter -c

A saída do rkhunter é colorida e bem simples de se ler. Ele checa diversas coisas no sistema e sempre que um item estiver OK (ou Not found), ele marca em verde. Quando não, aparece um WARNING em vermelho.

Se você quiser que apenas os WARNINGs aparecem na tela faça

# rkhunter -c --rwo

No final de tudo o rkhunter mostrar um resumo do que aconteceu:

resumo do rkhunter

Todo o log da operação é armazenado, por padrão, em /var/log/rkhunter.log. Você pode sempre consultá-lo. Para mudar o arquivo do log use:

# rkhunter -c -l /caminho/para/seu/arquivo.log

Você pode, também, fazer com que o rkhunter te envie um email sempre que encontrar algum WARNING. Para isso abra o arquivo /etc/rkhunter.conf e procure a linha que começa com "#MAIL-ON-WARNING". Descomente-a e atribua seu email a ela. Fica algo assim:

MAIL-ON-WARNING=fulano@empresa.com

Acho que isto é suficiente para que você possa rodar o rkhunter com sucesso. ;)

Recomendo que você dê uma olhada na man page. Lá, e no site do rkhunter,você pode encontrar estas e outras opções com mais detalhes:

$ man rkhunter

Usando o chkrootkit

Eu acho o chkrootkit um pouco mais limitado que o rkhunter, mas ele não deixa de ser útil. Para instalá-lo faça:

No Arch Linux:

# pacman -Sy chkrootkit

No Ubuntu (e derivados):

# apt-get install chkrootkit

Para scanear o sistema rode:

# chkrootkit

E para usá-lo em modo avançado:

# chkrootkit -x

Caso o chkrootkit encontre algo ele mostrará um INFECTED na linha correspondente.

Se quiser, você pode rodar o chkrookit em outro dispositivo:

# chkrootkit -p /media/dispositivo

Para maiores informações rode "chkrootkit -h" (sem aspas) e visite o site do projeto.

Ah! E caso você tenha um mínimo de suspeita que seu sistema esteja infectado, não é recomendado usar essas ferramentas a partir do próprio sistema. O melhor, neste caso, é montar a partição em uma máquina 100% limpa e rodar as ferramentas de lá.



31 Responses to “Procurando rootkits no seu sistema”

  1. Então Hugo, como já tinha comentado com você esse post seria e foi muito bom, pena que essas ferramentas trabalham com base em assinaturas conhecidas e crackers ou hackers, sei lá como definir isso, utilizam cada vez mais ferramentas próprias considerada por eles priv8, private, ou simplesmente privadas o que torna mais ardua a detecção dos rootkits. Mas valeu mesmo por esse post muito didático.

    Parabéns mano…

  2. J. F. Mitre disse:

    Não conhecia esse rkhunter, muito bom, muito bom mesmo.
    Grato pela dica.

  3. ricsdeol disse:

    Olá o que faço quanto encontrar warnings segue o exemplo:

    Scanning for hidden files… [ Warning! ]
    —————
    /etc/.pwd.lock /dev/.static
    /dev/.udev
    /dev/.initramfs
    /dev/.initramfs-tools
    —————
    Please inspect: /dev/.static (directory) /dev/.udev (directory) /dev/.initramfs (directory)

    Obrigado

  4. corvolino disse:

    [root@infotec corvolino]# rkhunter -propupd
    Invalid option specified: -propupd
    [root@infotec corvolino]# rkhunter -update
    Invalid option specified: -update

    ????

    e agora? x)

    e o rkhunter -c não aconteceu nada! xP

  5. Hugo Doria disse:

    @Corvolino,

    Os comandos são:

    rkhunter – -propupd e rkhunter – -update (com os dois – juntos)

    O wordpress está com um problema. Ele concatena os dois –. Tenta aí e me avisa.

  6. corvolino disse:

    hdoria, eu scaniei e durante o processo apareceu alguns warning, e no final do processo o rkhunter me mostrou isto:

    File properties checks…
    Files checked: 116
    Suspect files: 3

    Rootkit checks…
    Rootkits checked : 114
    Possible rootkits: 0
    _____________________________________

    Ta suspeito de 3 arquivos/pasta infectado/vuneravel e em rootkit tem 0, não entendi. Outra, como faço para resolver esses 3 arquivos suspeitos?

    valeu!

  7. Marlon Petry disse:

    Opa

    Uma outra forma é verificar as portas que estão abertas e qual daemon abriu com o comando

    netstat -vantup

    Ótimo post !!

  8. Diogo Santos disse:

    O problema que esta acontecendo eh que o comando:

    # rkhunter –propupd

    so fuciona na versao 1.3.0, quem instalou direto provavelmente ta usando a versao 1.2.9.

    Por isso nao ta funcionando.

  9. cyber disse:

    idem ao que o corvolino disse

    tbm tenho uns warnings , mais coo tratar disso ??

    ou tem avisos que pode ser ignorado ?

    no artigo não fala ..

  10. cristo disse:

    Gostei pacas do rkhunter, e já encontrou três warnings nos diretórios e arquivos ocultos, pena que nem posso deletar nenhum deles já que são programas fundamentais do Ubuntu, nem são necessariamente arquivos malwares, mas eu acho estranho o fato do Ubuntu deixar arquivos e diretórios na pasta /etc ocultas

  11. corvolino disse:

    seria no /etc/groups ?

    =P

  12. Carlos Correa disse:

    Obrigado pela dica.
    Mas como faz para colocat um atalho para o rkhunter no gnome?

  13. Hugo Doria disse:

    Opa pessoal,

    Antes de se preocuparem, vejam o log do rkhunter/chkrootkit.

    Lá vocês podem obter maiores informações sobre o WARNING. Em muitos dos casos estes warnings não são motivos de preocupação.

    Pelo log vocês poderão ver o tipo de WARNING. Ele avisa, por exemplo, o acesso do root via ssh está liberado. Neste caso você tem que abrir o arquivo de configuração do ssh e desabilitar o acesso do root por ssh. Não existe uma receita. Abra o arquivo de log, veja o warning e toma uma ação baseado nele.

    Se ele achar rootkit, minha sugestão é: Faça backup de arquivos pessoais e formate a máquina. É a maneira mais eficiente.

  14. corvolino disse:

    Se ele achar rootkit, minha sugestão é: Faça backup de arquivos pessoais e formate a máquina. É a maneira mais eficiente.

    ______________________________________

    uso linux para não escutar isso como resposta, me desculpe hdoria mas deve ter alguma outra alternativa porque senão vou ter que ficar instalando toda hora e no caso do arch é complicado pelo fato dos arquivos serem baixados e nem todos tem internet de alta velocidade e tempo disponível para tal. ;)

    porém obrigado pela resposta, abraço!

  15. Hugo Doria disse:

    Opa Corvolino,

    Infelizmente esta é a melhor solução, neste caso. É algo bem diferente de quando dá algum problema no sistema, hardware, módulo ou algo do tipo. Em situações como essa é possível resolver o problema apenas consertando algo aqui e ali, sem precisar formatar a máquina.

    Invasão é algo bem além disso. Você não tem como saber o que o invasor fez na sua máquina ou o que foi infectado se você não tiver ferramentas adequadas. Só passar o anti-rookit não é suficiente, ainda mais se você estive usando-o da própria máquina infectada. O melhor jeito de evitar formatar (e situações do tipo) é usar uma série de ferramentas como tripwire, iptables, snort, analisador de logs, anti-rootkit, backups etc. Mas convenhamos: se você já usa corretamente boa parte delas, dificilmente você foi invadido.

    Imagina você deixar um servidor de produção importantíssimo da sua empresa com vários rootkits. Simplesmente não dá. O melhor é, como falei, usar todas as ferramentas e ter uma política de backup. No dia que achar algum rootkit, se tem um backup de um momento imediatamente anterior para restaurar o sistema. E aí sim, você pode descobrir o que pode ter afetado sua segurança, restaurar o backup e consertar todos os problemas no sistema limpo. Enquanto isso sua empresa agradece.

  16. Roberto disse:

    Esse tutorial é de autoria sua?

  17. Hugo Doria disse:

    @Roberto

    Sim, é de minha autoria. Tem alguma dúvida sobre o tema?

  18. sSantiago disse:

    Ótimo post, o chkrootkit eu já conhecia, mas esse rkhunte realmente é bem mais funcional, e essa dica do e-mail aí foi muito boa. Valeu.

  19. Milton disse:

    Boa tarde Hugo.
    Uso o Kurumin NG 8.06.
    Segui todo o tutorial. Rodei o rkhunter, apareceu um warning e então tentei ver o arquivo .log mas ele está vazio.
    Alguma idéia qual o motivo? Já rodei duas vezes para conferir e o .log continua vazio.

  20. Cleydson disse:

    Cara que exelente post, parabéns!!

    Valeu!

  21. [...] Se você preferir instalar o Lynis, é só baixar o rpm para sua distribuição (ele fica no sub-diretório noarch), ou o deb, e instalá-lo usando o gerenciador de pacotes. NOTA: O Lynis foi criado pelo mesmo autor do rkhunter (um anti-rootkit que eu já demonstrei como usar) [...]

  22. fusca14 disse:

    Pessoal,

    Eu tenho o arch 64 bits instalado e nao achei esse rkhunter no repositorio. Existe versao de 64 bits para ele?

  23. Bino disse:

    Bom dia Hugo Doria.
    Tudo bom ?

    Apareceu o sequinte:

    /usr/bin/find: `head’ terminado pelo sinal 13

    Pode me enviar um Email.

    Obrigado.

  24. [...] Hugo Doria Author: Albino Biasutti Neto Categories: Archlinux, Debian Tags: Comentários (0) [...]

  25. farid disse:

    salve hugo,

    beleza cara?

    apareceu isso pra mim:

    [12:46:03] /usr/bin/ldd [ Warning ]
    [12:46:04] Warning: The command ‘/usr/bin/ldd’ has been replaced by a script: /usr/bin/ldd: Bourne-Again shell script text executable

    mas ele não acho nenhum rootkit.

    Rootkit checks…
    Rootkits checked : 113
    Possible rootkits: 0

    será que tem que reinstalar o sistema?

    abraços!

Leave a Reply