Title: RootKits
1RootKits
- rafaelsilva_at_rfdslabs.com.br
2RootKits
- Definição
- Codigo ou conjunto de codigos usados, após uma
invasao, para ocultar a presença do invasor na
maquina da vitima.
3RootKits
4RootKits
5RootKits
- Rootkits Populares
- SuckIT
- T0rn
- Ambients Rootkit (ARK)
- FuckIT
- Adore
- BBD
6RootKits
- Softwares para detecção
- Chkrootkit
- Rkhunter
- AIDE
- Tripwire
7RootKits
- Histórico
- 1989 Publicado o primeiro rootkit na phrack
magazine. - 1994 CERT menciona a existencia de rootkits em
seus alertas. - 1995 Rootkit se torna popular entre os
invasores. - 1997 Referencia a LKM maliciosos em forma de
rootkits. - 2001 Publicado a 3 geração de rootkit.
/dev/kmem is your friend. ?
8RootKits
- 1 Geração
- Rootkits Binarios.
- Sistemas Alvo SunOS, Linux.
- Atuacao substituição de binários como, os,
ifconfig, login, find, etc. - Retirada dos logs
- Wtmp.
- Uso de arquivos de configuração.
9RootKits
- 2 Geração
- Rootkits em LKM (Linux Kernel Module)
- Sistemas Alvo Linux, BSD, MacOS.
- Atuação
- Modulos do kernel.
- Retirada dos logs
- Automaticamente.
10RootKits
- 3 Geração
- Rootkits - /dev/kmem
- Sistemas Alvo Linux.
- Atuação
- Memória do kernel.
- Retirada dos logs
- Automaticamente.
- Keyloggers, sniffers etc.
11RootKits
- 3 Geração
- I dev/kmem is our friend", assim cita o artigo
"Linux on-the-fly kernel patching without LKM"
(Sd e Devik, 2001), que trouxe à tona uma nova
geração de rootkits. - Na segunda geração dos rootkits, com a retirada
do suporte a carregamento de módulois, foi
neutralizada a sua ação quase em 95 o
administrador inibia uma função facilitadora, mas
ganhava muito em segurança. - Sd e Devik apresentaram uma solução que é
complexa e extremamente criativa. O linux possui
um dispositivo conhecido como kmem (/dev/kmem),
que possui o diretório de escrita e leitura
somente pelo root. - Este dispositivo abstrato virtual utilizada pelo
kernel para a memória real (/dev/mem) ou seja, o
mesmo faz o endeçamento da memória realswap.
12RootKits
- 3 Geracao
- Suckit.
- sd e Devik apresentaram uma nova geração de
rootkits, o programa suckit. O funcionamento do
suckit é uma das coisas mais interessantes que
existem, basicamente podemos dizer que o mesmo
cira um tabela particular de syscalls e desvia o
entry point do kernel para a mesma. - O resultado é que não é necessária a utilização
de LKMs. O linux disponibiliza um meio de
localizar qualquer símbolo exportado ou utilizado
pelo kernel, conforme comentamos antes, isso é
guardado no System.map. - O que estes rootkits fazem de uma maneira mais
complexa é criar uma tabela própria através de
comparação de bytes das informações da system
calls e com isso redirecionar o kernel para um
espécie de tabela de símbolos própria e
reescrever o kmem.
13RootKits
- 3 Geração
- O suckit faz isso e é virtualmente impossível a
sua detecção. Contudo, uma solução encontrada
para a detcção dos mesmos cai na velha técnica de
auditoria de arquivos, ja que estes programas, ao
serem instalados, criam arquivos e diretórios
próprios. - Outra maneira é auditar as conexões, já que o
backdoor do mesmo possui um modus operandi, que
permite determinar tentativas de conexão e
algumas portas de serviços no sistema. - Uma maneira de proteger servidores dete genero é
prevenir o kmem contra escrita, o que representa
em alguns casos um custo muito alto para a
segurança de um servidor. Os próprios autores do
suckit sugerem um patch para o kernel que faria
isso.
14RootKits
- Rootkits mais comuns
- Linux Rootkit (LRK)
- TeLeKit
- Adore
- Knark
- t0rnkit
- Kernel Intrusion System (KIS)
15RootKits
- chfn Trojaned! User-r00t
- chsh Trojaned! User-r00t
- inetd Trojaned! Remote access
- login Trojaned! Remote access
- ls Trojaned! Hide files
- du Trojaned! Hide files
- ifconfig Trojaned! Hide sniffing
- netstat Trojaned! Hide connections
- passwd Trojaned! User-r00t
- ps Trojaned! Hide processes
- top Trojaned! Hide processes
- rshd Trojaned! Remote access
- syslogd Trojaned! Hide logs
- linsniffer Packet sniffer!
- fix File fixer!
- z2 Zap2 utmp/wtmp/lastlog eraser!
- wted wtmp/utmp editor!
- lled lastlog editor!
- bindshell port/shell type daemon!
16RootKits
Adore-ng
17RootKits
18RootKits
19RootKits
20RootKits
Aide Detectando um rootkit binário.
21RootKits
Detectando LRK4
22RootKits
REWT
23RootKits
REWT
24RootKits
Perguntas
1 - E possível restabelecer confiança em uma
maquina com rootkit instalado? 2 Quais as 3
gerações de rootkits?
25RootKits
- Exercícios.
- Brincar com os diversos rootkits e backdoors.
- Trabalho em dupla
- Fazer ou montar sua propia backdoor.