Kernel Hacking (RootKits)

Apresentamos neste trabalho uma teoria completa sobre kernel hacking, mostrando assim suas vantagens, desvantagens e soluções utilizadas pelos administradores de sistemas para contra-atacar as implementações tão geniosas dos atacantes, sobressaltando a utilização de rootkits.

[ Hits: 29.970 ]

Por: Guilherme Junior em 21/12/2006 | Blog: http://www.i9technologia.com/igui


Como encontrar a tabela de chamadas de sistema



Antes do comprometimento de uma chamada de sistema, o rootkit deve primeiramente encontrá-la. Um exemplo simples e eficaz é a busca pelo segmento de dados inteiro. O rootkit Override por exemplo, verifica cada endereço de memória no segmento de dados em busca da tabela de chamadas de sistema.

Após a obtenção do endereço da tabela de chamadas de sistema, o rootkit fica sem limites. O desenvolvedor pode rodar o strace para descobrir quais chamadas de sistema precisa manipular para enganar um programa específico.

A relação dos rootkits com o kernel 2.6

Um alívio aos usuários do kernel 2.6, pois como exceção do Adore-NG, não existem rootkits disponíveis para esta versão, tanto benignos quanto malignos.

O motivo deste alívio é que os kernels mais antigos utilizam símbolos para exportar a tabela de chamadas de sistema, tornando mais fácil modificar tais chamadas, enquanto que o kernel 2.6 mantém esses endereços em segredo. Um atacante precisaria dispor dos seguintes recursos para alterar uma chamada de sistema:
  • O código-fonte do kernel e os arquivos criados durante a compilação;
  • Um link simbólico de /lib/modules/versão_do_kernel/build para /usr/src/versão_do_kernel;
  • Um kernel.conf correspondente;
  • Um Makefile para rootkit;

Impossível então? Não! Por exemplo, os usuários da distribuição Gentoo têm essa tarefa facilitada, já que a arquitetura do Gentoo fornece tudo isso.

Conclusões

Mesmo que os administradores façam uso de programas que utilizem checksums, como por exemplo o Aide ou o Tripwire, isto não garante a sua proteção, pois estes são programas alocados no espaço do usuário e os rootkits de kernel manipulam diretamente as chamadas de sistema ou qualquer outra parte do kernel enganando assim qualquer programa do espaço do usuário.

Para averiguação de invasões e etc o administrador deve exatamente saber como o rootkit funciona para assim buscar evidências.

É importante saber ainda que para cada rootkit a ser analisado, os alvos a serem examinados e procurados são possivelmente diferentes.

Se mesmo após a leitura do artigo surgir alguma dúvida sobre o tema (KERNEL HACKING), por favor envie um e-mail para domguilherme -o- gmail.com. Ficarei feliz em ajudá-lo.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Kernel dinâmico
   3. Como encontrar a tabela de chamadas de sistema
Outros artigos deste autor

Entendendo o que é Engenharia Social

Leitura recomendada

Placas NVIDIA com kernel 2.6.8

Guerra Infinita, uma análise da Ciência da Computação

Algoritmos de compressão

Mascarando conexões PPTP de clientes

Instalando kernel otimizado do Ubuntu no Asus eeepc

  
Comentários
[1] Comentário enviado por agk em 21/12/2006 - 10:42h

Interessantíssimo esse artigo, parabéns, por esses e outros motivos sempre é importante baixar somente programas de origens confiáveis, pois do contrário poderá ter seu sistema completamente comprometido.

[2] Comentário enviado por d4rkness em 21/12/2006 - 11:36h

Muito bom o artigo. Principalmente porque não se tem muito material em PT-BR sobre rootkits e afins. E nem como eles agem.

10.

Parabéns

[3] Comentário enviado por IcePeak em 21/12/2006 - 12:16h

Mando mtt bemm!!

Já te mandei um e-mail blz??

FALOWSS!!

IcePeak

[4] Comentário enviado por removido em 21/12/2006 - 16:55h

Ótimo artigo


Saber como os RootKits funcionam é ótimo, pois é uma ameaça real em servidores Linux.

[5] Comentário enviado por a.paulo2007 em 23/12/2006 - 16:16h

Valeu,pois esta ferramenta maliciosa(Rootkits),com certeza sao as mais ultilizadas na atualidade ,visto que,a mesma fornece muita objetividade,agora quanto a ser detectadas ou não vai de depender de quem configura o Rootkits e dos administradores que manipulam os caçadores de Rootkits,valeu camarada por fornecer esse conhecimento,obrigado!!!

[6] Comentário enviado por presto em 24/12/2006 - 16:51h

Excelente artigo!

Exatamente o que eu estava precisando!

Que tal uma continuação se aprofundando nos rootkits que "trabalham" no kernel?

[7] Comentário enviado por frajolitzz em 26/12/2006 - 17:50h

Parabéns amigo ;)
Ótimo artigo!!

[8] Comentário enviado por caugustofo em 29/12/2006 - 09:33h

Parabéns, Guilheme.

Muito bom o seu texto.

Só queria contribuir com uma observação.

Como vc mesmo alertou, há uma enorme possibilidade de se manipular a tabela de interrupções, seria prudente o administrador utilizar ferramentas de administração de sistema compiladas estaticamente e, se possível, gravá-las em uma mídia (cd ou dvd).

Assim, vc garante que , mesmo que seu sistema seja invadido e um rootkit seja utilizado, vc não terá uma saída duvidosa de seus comandos de administração, como ps, netstat e lsmod.

Por fim, gostaria de parabenizar você pela iniciativa e , acima de tudo, pela abordagem no seu texto. Estou no aguardo de mais artigos sobre o assunto.

Parabéns ;-)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts