ISTF



           

Voltar   ISTF > Segurança da Informação > Malware

  1 links from elsewhere to this Post. Click to view. #1  
Antigo 05/08/2006
Usuário Registrado
 
Data de registro: May 2006
Posts: 38
 

Enviar uma mensagem via MSN para storm_
Rootkits - como detectar e previni-los

O QUE SÃO ROOTKITS?
por Renan "Chaos Master"

Tradução liberal do site http://la-samhna.de/library/rootkits/ .

1. Introdução

Depois de um ataque, um hacker provavelmente vai querer
dificultar o trabalho do pessoal da segurança.
Para isto, uma opção fácil é o rootkit, que
nada mais é do que um programa modificado que
não faz o que normalmente deveria fazer.
Ex. um 'ps' que mostre processos errados
ou um 'ls' que não mostre alguns arquivos.
Além disso eles escondem backdoors, alteram logs, enfim.

Os rootkits mais básicos fazem o seu serviço
de um modo "curto e grosso", já os mais elaborados
alteram arquivos, têm opções iguais ao comando normal,
e até enganam verificadores de arquivos para que eles
não possam ser detectados pelo seu código CRC (código
que verifica a validade de um arquivo).

No entanto ainda pode se identificá-los sabendo o
seu código criptográfico MD5 (usando o comando md5sum,
por exemplo) e conferindo os resultados contra um
banco de dados, que pode ser tanto de programas válidos
quanto de rootkits famosos.


1.1. O que são Kernel Rootkits?


Estes rootkits trabalham diretamente no kernel,
permitindo alterar a saída do kernel (!!) de modo a causar
erros, retornar dados inválidos, e outros,
tudo isto *sem modificar arquivos de sistema*.
São bem difíceis de serem descobertos.

2. O básico

2.1. Enganando o kernel


Existem basicamente 2 maneiras de enganar o
kernel para permitir a entrada de um rootkit:

* carregando um módulo, que vem disfarçado
como um driver ou programa útil.
Assim o rootkit tem acesso avançado ao kernel.

* alterando o /dev/kmem:

O /dev/kmem é um dispositivo que dá
acesso à memória usada pelo kernel.
Felizmente os kernels mais novos já
tiveram este dispositivo tornado somente-leitura.
Um programa pode alterar o conteúdo ou simplesmente escrever
lixo para o kernel causando um travamento.

Uma demonstração de como funciona está
em http://online.securityfocus.com/archive/1/273002 .
A técnica aplica um patch no kernel, "ao vivo", sem parar nenhum processo.

2.2. Aonde os rootkits podem agir? Básico da teoria de funcionamento deles


Quando uma chamada de sistema é executada o
"controle de fluxo" cai no seguinte caminho:

- Uma interrupção é chamada e o sistema
"volta a atenção" para esta chamada.
Um rootkit pode alterar a chamada para cair num lugar errado.

- A função system_call() do kernel procura o
endereço apropriado para a função. Aí é que a
maioria dos rootkits entra, corrompendo ou
alterando a lista de endereços de modo a causar erro.

- Esta função retorna dados, e o programa
continua a funcionar. Tecnicamente isto pode
ser abusado corrompendo os dados da saída;
mas ainda não é usada por nenhum rootkit.

3. Rootkits famosos

- SucKIT: o rootkit mais famoso, que usa a
técnica do /dev/kmem para acessar diretamente
as portas da rede, e permitir invasões remotas.
Provavelmente não funciona mais no Kernel 2.6.5.

Rootkits que usam o modo LKM (Linux Kernel Modules):

- RIAL: esconde arquivos e conexões. O comando 'less' é
desativado. Rootkit bem fraco, basta executar
"cat /proc/modules" para pegá-lo.

- heroin: esconde arquivos e processos,
não provê invasões remotas. Não aparece com
"lsmod" nem permite o uso de "rmmod" mas
pode ser encontrado com o comando "cat /proc/ksyms | grep heroin" .

- afhrm: redireciona arquivos para darem em
locais errados. Não funciona nos Kernels 2.2 ou mais avançados.

