Pular para o conteúdo

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.
Guilherme Junior domguilherme
Hits: 30.179 Categoria: Linux Subcategoria: Kernel
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 2: Kernel dinâmico

O funcionamento do kernel baseia-se basicamente no seguinte esquema, o kernel fornece dados de sistema para processos que, por sua vez, entregam esses dados ao usuário ou administrador. Sendo assim um rootkit que atua sobre o kernel tem inúmeras vezes mais controle sobre o sistema.

As antigas versões do kernel do sistema operacional Linux obrigavam o usuário a realizar a recompilação do mesmo assim que estes carregavam novos drivers ou quaisquer outros códigos, no entanto a partir da versão 2.2 do kernel, este veio a permitir aos administradores realizar todas estas operações em tempo de execução, evitando assim a realização da recompilação do kernel.

Rootkits de kernel em geral permitem a execução de código diretamente no espaço do kernel, eliminando assim os dados que um atacante teria que esconder antes mesmo que estes cheguem ao espaço de usuário.

Vale lembrar que estes rootkits são transparentes para as ferramentas de sistema normais e para as ferramentas forenses mais antigas, pois estas não conseguem detectar a manipulação.

Implementação de rootkit de kernel

Alguns aspectos do kernel devem ser manipulados para a elaboração de um rootkit de kernel, são eles:
  • Realizar a troca de chamadas de sistema individuais por versões manipuladas (syscall table patching);
  • Inserir uma nova tabela de chamadas de sistema;
  • Mudar ponteiros nas estruturas dos sistemas de arquivos raiz e proc (Virtual File System [VFS] Patching);
  • Modificação direta das estruturas de código do kernel.

Devemos salientar que embora o texto até este momento nos leve a interpretar rootkits como sendo ferramentas utilizadas apenas para a realização de ataques, estas também podem ser utilizadas para o "bem", pois os administradores de sistema por várias vezes se beneficiam destas ao utilizá-las para analisar e monitorar sistemas.

Podemos citar como exemplos destes tipos de ferramentas que auxiliam os administradores, Kstat, Saint Jude, Sebek, dentre outros.

A tabela de chamadas de sistema

A tabela de chamadas de sistema define a interface entre o espaço de usuário e o espaço do kernel. Esta tabela contém os endereços de todas as chamadas de sistema. A biblioteca C padrão assegura que as chamadas se sistema necessárias ocorram em tempo de execução, enquanto o kernel efetivamente executa as chamadas. O programa de espaço de usuário então processa e interpreta os valores retomados pelas chamadas de sistema.

As chamadas de sistema que o Linux oferece ficam guardadas no arquivo /usr/scr/linux/include/asm/unistd.h. O unistd.h lista 293 chamadas com suas posições na tabela.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Kernel dinâmico
   3. Como encontrar a tabela de chamadas de sistema

Entendendo o que é Engenharia Social

Kernel-BALA

Recompilando kernel 2.6 no Debian Lenny

Slackware com kernel 2.6.10 - passo a passo

Blu-ray: Reproduzindo, copiando, ripando e assistindo no GNU/Linux

Compilação de Kernel baseado na versão 2.6 para o LTSP 4.2

#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

Entre na sua conta para comentar.