Sei sulla pagina 1di 37

AnALise Forense

em Memoria
Ricardo Klber Martins Galvo
www.ricardokleber.com
ricardokleber@ricardokleber.com

SecurityDay :: 23/11/2013

Anlise Forense

Definindo e Contextualizando...
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

Computao Forense

Definindo e Contextualizando...
Supre as necessidades das instituies legais para
manipulao de evidncias eletrnicas;
Estuda a aquisio, preservao, identificao, extrao,
recuperao e anlise de dados em formato eletrnico;
Produz informaes diretas e no interpretativas.

Auxilia em investigaes que apuram desde


violaes de normas internas a crimes eletrnicos

Computao Forense

Use com moderao e responsabilidade...

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.

Computao Forense

necessrio se especializar...
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)

No basta formao/conhecimento na rea...


Percia em Informtica coisa sria !!!

Computao Forense
Contextualizando...

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

Computao Forense
Contextualizando...

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
Grampos digitais para interceptar dados
trafegando entre equipamentos
Dados em memria
O que est (ou estava) na memria voltil

Computao Forense em...

Mdias

Captura, recuperao, extrao e


anlise (com ferramentas apropriadas)

Computao Forense em...

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

Computao Forense em...

Memria

Anlise a quente dos dados da memria


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

Anlise Forense em Memria


Definio e Pontos Relevantes

Manipulao e/ou captura e anlise de dados armazenados na


memria voltil (passvel de perda no desligamento ou
sobrescrita no funcionamento normal) do equipamento
O que buscar?

Arquivos abertos, bibliotecas em execuo, mdulos ativos

Processos em execuo e conexes estabelecidas

Senhas (sem criptografia) armazenadas temporariamente

Informaes de controle do Sistema Operacional

Dados do registro (Windows) por exemplo...

Malwares !!!

Anlise Forense em Memria


Anlise a quente

Abordagem que deve ser planejada com cuidado !!!

Acesso ao sistema ligado

Possibilidade de:

Contaminao de dados

Destruio de evidncias

Contestao judicial (quando for o caso)

Provvel impossibilidade de repetio de atividades de anlise

Anlise Forense em Memria


Anlise a quente

Comandos "bsicos" do Windows

ipconfig, arp, nbtstat, netstat, net, ...

Ferramentas complementares (avanadas):

Sysinternals

http://technet.microsoft.com/en-us/sysinternals/default.aspx

Process Explorer
Autoruns
DiskMon
NTFSInfo
PortMon
PsExec
PsFile
PsInfo
PsList

PsLogList
PsService
PsSuspend
RAMMap
Registry Usage
RootKitRevealer
Strings
TCPView
(...)

Outros
Desenvolvedores:

NirSoft
Foundstone

Anlise Forense em Memria


Anlise a quente

COFEE (Computer Online Forensic Evidence Extractor)

Ferramenta Law Enforcement da Microsoft

https://cofee.nw3c.org/

http://www.microsoft.com/enus/news/press/2009/oct09/10-13cofeepr.aspx
https://wikileaks.org/wiki/Microsoft_COFEE_(Com
puter_Online_Forensics_Evidence_Extractor)_tool
_and_documentation,_Sep_2009

Anlise Forense em Memria


Anlise a quente

COFEE (Computer Online Forensic Evidence Extractor)

Conjunto de comandos do prprio Windows e da Sysinternals


arp.exe a
at.exe
autorunsc.exe
getmac.exe
handle.exe a
hostname.exe
ipconfig.exe /all
msinfo32.exe /report %OUTFILE%
nbtstat.exe n
nbtstat.exe A 127.0.0.1
nbtstat.exe S
nbtstat.exe c
net.exe share
net.exe use
net.exe file
net.exe user
net.exe accounts
net.exe view
net.exe start
net.exe Session
net.exe localgroup
administrators /domain
net.exe localgroup

net.exe localgroup administrators


net.exe group
netdom.exe query DC
netstat.exe ao
netstat.exe no
openfiles.exe /query/v
psfile.exe
pslist.exe
pslist.exe t
psloggedon.exe
psservice.exe
pstat.exe
psuptime.exe
quser.exe
route.exe print
sc.exe query
sc.exe queryex
sclist.exe
showgrps.exe
srvcheck \127.0.0.1
tasklist.exe /svc
whoami.exeFEE

Anlise Forense em Memria


