Sunteți pe pagina 1din 56

Computao

Forense
usando

Ricardo Klber Martins Galvo


www.ricardokleber.com
ricardokleber@ricardokleber.com

ENSOL Vale do Au :: 21/08/2013

Contextualizando...
Objetivos !!??
Qual o melhor p-de-cabra?

Conhecer as ferramentas
para fazer a melhor escolha

Contextualizando...
Objetivos !!??

A contestao de tcnicas periciais

utilizadas (quando provada tecnicamente) pode inviabilizar todo o esforo


pericial...

Na maioria das vezes mais fcil

provar que as tcnicas utilizadas foram


inadequadas que provar que o acusado
inocente...

Boaz Guttman (www.4law.co.il)

Conhecer as ferramentas
para fazer a melhor escolha

Contextualizando...
Falando em Leis...
Lei 12.737/2012
Art. 154-A Invadir dispositivo informtico alheio, conectado ou no rede de
computadores, mediante violao indevida de mecanismo de segurana e com
o fim de obter, adulterar ou destruir dados ou informaes sem autorizao
expressa ou tcita do titular do dispositivo ou instalar vulnerabilidades para
obter vantagem ilcita:
Pena deteno, de 03 (trs) meses a 01 (um) ano, e multa.
1o Na mesma pena incorre quem produz, oferece, distribui, vende ou difunde
dispositivo ou programa de computador com o intuito de permitir a prtica da conduta
definida no caput.
2o Aumenta-se a pena de um sexto a um tero se da invaso resulta prejuzo
econmico.

Contextualizando...
Anlise Forense
A aplicao de princpios das cincias fsicas ao direito
na busca da verdade em questes cveis, criminais
e de comportamento social
para que no se cometam injustias
contra qualquer membro da sociedade
(Manual de Patologia Forense do Colgio de Patologistas Americanos, 1990).

Levantar evidncias que contam a histria do fato:

Quando?
Como?
Porque?
Onde?

Normas e Procedimentos

Contextualizando...
Anlise Forense Computacional
Conceitos Importantes
Evidncias
No-Volteis x Volteis
Tipos de Anlise:
In Loco
Post mortem
Recuperao
Extrao

Contextualizando...
Anlise Forense Computacional
Principais Etapas
Aquisio
Identificao
Avaliao
Apresentao

Contextualizando...
Definio do Objeto da Percia
O que Coletar/Analisar ?
Mdias
Hds, pendrives, cds, dvds...
Dispositivos no convencionais
Cmeras digitais, culos/relgios/pulseiras...
(com dispositivos de armazenamento).
Dados trafegando na rede
Em investigaes de trfego de informaes
Tambm com equipamentos ligados
Dados em memria
Em anlises com equipamentos ligados

Contextualizando...
Anlise Forense Computacional

reas Distintas
Mdias
Redes
Memria

Computao Forense em...

Mdias
Captura, recuperao, extrao e
anlise (com ferramentas apropriadas)

Antes do Processo de Extrao


Coleta em Mdias

Ferramentadd (ou evoluo dela)


