Arquivos históricos do BR-Linux.org apresenta:

Nova Ferramenta do Projeto Honeypot - Rootcheck

Notícia publicada por brain em setembro 29, 2003 10:31 PM | TrackBack


Antonio Marcelo (amarcelo@plebe.com.br) avisa: "A HoneypotBR tem o prazer de anunciar a nova ferramenta desenvolvida por Daniel B. Cid : o Rootcheck. Trata-se de um auditor e localizador de rootkits desenvolvido para ambientes Linux, que é capaz de detectar rootkits como o : suckit, adore, etc. Já testada em vários ambientes de produção. Disponível para dowload no site oficial."

Vale lembrar que o tradicional chkrootkit também é de origem brasileira! Aliás, se alguém puder apresentar as diferenças entre o chkrootkit e o rootcheck, acho que seria um comentário bastante útil.

 

Comentários dos leitores
(Termos de Uso)

» chimpa () em 30/09 10:05

Já conhecia o chkrootkit e baixei o rootcheck pra dar uma olhada nas diferenças. Aqui estão elas (do meu ponto de vista) :

Primeiro o óbvio: chkrootkit é escrito em shell script enquanto rootcheck é perl. Apesar das facilidades da linguagem perl, acredito que shell script (!/bin/sh) seja mais genérico, suportando um número maior de plataformas sem necessidade de compilar perl (mas hj em dia, quem não suporta perl..?). Além disso, o rootcheck ainda necessita de perl modules.

Sempre achei que o chkrootkit era meio 'engessado' pelo fato de novas modificações (novos 'rootkits') serem adicionados 'hardcoded' no próprio script. Ou seja, ele não tem uma base externa de consulta - o caso do rootcheck. Por outro lado, alguém poderia argumentar que a base de rootkits estar no próprio script aumentaria a flexibilidade na hora de transporta-lo para servidores. No entanto, ambos possuem mini-ferramentas escritas em C para checagem de interfaces, logs e outros. Logo, se vc quer suporte total, teria de mover os .c e compilá-los de qualquer forma.

Acho que falta ainda no rootcheck uma ferramenta para detecção de LKM (Loadable kernel modules), o mais perverso dos rootkits, pois substitui o endereço das chamadas de sistema padrão, desviando o curso de chamadas básicas (como open, read...) se camuflando no sistema a nível de kernel e fazendo coisas muito maldosas. eeks. Uma ferramenta para detecção de LKM está presente no chkrootkit. Se não estou enganado, o kernel 2.6 não irá permitir mais que se substitua as chamadas de sistema.
Na dúvida eu usaria os dois. :-)
Parabéns aos autores.


» Daniel B. Cid () em 30/09 16:58

Como sou o escritor do rootcheck, vou tecer alguns comentarios sobre a diferenca dos dois.

1- O rootcheck, como bem falou o nosso amigo acima, possue um arquivo unico com os rootkits conhecidos... Isso facilita muito na adicao/remocao/melhoria dos mesmos.

2- O rootcheck tem sim uma ferramenta de deteccao de rootkits lkms.. Ele faz isso de duas formas: Checa quais as portas do sistema estao em uso e compara com o resultado do netstat (checa todas as portas). A maioria dos lkms eh utilizado para esconder backdoors. Entao se a porta esta em uso e o netstat nao mostra. Voce esta contaminado (ou com o netstat trojanado ou com uma lkm).
Na segunda forma ele checa todos os possiveis PIDs e ve quais estao em uso... Se algum estiver em uso e nao puder ser lido no /proc, ou o "ps" nao estiver usando, voce esta contaminado ! :)
3- eu estou adicionando uma checagem dos arquivos de configuracao (a que ele faz atualmente eh muito fraca), arquivos de log e alguns outros arquivos importantes do sistema. Essas checagens ainda nao estao muito completas, pois ainda estou atraz de mais informacoes...
4- O objetivo dele nao eh apenas procurar por rootkits/trojans. Essa eh a principal diferenca...
5- Sobre ele ser em perl... bem, acho que mais de 95% dos sistemas Unix vem com o perl pre-instalado. E os programas em .c podem ser compilados em alguma outra maquina a colocados no sistema alvo.

Bem , eh isso... alias, gosto muito do chkrootkit :)

Daniel B. Cid


» chimpa () em 01/10 11:13

Daniel,

Parabéns pela excelente ferramenta.
No entanto, as duas técnicas que vc utiliza podem e já foram burladas por LKM. Quando se modifica system calls, vc diz que abriu um diretório (/proc), quando na verdade não conseguiu (aliás, nem precisaria esconder processos já que o LKM é um módulo). Vc pode dizer que conseguiu fazer o bind, quando na verdade não conseguiu. Tem LKM que ignoram até mesmo rmmod.


» Daniel B. Cid () em 01/10 16:40

Geralmente os rootkits que utilizam LKMs soh modificam certas Sys calls, como READ, OPen, etc, etc... Eh por causa disso que ele consegue descobrir o adore e outros LKM-based rootkits...pq o programa compara varios resultados em busca de diferencas...
Mas agora, se o rootkit alterar todas as system-calls... nao tem como descobrir :)
Mas no caso do BIND (do checkports), ele ainda assim funciona... nao tem como um rootkit alterar isso e o sistema continuar funcionando corretamente :)

Daniel


» debt consolidation () em 15/10 17:29

1505 http://www.rapid-debt-consolidation.com

consolidate debt


Comentários desativados: Esta discussão é antiga e foi arquivada, não é mais possível enviar comentários adicionais.



O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação, layout, tabela de caracteres, etc.) o acervo de notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter de acervo, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.