- Synapsis: esconde arquivos, portas e processos,
mas tem vários bugs. Dá direitos de root a um usuário qualquer.
Pode ser encontrado com "cat /proc/modules".

- adore: rootkit bem avançado, que permite
executar qualquer comando com privilégios de root ("backdoor local").


- knark: esconde arquivos, processos, serviços,
redireciona comandos e dá privilégios de root,
oferecendo um backdoor para permitir o controle remoto.
Se esconde e impede o uso do "rmmod".

- itf: esconde arquivos, processos, redireciona comandos,
dá privilégios de root e instala um backdoor.
Também impede o uso do "rmmod".

- kis: pode desativar firewalls, permitir acesso
remoto, esconder processos, arquivos e outros,
além de descarregar módulos. Se esconde como todos outros rootkits.

- adore-ng: igual ao adore mas altera dados do(s) drive(s) de disco rígido.



4. Como detectá-los?


Para se ter uma lista de módulos tem 2 comandos:

Código:
bash$ lsmod
ou

Código:
bash$ cat /proc/modules
Infelizmente a maioria dos rootkits se escondem dos comandos acima.
Rootkits LKM alteram o "mapa do kernel", que
geralmente está num arquivo chamado "System.map"
na mesma localização do kernel (/boot). Assim
é possível compará-lo com o System.map de um
kernel com a mesma versão do seu.


Podemos usar o programa "kern_check"
(http://la-samhna.de/library/kern_check.c)
para verificar o arquivo system.map. Compile-o e chame-o com:

Código:
bash$ gcc -O2 -Wall -o kern_check kern_check.c
bash$ su
bash$ kern_check /caminho/ao/System.map
Onde "/caminho/ao" é a pasta onde está seu System.map

Ou o KSTAT, que analisa o /dev/kmem e
pode ser pego em http://www.s0ftpj.org/tools/kstat24_v1.1-2.tgz


E assim concluo o tutorial sobre rootkits,
mostrando o método de operação deles, como detectar e previni-los.
A melhor solucao contra eles e' sempre manter o seu Kernel atualizado.
Responder com citação

  #2  
Antigo 02/02/2007
Usuário Registrado
 
Data de registro: Nov 2006
Local: Rio de Janeiro, RJ
Posts: 7
 

Enviar uma mensagem via MSN para Djox Mandar mensagem via Skype para Djox
Re: Rootkits - como detectar e previni-los

Nossa Storm!!

Tive dando um passeio por aqui e achei esse lindo tópico, está de mais! Parabéns, tem um pouco de tempo, mas esse post é 10!

;p
Responder com citação
Resposta




LinkBacks (?)
LinkBack to this Thread: http://www.istf.com.br/vb/malware/9475-rootkits-como-detectar-e-previni-los.html
Enviado por For Type Data
Nao sei se esta no sitio certo mas uma ajuda... - FórumGdH This thread Refback 04/05/2009 20:48

Leitores ativos neste tópico: 1 (0 usuários e 1 visitantes)
 
Ferramentas Procurar neste tópico
Procurar neste tópico:

Busca avançada
Visualização

Regras de envio
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Ligado
Smile está Ligado
[IMG] está Ligado
HTML está Desligado
Trackbacks are Ligado
Pingbacks are Ligado
Refbacks are Ligado


Tópicos semelhantes
Tópico Autor do tópico Fórum Respostas Último post
Como evitar ataques de engenharia social 0xrhr Ética e comportamento 4 12/06/2008 18:00
Redes Crash Redes & TCP/IP 7 02/06/2006 09:28
McAfee responsabiliza comunidade do código aberto pelo aumento nos rootkits ®µ§h Notícias de segurança 0 19/04/2006 07:39
como detectar um endereço de e-mail falso? marcelaow Incidentes de segurança 0 26/08/2005 21:49
W32.Sobig.F@mm On-line Malware 2 05/09/2003 20:07


Horário em GMT -3. A hora agora: 06:11.


vBulletin® ©2000-2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0
InfoSecurity TaskForce ©2001-2008, Todos os direitos reservados.
O Fórum ISTF não se responsabiliza pelo conteúdo das mensagens dos seus usuários.