Linux (nativo em todas as principais distribuies)
Windows (http://www.chrysocome.net/dd)
dd if=origem of=destino
Ex.: Gerao da Imagem (partio hda1 para arquivo imagem.dd):
# dd if=/dev/hda1 of=imagem.dd

O dcfldd possui um log de toda a operao, faz diviso da imagem (split) e permite
verificar diretamente a integridade da operao atravs de vrios algoritmos de
hash.

AntesdoProcessodeExtrao
ColetaemMdias
Oposugeridaparacorrigirfragilidadesdodd:dcfldd
ExemplodeUtilizao:
dcfldd if=/dev/sda1 hash=md5,sha256 hashwindow=1G \
md5log=md5.txt sha256log=sha256.txt hashconv=after \
conv=noerror,sync split=1G splitformat=aa of=image.dd
noerror=noparacasoencontreerros
sysc=seencontrarerropreenchecom0(zero)
Tamanhomximodecadaarquivo=1Gb
Nomes:image.dd.aa/image.dd.bb/...

AntesdoProcessodeExtrao
ColetaemMdias
Guymanager/Adepto/Air
InterfacesGrficasparaDuplicaoPericial

AntesdoProcessodeExtrao
ColetaemMdias
Guymanager/Adepto/Air
InterfacesGrficasparaDuplicaoPericial

AntesdoProcessodeExtrao
ColetaemMdias
Guymanager/Adepto/Air
InterfacesGrficasparaDuplicaoPericial

AntesdoProcessodeExtrao
ColetaemMdias
Guymanager/Adepto/Air
InterfacesGrficasparaDuplicaoPericial

DataCarving(VisoGeral)
Datacarvingistheprocessofextracting
acollectionofdatafromalargerdataset.

Datacarvingtechniquesfrequentlyoccurduringadigitalinvestigation
whentheunallocatedfilesystemspaceisanalyzedtoextractfiles.
Thefilesare"carved"fromtheunallocatedspace
usingfiletypespecificheaderandfootervalues.
Filesystemstructuresarenotusedduringtheprocess.
Digital Forensic Research Workshop
(DFRWS) http://dfrws.org

DataCarving::Contextualizando...
SistemadeArquivos
conjuntodeestruturaslgicasederotinas,quepermitemao

sistemaoperacionalcontrolaroacessoaodiscorgido
SistemasdeArquivospadresWindows:FAT16,FAT32,NTFS

Sistemas de Arquivos padres Linux/Unix: EXT2, EXT3, EXT4,

ReiserFS,XFS,JFS,...

DataCarving(ouFileCarving)
independedesistemadearquivos

DataCarving::Contextualizando...
MagicNumbers/FileSignatures
Funciona como uma assinatura

dotipodearquivo.
Mtodo de identificao de

arquivos independente de sistema


operacional/sistemadearquivos.

Baseiase

em

informaes

inseridas/coletadasdentrodecada
arquivo

(cabealhos,

camposespecficos)

rodaps,

Carving(Extrao)emMdias
Magicrescue
Concebido(inicialmente)pararecuperaodeimagens(fotos)

apagadas
Recupera arquivos especficos (com padro definido em base

especfica)apartirdeumapartio,paraumdiretrioespecificado.

avicanoncr2elfflacgimpxcfgplgzipjpegexifjpegjfifmp3
id3v1mp3id3v2msofficenikonrawperlpngppmzip

Debianlike (apt-get install magicrescue)

CarvingemDispositivo(Mdia)
Magicrescue
Funcionamento

Executaraplicativocomparmetrosespecficos
magicrescue -d diretorio_destino -r base_tipos /dev/device

diretorio_destino::Diretrioondesergravadooresultado

base_tipos::Basecompadrodotipodearquivobuscado
(/usr/share/magicrescue/recipes)

/dev/device::caminhododispositivoanalisado

Exemplo:
magicrescue -d /home/forense/analisar
-r /usr/share/magicrescue/recipes/avi
/dev/sda1

CarvingemImagemdeMdia
Magicrescue

Executaraplicativocomparmetrosespecficos
magicrescue -d diretorio_destino -r base_tipos imagem

diretorio_destino::Diretrioondesergravadooresultado

base_tipos::Basecompadrodotipodearquivobuscado
(/usr/share/magicrescue/recipes)

imagem::imagemdodispositivoanalisado

Exemplo:
magicrescue -d /home/forense/analisar
-r /usr/share/magicrescue/recipes/avi
pendrive.dd

Carving(Extrao)emMdias
Magicrescue/GRescue
GRescue=InterfaceGrficadoMagicrescue(emdesenvolvimento)

CarvingemDispositivo(Mdia)
Foremost
Rpido,fcilerobusto: foremost

Debianlike (apt-get install foremost)


foremost -t <tipo1,tipo2,...> -i <dispositivo> -o <destino>

Tiposdearquivosreconhecidos:jpg,gif,png,bmp,avi,exe,mpg,
wav,riff,wmv,mov,pdf,ole,doc,zip,rar,htm,cpp,...
Paratodosostiposdearquivos:-t all
Ex.: foremost -i /dev/sda1 -o diretorio_destino

CarvingemImagemdeMdia
Foremost
Rpido,fcilerobusto: foremost

Debianlike (apt-get install foremost)


foremost -t <tipo1,tipo2,...> -i <imagem> -o <destino>
Tiposdearquivosreconhecidos:jpg,gif,png,bmp,avi,exe,mpg,
wav,riff,wmv,mov,pdf,ole,doc,zip,rar,htm,cpp,...
Paratodosostiposdearquivos:-t all
Ex.: foremost pendrive.dd -o diretorio_destino

CarvingemImagemdeMdia
Foremost
ArquivodeConfigurao(/etc/foremost.conf)

Extenso,casesensitive(y/n),tamanhomximo,cabealho,rodap(opcional)
# PNG
png

# Word documents
doc
y

200000
12500000

\x50\x4e\x47?

\xff\xfc\xfd\xfe

\xd0\xcf\x11\xe0\xa1\xb1

CarvingemImagemdeMdia
Foremost
$ mkdir apagados
$ foremost -i pendrive.dd -o apagados/
Processing: pendrive.dd
*****|
$
$ cd apagados
$ ls
audit.txt exe htm jpg pdf png ppt

wav

xls

$ cat audit.txt
Foremost started at Fri Nov 15 16:37:00 2010
Invocation: foremost -i pendrive.dd -o apagados/
Output directory: /home/notebook/apagados
Configuration file: /etc/foremost.conf
(...)
Finish: Fri Nov 15 16:39:08 2010
1498 FILES EXTRACTED

zip

CarvingemImagemdeMdia
Scalpel
Semelhanteaoforemost: scalpel

Debianlike (apt-get install scalpel)


scalpel <imagem> -o <destino>
Porpadro,todosostiposdearquivosnobancodedados
(/etc/scalpel/scalpel.conf)estocomentados(nogera
resultadossenoforalterado)
Paraespecificarquaistiposdearquivossedesejaextrair,
precisoeditaroarquivoedescomentaraslinhasdesejadas.
Ex.: scalpel pendrive.dd -o diretorio_destino

Computao Forense em...

Redes
Captura de trfego e realizao da
Extrao (com ferramentas apropriadas)

AntesdoProcessodeExtrao
ColetaemRedes
Interfaceemmodomonitor("promscuo")=Sniffer

LibPcap + TcpDump
WinPcap + WinDump

AntesdoProcessodeExtrao
ColetaemRedes
CapturadeTrfegoEspecfico::Tcpdump

tcpdump -i <interface> port <porta/servio> -w <arquivo_captura>

TrfegodeEmails:

SMTP:[porta]=25
POP3:[porta]=110

port [porta]
src [origem]
dst [destino]

TrfegoWeb:[porta]=80

tcpdump -X -vvv -i eth0 -s 1518 -n port 80 -w coleta.cap

AntesdoProcessodeExtrao
ColetaemRedes(ModoGrfico:Ethereal/Wireshark)
http://www.wireshark.org

AntesdoProcessodeExtrao
ColetaemRedes(ModoGrfico:Ethereal/Wireshark)

CarvingemImagemdeTrfegodeRedes
Tcpxtract
Extrai arquivos (file carving) de trfego de redes baseado em
assinaturas/padresdearquivos.

Podeserusadodiretamentecapturando/analisandootrfego
de uma rede ou analisando um arquivo .CAP (formato
tcpdump)

tcpxtract -d /dev/device -o diretorio_destino

tcpxtract -f arquivo_cap -o diretorio_destino

# tcpdump -X -vvv -n -s 1518 -i eth0 tcp port 80 -w http.cap

# tcpxtract -f http.cap -o examinar


# nautilus examinar

CarvingemImagemdeTrfegodeRedes
Tcpxtract
$ mkdir examinar
$ tcpxtract -f http.cap -o examinar
Found
Found
Found
Found
Found

file
file
file
file
file

of
of
of
of
of

type
type
type
type
type

"gif"
"png"
"png"
"png"
"gif"

$ nautilus examinar

in
in
in
in
in

session
session
session
session
session

[72.14.204.103:20480
[72.14.204.103:20480
[72.14.204.103:20480
[72.14.204.103:20480
[72.14.204.103:20480

->
->
->
->
->

192.168.2.100:15495],
192.168.2.100:15751],
192.168.2.100:15495],
192.168.2.100:15495],
192.168.2.100:15751],

exporting
exporting
exporting
exporting
exporting

to
to
to
to
to

examinar/00000000.gif
examinar/00000001.jpg
examinar/00000002.gif
examinar/00000003.gif
examinar/00000004.jpg

CarvingemImagemdeTrfegodeRedes
Chaosreader
Semelhanteaotcpxtract

Maiornveldedetalhessobretrfegos(origem/destino)

GerarelatrioHTML(maisadequadoparalaudos)

Relatriosumarizadoporprotocoloscapturados/identificados

Analisaarquivo.CAP(formatotcpdump)

chaosreader arquivo_cap -D diretorio_destino

# tcpdump -X -vvv -n -s 1518 -i eth0 tcp port 80 -w http.cap

# chaosreader http.cap -D examinar


# firefox index.html

CarvingemImagemdeTrfegodeRedes
Chaosreader

CarvingemImagemdeTrfegodeRedes
Chaosreader

FrameworkOpenSource

www.xplico.org

Computao Forense em...

Memria
Dump (cpia de contedo de memria) e
anlise (com ferramentas apropriadas)

Anlise Forense em Memria

Desafio inicial: Estrutura


(no um sistema de arquivos estruturado)

Busca por expresses regulares (comando strings) = padres/evidncias

Mtodo manual

Uso de ferramentas especficas para manipular imagens de memria

Encontrar offsets das principais estruturas

Extrair estruturas da memria/dump

Recuperar evidncias

Ferramentas sugeridas: strings / hexdump / Volatility

Anlise Independe do sistema de arquivos analisado

Anlise Forense em Memria

Ferramentas para Aquisio (dump) de Memria (Win)

dd para Windows (dd.exe)

Memparser (Chris Betz)

http://gmgsystemsinc.com/fau/
http://sourceforge.net/projects/memparser/

Existem outras pagas e com licenas parcialmente gratuitas

Fora de escopo :)

