AnALise Forense - Portal Seguranca de Redes

Transcrição

AnALise Forense - Portal Seguranca de Redes
AnALise Forense
em Memoria
Ricardo Kléber Martins Galvão
www.ricardokleber.com
[email protected]
SecurityDay :: 23/11/2013
Análise Forense
Definindo e Contextualizando...
“A aplicação de princípios das ciências físicas ao direito
na busca da verdade em questões cíveis, criminais
e de comportamento social
para que não se cometam injustiças
contra qualquer membro da sociedade”
(Manual de Patologia Forense do Colégio de Patologistas Americanos, 1990).
– Levantar evidências que contam a história do fato:
•
•
•
•
Quando?
Como?
Porque?
Onde?
– Normas e Procedimentos
Computação Forense
Definindo e Contextualizando...
• Supre as necessidades das instituições legais para
manipulação de evidências eletrônicas;
• Estuda a aquisição, preservação, identificação, extração,
recuperação e análise de dados em formato eletrônico;
• Produz informações diretas e não interpretativas.
Auxilia em investigações que apuram desde
violações de normas internas a crimes eletrônicos
Computação Forense
Use com moderação e responsabilidade...
Lei 12.737/2012
Art. 154-A Invadir dispositivo informático alheio, conectado ou não à rede de
computadores, mediante violação indevida de mecanismo de segurança e com
o fim de obter, adulterar ou destruir dados ou informações sem autorização
expressa ou tácita do titular do dispositivo ou instalar vulnerabilidades para
obter vantagem ilícita:
Pena – detenção, de 03 (três) 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 prática da
conduta definida no caput.
§ 2o Aumenta-se a pena de um sexto a um terço se da invasão resulta
prejuízo econômico.
Computação Forense
É necessário se especializar...
A contestação de técnicas periciais
utilizadas (quando provada tecnicamente) pode inviabilizar todo o esforço
pericial...
●
Na maioria das vezes é mais fácil
provar que as técnicas utilizadas foram
inadequadas que provar que o acusado
é inocente...
●
Boaz Guttman (www.4law.co.il)
Não basta formação/conhecimento na área...
Perícia em Informática é coisa séria !!!
Computação Forense
Contextualizando...
Conceitos Importantes
• Evidências
• Não-Voláteis x Voláteis
• Tipos de Análise:
• In Loco
• Post mortem
• Recuperação
• Extração
Computação Forense
Contextualizando...
O que Coletar/Analisar ?
• Mídias
• Hds, pendrives, cds, dvds...
• Dispositivos não convencionais
• Câmeras digitais, óculos/relógios/pulseiras...
(com dispositivos de armazenamento).
• Dados trafegando na rede
• “Grampos” digitais para interceptar dados
trafegando entre equipamentos
• Dados em memória
• O que está (ou estava) na memória volátil
Computação Forense em...
Mídias
Captura, recuperação, extração e
análise (com ferramentas apropriadas)
Computação Forense em...
Redes
Captura de tráfego e realização da
Extração (com ferramentas apropriadas)
Computação Forense em...
Memória
Análise “a quente” dos dados da memória
Dump (cópia de conteúdo de memória) e
análise (com ferramentas apropriadas)
Análise Forense em Memória
Definição e Pontos Relevantes
Manipulação e/ou captura e análise de dados armazenados na
memória volátil (passível de perda no desligamento ou
sobrescrita no funcionamento normal) do equipamento
O que buscar?
●
Arquivos abertos, bibliotecas em execução, módulos ativos
●
Processos em execução e conexões estabelecidas
●
Senhas (sem criptografia) armazenadas temporariamente
●
Informações de controle do Sistema Operacional
●
●
Dados do registro (Windows) por exemplo...
Malwares !!!
Análise Forense em Memória
Análise “a quente”
●
Abordagem que deve ser planejada com cuidado !!!
●
Acesso ao sistema ligado
●
Possibilidade de:
●
●
“Contaminação” de dados
●
Destruição de evidências
●
Contestação judicial (quando for o caso)
Provável impossibilidade de repetição de atividades de análise
Análise Forense em Memória
Análise “a quente”
●
Comandos "básicos" do Windows
●
●
ipconfig, arp, nbtstat, netstat, net, ...
Ferramentas complementares (avançadas):
●
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
Análise Forense em Memória
Análise “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
Análise Forense em Memória
Análise “a quente”
COFEE (Computer Online Forensic Evidence Extractor)
●
Conjunto de comandos do próprio 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
Análise Forense em Memória
Análise “a quente”
COFEE (Computer Online Forensic Evidence Extractor)
●
DECAF = Ferramenta para detecção e subversão de dados
enviados para o COFEE
●
http://decafme.org
●
●
●
●
●
●
Spoof de MAC Address
Kill em processos ativos
Shutdown na máquina
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
histórico do browser
Análise Forense em Memória
Dump + Análise “post mortem”
●
Desafio inicial: Estrutura
(não é um sistema de arquivos estruturado)
●
Busca por expressões regulares (comando strings) = padrões/evidências
●
●
Método “manual”
Uso de ferramentas específicas para manipular imagens de memória
●
Encontrar offsets das principais estruturas
●
Extrair estruturas da memória/dump
●
Recuperar evidências
Análise Independe do sistema de arquivos analisado
Análise Forense em Memória
A Captura (Dump)
●
Captura (dump) pode ser realizada via hardware ou software
Captura via Hardware (especializado)
●
Suspensão do processador
●
Captura da imagem via DMA (Direct Memory Access)
●
Ex: Tribble Card
Placa que deve ser instalada ANTES do
comprometimento do sistema
Vídeo de exemplo (Youtube):
http://www.youtube.com/watch?v=vJszLtaIyIk
Análise Forense em Memória
A Captura (Dump)
Captura (dump) via software
●
Linux: Ferramentas para Aquisição (dump):
●
●
dd/dcfldd (/dev/fmem)
Windows: Ferramentas para Aquisição (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/
Análise Forense em Memória
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
Análise Forense em Memória
Análise “post mortem”
●
Após aquisição de imagem de memória (dump)
●
Uso de strings/grep e “buscas específicas”
●
Carving Manual
●
Exemplo (Sistemas Windows)
●
●
Qual a Versão do Windows?
●
Dump de memória + strings = arquivo_strings
●
cat arquivo_strings |egrep '(KB[0-9]{6})'| grep -i windows
Busca por expressões regulares:
● Nomes de pessoas/usuários
● E-mails eventualmente disponíveis na memória
● Nomes de documentos, programas, senhas...
Análise Forense em Memória
Análise “post mortem”
Outras ferramentas para análise 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)
Análise Forense em Memória
Framework Específico para Análise (múltiplos S.O.)
Volatility (+plugins)
●
http://code.google.com/p/volatility
●
Versão 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
Análise Forense em Memória
Framework Específico para Análise (múltiplos S.O.)
Volatility (+plugins)
●
Versão estável (pacote) de sua distribuição (Linux/Debian):
●
●
apt-get install volatility
Versão estável atualizada = Subversion (SVN):
●
svn checkout http://volatility.googlecode.com/svn/trunk
Análise Forense em Memória
Framework Específico para Análise (múltiplos S.O.)
# python vol.py -h
Volatility Foundation Volatility Framework 2.3.1
Usage: Volatility - A memory forensics analysis platform.
Principais opções/parâmetros:
-h
--conf-file=/root/.volatilityrc
-d
--plugins=PLUGINS
--info
help da ferramenta
arquivo de configuração (default)
modo de depuração (debug)
diretório para plugins extras
informações sobre todos os objetos
Análise Forense em Memória
Framework Específico para Análise (múltiplos 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
Análise Forense em Memória com Volatility
Uso em Dumps de Memória de Sistemas Windows
Exemplos de uso de plugins no Volatility:
python vol.py {plugin} -f {arquivo_dump}
Informações sobre o sistema da imagem analisada:
$ python vol.py imageinfo -f {arquivo_dump}
Módulos/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}
Análise Forense em Memória com Volatility
Exemplos de Uso :: Sistemas Windows
●
Saída do parâmetro 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
Análise Forense em Memória com Volatility
Exemplos de Uso :: Sistemas Windows
●
Saída do parâmetro 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
Análise Forense em Memória com Volatility
Exemplos de Uso :: Sistemas Windows
●
Saída do parâmetro 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
Análise Forense em Memória com Volatility
Windows 8 :: O que há de novo !!??
Suporte do Volatility para Windows8:
- Versão 3.0 (em desenvolvimento)
●
Addition of Windows 8 / Server 2012 Support/Testing
Novos Profiles para Windows 8 = Win8SP0x86 | Win8SP0x64
- Tutorial da nova versão:
https://volatility.googlecode.com/svn/branches/scudette/docs/index.html
- Versão Atual (desenvolvimento) [24/02/2013] Preview Release 0.2:
https://volatility.googlecode.com/files/volatility-tp2.zip
- Instalação 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)
Análise Forense em Memória com Volatility
Windows 8 :: O que há de novo !!??
Plugins Disponíveis (versão 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
Análise Forense em Memória com Volatility
Windows 8 :: O que há de novo !!??
Última Dica sobre o Volatility:
- Versão 3.0 (em desenvolvimento)
●
Traz, adicionalmente, ferramenta de Dump de Memória:
WinPMEM
●
/usr/share/volatility-3.0-tp2/tools/windows/winpmem
●
Versão 1.1
●
Copyright 2012 Michael Cohen <[email protected]>
●
Licença: Apache 2.0
Análise Forense em Memória com Volatility
Imagens para Praticar
NIST Computer Forensic Reference Data Sets (CFReDS Project):
- http://www.cfreds.nist.gov/mem/
Arquivo com várias amostras de imagens de memória:
●
http://www.cfreds.nist.gov/mem/memory-images.rar
●
Imagens de Memórias disponibilizadas pelo Volatility (para testes):
http://code.google.com/p/volatility/wiki/SampleMemoryImages
Distribuições Específicas
Facilitando a vida do Perito :)
www.deftlinux.net
●
Distribuição Específica para Computação Forense
●
Versão Atual: 8.0
●
Versão LiveCD e LiveUSB
Distribuições Específicas
Facilitando a vida do Perito :)
www.kali.org
●
Nova Geração das distribuições para pentesting
●
Sucessor do Backtrack Linux (7 anos de desenvolvimento)
●
Desenvolvido pela Offensive Security
●
Baseado no Debian 7.0 (Wheezy)
●
Disponível desde 11/03/2013
●
ISO (Live / Instalador) e Máquina Virtual (Vmware)
Quer saber mais sobre Segurança da Informação?
www.ricardokleber.com
Palestras:
www.ricardokleber.com/palestras
Vídeos:
www.ricardokleber.com/videos
Twitter:
www.twitter.com/ricardokleber

Documentos relacionados

Extração e Análise de Dados em Memória na Perícia Forense

Extração e Análise de Dados em Memória na Perícia Forense existe no XP e o Volatility ainda não analisa dumps de memória do Vista, esta alternativa pode não oferecer resultados imediatos, mas poderá ser útil quando o Volatility passar a suportar os novos ...

Leia mais

Forense em memória com volatility, LiME e outras

Forense em memória com volatility, LiME e outras Estrutura básica de memória • Similarmente aos filesystems, memórias trabalham com  blocos, conhecidos como páginas. • O tamanho de cada página será determinado pela arquitetura  de processador. • ...

Leia mais