Anlise a quente

COFEE (Computer Online Forensic Evidence Extractor)

DECAF = Ferramenta para deteco e subverso de dados


enviados para o COFEE

http://decafme.org

Spoof de MAC Address


Kill em processos ativos
Shutdown na mquina
Desabilita adaptadores de rede
Desabilita portas USB
Desabilita Floppy Drive (!!??)

Desabilita CD/DVD-ROM
Desabilita portas Seriais e Paralelas
Apaga arquivos e pastas
Apaga logs do Event Viewer
Remove clientes torrent
Apaga cache, cookies e
histrico do browser

Anlise Forense em Memria


Dump + Anlise post mortem

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
Anlise Independe do sistema de arquivos analisado

Anlise Forense em Memria


A Captura (Dump)

Captura (dump) pode ser realizada via hardware ou software

Captura via Hardware (especializado)

Suspenso do processador

Captura da imagem via DMA (Direct Memory Access)

Ex: Tribble Card


Placa que deve ser instalada ANTES do
comprometimento do sistema

Vdeo de exemplo (Youtube):


http://www.youtube.com/watch?v=vJszLtaIyIk

Anlise Forense em Memria


A Captura (Dump)

Captura (dump) via software

Linux: Ferramentas para Aquisio (dump):

dd/dcfldd (/dev/fmem)

Windows: Ferramentas para Aquisio (dump):

dd para Windows (dd.exe)


http://gmgsystemsinc.com/fau/
Memparser (Chris Betz)
http://sourceforge.net/projects/memparser/
Win32dd Win64dd DumpIt (Moonsols)
http://www.moonsols.com/windows-memory-toolkit/

Anlise Forense em Memria


A Captura (Dump)

Captura (dump) via software :: Outras Ferramentas:

Mandiant Memoryze

Mantech Memory DD

http://www.mantech.com/msma/MDD.asp

Winen32/64 (Guidance)

http://www.mandiant.com/software/memoryze.htm

http://www.guidancesoftware.com

FastDump (HBGary)

http://www.hbgary.com/download_fastdump.html
http://www.forensicswiki.org/
wiki/Tools:Memory_Imaging

Anlise Forense em Memria


Anlise post mortem

Aps aquisio de imagem de memria (dump)

Uso de strings/grep e buscas especficas

Carving Manual

Exemplo (Sistemas Windows)

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


Anlise post mortem

Outras ferramentas para anlise de imagens (dumps):

FATKit

EnCase (Guidance)

WMFT

FTK (Access Data)

Procenum

F-Response

Idetect

HBGary Responder

VAD Tools

KnTTools

FlyPaper

WinDbg

Memoryze (Mandiant)

PTK (Framework)

Anlise Forense em Memria

Framework Especfico para Anlise (mltiplos S.O.)


Volatility (+plugins)

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

Verso Atual: 2.3.1

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

Framework Especfico para Anlise (mltiplos S.O.)


Volatility (+plugins)

Verso estvel (pacote) de sua distribuio (Linux/Debian):

apt-get install volatility

Verso estvel atualizada = Subversion (SVN):

svn checkout http://volatility.googlecode.com/svn/trunk

Anlise Forense em Memria

Framework Especfico para Anlise (mltiplos S.O.)


# python vol.py -h
Volatility Foundation Volatility Framework 2.3.1
Usage: Volatility - A memory forensics analysis platform.
Principais opes/parmetros:
-h
--conf-file=/root/.volatilityrc
-d
--plugins=PLUGINS
--info

help da ferramenta
arquivo de configurao (default)
modo de depurao (debug)
diretrio para plugins extras
informaes sobre todos os objetos

Anlise Forense em Memria

Framework Especfico para Anlise (mltiplos S.O.)


# python vol.py --info
Volatility Foundation Volatility Framework 2.3.1
Profiles
-------VistaSP0x64
VistaSP0x86
(...)
Plugins
------apihooks
atoms
(...)

- A Profile for Windows Vista SP0 x64


- A Profile for Windows Vista SP0 x86

- Detect API hooks in process and kernel memory


- Print session and window station atom tables

Anlise Forense em Memria com Volatility

Uso em Dumps de Memria de Sistemas Windows