Anlise Forense em Memria


Exemplos de uso (sistemas Win)

Aps aquisio de imagem de memria (dump)

Uso de strings/grep e buscas especficas

Carving Manual

Qual a Verso do Windows?

Dump de memria + strings = arquivo_strings

cat arquivo_strings |egrep '(KB[0-9]{6})'| grep -i windows

Busca por expresses regulares:


Nomes de pessoas/usurios
E-mails eventualmente disponveis na memria
Nomes de documentos, programas, senhas...

Anlise Forense em Memria


Para anlise de qualquer S.O.
Volatility (+plugins)

http://code.google.com/p/volatility

Verso Atual: 2.2

Linguagem de Desenvolvimento: Python

Blog (alternativo):

http://www.forensicswiki.org/wiki/Volatility_Framework

Plugins:

http://www.forensicswiki.org/wiki/List_of_Volatility_Plugins

Anlise Forense em Memria


Exemplos de uso (sistemas Win)

ExemplosdeparmetrosdisponveisnoVolatility:

Informaessobreosistemadaimagemanalisada:
$ volatility imageinfo -f {arquivo_dump}
Mdulos/bibliotecascarregados:
$ volatility modules -f {arquivo_dump}
Sockets(Ipseportascomdata/hora:
$ volatility sockets -f {arquivo_dump}
Processosativosc/data/hora:
$ volatility pslist -f {arquivo_dump}

Anlise Forense em Memria


Exemplos de uso (sistemas Win)

Sada do parmetro imageinfo:

Anlise Forense em Memria


Exemplos de uso (sistemas Win)

Sadadoparmetropslist:

Anlise Forense em Memria


Exemplos de uso (sistemas Win)

Sadadoparmetroconnscan:

Anlise Forense em Memria


O que h de novo...
Suporte do Volatility para Windows8:
- Verso 3.0 (em desenvolvimento)

Addition of Windows 8 / Server 2012 Support/Testing

Novos Profiles para Windows 8 = Win8SP0x86 | Win8SP0x64

- Tutorial da nova verso:


https://volatility.googlecode.com/svn/branches/scudette/docs/index.html

- Verso Atual (desenvolvimento) [24/02/2013] Preview Release 0.2:


https://volatility.googlecode.com/files/volatility-tp2.zip

- Instalao via SVN:


svn checkout http://volatility.googlecode.com/svn/branches/scudette/ volatility
# ./vol.py --help
The Volatility Memory Forensic Framework technology preview (3.0_tp2)

Anlise Forense em Memria


O que h de novo...
Plugins Disponveis (verso 3.0_tp2):

kdbgscan
pslist
pstree
psscan
dlllist
dlldump
pedump
handles
getsids
cmdscan
consoles
procinfo
memmap
procexedump

vadinfo
vadwalk
vadtree
vaddump
evtlogs
modules
modscan
moddump
driverscan
filescan
mutantscan
symlinkscan
thrdscan
connections
connscan
sockets

sockscan
netscan
hivescan
hivelist
printkey
hivedump
hashdump
lsadump
userassist
shimcache
getservicesids
crashinfo
hibinfo
imagecopy
raw2dmp
malfind

yarascan
svcscan
ldrmodules
impscan
apihooks
idt
gdt
threads
callbacks
driverirp
devicetree
psxview
timers

Anlise Forense em Memria


O que h de novo...
ltima Dica sobre o Volatility:
- Verso 3.0 (em desenvolvimento)

Traz, adicionalmente, ferramenta de Dump de Memria:

WinPMEM

/usr/share/volatility-3.0-tp2/tools/windows/winpmem

Verso 1.1

Copyright 2012 Michael Cohen <scudette@gmail.com>

Licena: Apache 2.0

Distribuices Especficas
Kits do Perito Forense :)

www.deftlinux.net

Distribuio Especfica para Computao Forense

Verso Atual: 8.0

Verso LiveCD e LiveUSB

Distribuices Especficas
Kits do Perito Forense :)

www.kali.org

Nova Gerao das distribuies para pentesting

Sucessor do Backtrack Linux (7 anos de desenvolvimento)

Desenvolvido pela Offensive Security

Baseado no Debian 7.0 (Wheezy)

Disponvel desde 11/03/2013

ISO (Live / Instalador) e Mquina Virtual (Vmware)

Consideraes Finais
Diversidade (e robustez) de softwares livres para computao
forense;

A homologao de ferramentas para o uso pericial passa pela


abertura do cdigo (para validao);

Ferramentas adequadas podem facilitar (e diminuir) o trabalho do


perito.

Perguntas

Quer saber mais sobre Segurana da Informao?

www.ricardokleber.com
Palestras:
www.ricardokleber.com/palestras
Vdeos:
www.ricardokleber.com/videos
Twitter:
www.twitter.com/ricardokleber

S-ar putea să vă placă și