Exemplos de uso de plugins no Volatility:
python vol.py {plugin} -f {arquivo_dump}
Informaes sobre o sistema da imagem analisada:
$ python vol.py imageinfo -f {arquivo_dump}
Mdulos/bibliotecas carregados:
$ python vol.py modules -f {arquivo_dump}
Sockets (Ips e portas com data/hora:
$ python vol.py sockets -f {arquivo_dump}
Processos ativos c/data/hora:
$ python vol.py pslist -f {arquivo_dump}

Anlise Forense em Memria com Volatility


Exemplos de Uso :: Sistemas Windows

Sada do parmetro imageinfo:


# python vol.py imageinfo -f imagem_windows.raw
Volatility Foundation Volatility Framework 2.3.1
Determining profile based on KDBG search...
Suggested Profile(s)
Number of Processors
Image Type (Service Pack)
Image date and time
Image local date and time

:
:
:
:
:

WinXPSP2x86, WinXPSP3x86
1
3
2011-04-10 21:29:25 UTC+0000
2011-04-10 14:29:25 -0700

Anlise Forense em Memria com Volatility


Exemplos de Uso :: Sistemas Windows

Sada do parmetro pslist:


# python vol.py pslist -f imagem_windows.raw
Volatility Foundation Volatility Framework 2.3.1
Determining profile based on KDBG search...
Offset(V)
--------0x823c8830
0x82156a18
0x81e42020
0x81f1a978
0x81ead620
0x82145020
0x82328020
0x81d82158
0x81f1f228
0x8227bb28
0x81d5ada0
0x82088a78
0x820d3c10
0x81f6d228
(...)

Name
PID
PPID Thds
Hnds
Sess Wow64
-------------------- ----- ----- ------ ------ ------ -----System
4
0
55
246
-0
SMSS.EXE
368
4
3
19
-0
CSRSS.EXE
600
368
10
362
0
0
WINLOGON.EXE
624
368
23
522
0
0
SERVICES.EXE
668
624
16
252
0
0
LSASS.EXE
680
624
22
331
0
0
SVCHOST.EXE
844
668
18
164
0
0
SVCHOST.EXE
1056
668
6
76
0
0
SVCHOST.EXE
1104
668
14
194
0
0
EXPLORER.EXE
1956 1932
16
427
0
0
ALG.EXE
840
668
6
101
0
0
WORDPAD.EXE
320 1204
2
98
0
0
cmd.exe
972 1956
1
33
0
0
win32dd.exe
1120
972
1
22
0
0

Start
Exit
------------ -----------------------------2011-04-10
2011-04-10
2011-04-10
2011-04-10
2011-04-10
2011-04-10
2011-04-10
2011-04-10
2011-04-10
2011-04-10
2011-04-10
2011-04-10
2011-04-10

21:05:13
21:05:16
21:05:16
21:05:16
21:05:16
21:05:16
21:05:17
21:05:18
21:05:29
21:05:33
21:08:40
21:28:24
21:29:24

UTC+0000
UTC+0000
UTC+0000
UTC+0000
UTC+0000
UTC+0000
UTC+0000
UTC+0000
UTC+0000
UTC+0000
UTC+0000
UTC+0000
UTC+0000

Anlise Forense em Memria com Volatility


Exemplos de Uso :: Sistemas Windows

Sada do parmetro connscan:


# python vol.py connscan -f imagem_windows.raw
Volatility Foundation Volatility Framework 2.3.1
Offset(P)
---------0x02350cd8
0x024b8838

Local Address
---------------------192.168.1.32:1044
192.168.1.32:1047

Remote Address
------------------------91.199.75.77:80
192.168.1.150:139

Pid
--1204
4

Anlise Forense em Memria com Volatility


Windows 8 :: 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 com Volatility


Windows 8 :: 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 com Volatility


Windows 8 :: 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

Anlise Forense em Memria com Volatility


Imagens para Praticar

NIST Computer Forensic Reference Data Sets (CFReDS Project):


- http://www.cfreds.nist.gov/mem/
Arquivo com vrias amostras de imagens de memria:

http://www.cfreds.nist.gov/mem/memory-images.rar

Imagens de Memrias disponibilizadas pelo Volatility (para testes):


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

Distribuies Especficas

Facilitando a vida do Perito :)

www.deftlinux.net

Distribuio Especfica para Computao Forense

Verso Atual: 8.0

Verso LiveCD e LiveUSB

Distribuies Especficas

Facilitando a vida do Perito :)

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)

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

Potrebbero piacerti anche