[ 30/05/2010 - Update]
No post original de 2008 (abaixo) há uma lista de ferramentas de dump e análise de memória. Como não atualizo a lista há muito tempo, aproveito para divulgar um post do Tony sobre uma nova versão do Win32dd (e Win64dd), o MoonSols Windows Memory Toolkit. A grande desvantagem é que a versão free (Community Edition suporta apenas dumps de memória em Windows 32bits).
O FTKImager da AccessData - apesar de não listado originalmente - efetua com sucesso dumps de memória em diferentes versões de Windows 32 e 64 bits.
[ 14/12/2009 - Update ]
Mais uma comprovação de que live response através de obtenção de dados a partir do sistema vivo a ser analisado não é o melhor a ser feito.
Já está disponível para download uma ferramenta para detecção e subversão dos dados enviados para o toolkit de live response forense "COFEE" da Microsoft: http://decafme.org/
Eu não chamaria de "Anti-Forense" porque a execução de comandos em um sistema vivo não pode ser considerada Fonrense.. Mas é uma ferramenta - anti-análise ..
A ferramenta DECAF por enquanto faz pouco, mas já mostra o que é possível em um cenário como este:
- Contaminate MAC Addresses: Spoof MAC addresses of network adapters
- Kill Processes: Quick shutdown of running processes
- Shutdown Computer: On the fly machine power down
- Disable network adapters
- Disable USB ports
- Disable Floppy drive
- Disable CD-ROM
- Disable Serial/Printer Ports
- Erase Data: Quick file/folder removal (Basic Windows delete)
- Clear Event Viewer: Remove logs from the Event Viewer
- Remove Torrent Clients: Removes Azureus and BitTorrent clients
- Clear Cache: Remove cookies, cache, and history
[ 10/11/2009 - Update ]
Tem havido bastante discussao acerca do vazamento da ferramenta "COFEE", que a Microsoft disponibiliza apenas para "Forças da Lei" (Law Enforcement).
Detalhes da ferramenta COFEE com screenshots: http://praetorianprefect.com/archives/2009/11/more-cofee-please-on-second-thought/
A verdade eh que o "COFEE" nao passa de um batch parametrizavel para First Responders com uma colecao de comandos do proprio windows e mais algus da sysinternals (que a MS comprou ha mais ou menos um ano. Alem disto, so funciona para XP e Windows 2000.
Segue a lista de comandos executados por default:
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.exe
Como voces sabem (para mais detalhamentos, basta ler todo o post original), este tipo abordagem de executar multiplos comandos com o sistema ligado caiu em desuso e as melhores praticas* apontam para o dump de memória live e posterior análise.
*Referencia:
http://www.cert.org/archive/pdf/08tn017.pdf (este paper do CERT, entitulado "Computer Forensics: Results of Live Response Inquiry vs. Memory Image Analysis" conclui que a Captura/Análise Posterior de Memória tem múltiplos benefícios sobre a resposta à incidentes tradicional executando multiplos binarios em sistemas "vivos")
[ 11/10/2009 - Update ]
Foram divulgadas as novas versões do excelente windd [ win32dd e win64dd ]
[ 28/03/2009 - Update ]
Um ótimo paper sobre Forense de Memória foi publicado recentemente por Kristine Amari no portal do SANS: Techniques and Tools for Recovering and Analyzing Data from Volatile Memory (pdf)
O material busca definir e mostrar o estado atual da Forense de Memória. Dentre os tópicos apresentados, estão:
[ 13/12/2008 - Post Original ]
O assunto Live/Memory Forensics ou "forense de memória" está cada dia mais em pauta (inclusive em vários posts recentes deste blog).
Os motivos são vários:
1) com o o crescimento do tamanho dos discos rígidos e dos casos a serem investigados - tanto no mundo corporativo quando no mundo da criminalística - é inviável a manutenção do procedimento tradicional de se desligar da tomada o sistema a ser analisado e somente depois executar as análises nos discos relacionados.
2) a possível perda de informações sensíveis à investigação - o que pode ser ainda pior quando se trata de uma máquina com volumes (ou o disco inteiro) criptografados por ferramentas como o PGP Full Disk Encryption ou o TrueCrypt.
3) existem também os casos em que a análise de memória é a única alternativa para obtenção de informações úteis sobre o caso. Por exemplo, quando são usadas as interfaces AJAX de Webmails modernos (Google, Yahoo) - as informações sobre os emails lidos/escritos ficam somente em memória, não havendo artefatos úteis no disco, mesmo nas áreas não alocadas.
A última boa comparação sobre ferramentas deste tipo havia sido publicada em junho por Halan Carvey, autor do livro "Windows Forensics Analysis".
Pois bem, ontem mais um ótimo post sobre o assunto - entitulado "Windows Physical Memory: Finding the Right Tool for the Job" - foi publicado no site sobre computer forensics do Sans Institute.
O melhor é que neste último post do Sans, o autor (Johnh Sawyer) citou uma grande variedade de soluções - tanto free / open source, quanto comerciais - que facilitam o trabalho de capturar e analisar os dumps de memória de máquinas - segue a listagem contendo uma tradução livre e alguns comentários meus:
1 - Ferramentas de Aquisição de Memória:
1a - Mandiant Memoryze : boa ferramenta, capaz de fazer o dump de todo o range físico de memória, independente de APIs do Windows, identificação de drivers, hooks e módulos de kernel presentes na memória.
1b - Mantech Memory DD : como o Sawyer colocou, simples e eficiente.
1c - Win32dd - tem a vantagem de exportar também em formato do WinDbg - para posterior análise.
1d - Guidance Winen.exe/winen64.exe - conforme post de junho, a partir da versão 6.11 o Encase Forensic vem com dumpers de memória (32 e 64 bits). A boa notícia para quem não tem a licença/dongle é que o último Live CD Helix inclui o winen.exe
1e - Encase Forensic - possibilita o dump da memória inteira ou de processos específicos (veja)
1f - F-Response - Não faz o dump por si só mas estabelece um canal de comunicação iSCSI com a máquina para uso das outras ferramentas descritas no post.
1g - KNTTools da GMG Systems - este aqui eu não conhecia, Sawyer comenta que não vem sendo atualizado, então provavelmetne não o conheceremos em detalhes..
1h - FastDump da HBGary - excelente ferramentas gratuita que auxiliam o examinador a entender o funcionamento de executáveis (mais voltadas para estudo de malwares).
2 - Ferramentas de Análise de Dumps de Memória:
2a - Volatility - Excelente Framework - escrito em python e gratuito - que - juntamente com seus plugins - facilita em muito a extração de informações críticas aos examinadores forenses (como a passphrase de um sistema com Full Disk Encryption utilizando TrueCrypt..).
2b - Memoryze - da Mandiant, possui o output em XML (o que pode ser ruim se você busca clareza e bom se você precisa integrar com qq coisa que leia XML).
2c - HbGary Responder - considerada por analistas do mercado por muito tempo como a melhor ferramenta no ramo. Pode ser integrada facilmente a versao Enterprise do Encase.
2d - Enscripts para Encase Forensic/Enterprise - (ver figura) - no site de suporte da Guidance existem alguns Enscripts disponíveis para tarefas relacionadas à análise de memória.
PS2: A imagem no início deste post (tradução livre) faz parte do excelente paper "Computer Forensics: Results of Live Response Inquiry vs. Memory Image Analysis" - do Sans Institute (Ago/2008). Os autores deste paper concluem que a Captura/Análise Posterior de Memória tem múltiplos benefícios sobre a resposta à incidentes tradicional em sistemas "vivos" - leitura recomendada.
PS3: Uma outra boa fonte de referência sobre o assunto - que inclui também um estudo com análise de código rodando em máquinas linux e windows - é o livro "Malware Forensics" - de James M. Aquilina, Eoghan Casey e Cameron H. Malin.
Um ótimo paper sobre Forense de Memória foi publicado recentemente por Kristine Amari no portal do SANS: Techniques and Tools for Recovering and Analyzing Data from Volatile Memory (pdf)
O material busca definir e mostrar o estado atual da Forense de Memória. Dentre os tópicos apresentados, estão:
- o funcionamento básico da memória volátil;
- as técnicas de aquisição;
- a localização de dados de interesse e sua persistência;
- a enumeração de processos;
- a recuperação de arquivos mapeados em memória;
- as buscas simples e por assinatura de arquivos;
- a detecção e recuperação de dados ocultos.
- GPL e gratuitas: Memdump, KnTTools, FATKit, Volatility, VAD Tools, WMFT/Procenum/Idetect
- Comerciais: Encase Enterprise, F-Response, HBGary Responder/FastDump.
[ 13/12/2008 - Post Original ]
O assunto Live/Memory Forensics ou "forense de memória" está cada dia mais em pauta (inclusive em vários posts recentes deste blog).
Os motivos são vários:
1) com o o crescimento do tamanho dos discos rígidos e dos casos a serem investigados - tanto no mundo corporativo quando no mundo da criminalística - é inviável a manutenção do procedimento tradicional de se desligar da tomada o sistema a ser analisado e somente depois executar as análises nos discos relacionados.
2) a possível perda de informações sensíveis à investigação - o que pode ser ainda pior quando se trata de uma máquina com volumes (ou o disco inteiro) criptografados por ferramentas como o PGP Full Disk Encryption ou o TrueCrypt.
3) existem também os casos em que a análise de memória é a única alternativa para obtenção de informações úteis sobre o caso. Por exemplo, quando são usadas as interfaces AJAX de Webmails modernos (Google, Yahoo) - as informações sobre os emails lidos/escritos ficam somente em memória, não havendo artefatos úteis no disco, mesmo nas áreas não alocadas.
A última boa comparação sobre ferramentas deste tipo havia sido publicada em junho por Halan Carvey, autor do livro "Windows Forensics Analysis".
Pois bem, ontem mais um ótimo post sobre o assunto - entitulado "Windows Physical Memory: Finding the Right Tool for the Job" - foi publicado no site sobre computer forensics do Sans Institute.
O melhor é que neste último post do Sans, o autor (Johnh Sawyer) citou uma grande variedade de soluções - tanto free / open source, quanto comerciais - que facilitam o trabalho de capturar e analisar os dumps de memória de máquinas - segue a listagem contendo uma tradução livre e alguns comentários meus:
1 - Ferramentas de Aquisição de Memória:
1a - Mandiant Memoryze : boa ferramenta, capaz de fazer o dump de todo o range físico de memória, independente de APIs do Windows, identificação de drivers, hooks e módulos de kernel presentes na memória.
1b - Mantech Memory DD : como o Sawyer colocou, simples e eficiente.
1c - Win32dd - tem a vantagem de exportar também em formato do WinDbg - para posterior análise.
1d - Guidance Winen.exe/winen64.exe - conforme post de junho, a partir da versão 6.11 o Encase Forensic vem com dumpers de memória (32 e 64 bits). A boa notícia para quem não tem a licença/dongle é que o último Live CD Helix inclui o winen.exe
1e - Encase Forensic - possibilita o dump da memória inteira ou de processos específicos (veja)
1f - F-Response - Não faz o dump por si só mas estabelece um canal de comunicação iSCSI com a máquina para uso das outras ferramentas descritas no post.
1g - KNTTools da GMG Systems - este aqui eu não conhecia, Sawyer comenta que não vem sendo atualizado, então provavelmetne não o conheceremos em detalhes..
1h - FastDump da HBGary - excelente ferramentas gratuita que auxiliam o examinador a entender o funcionamento de executáveis (mais voltadas para estudo de malwares).
2 - Ferramentas de Análise de Dumps de Memória:
2a - Volatility - Excelente Framework - escrito em python e gratuito - que - juntamente com seus plugins - facilita em muito a extração de informações críticas aos examinadores forenses (como a passphrase de um sistema com Full Disk Encryption utilizando TrueCrypt..).
2b - Memoryze - da Mandiant, possui o output em XML (o que pode ser ruim se você busca clareza e bom se você precisa integrar com qq coisa que leia XML).
2c - HbGary Responder - considerada por analistas do mercado por muito tempo como a melhor ferramenta no ramo. Pode ser integrada facilmente a versao Enterprise do Encase.
2d - Enscripts para Encase Forensic/Enterprise - (ver figura) - no site de suporte da Guidance existem alguns Enscripts disponíveis para tarefas relacionadas à análise de memória.
PS: Existem várias outras ferramentas interessantes como referência de "memory analysis", como: FATKit, Flypaper da HBGary, Windows Memory Forensics Toolkit (FrameWork), memparser, PmoDump/Truman (FrameWork), WinDbg - a primeira ferramenta a analisar crash dump de memória física no windows (thanks, msuiche), Hibrshell (para análise de arquivos de hibernação windows de Xp a 2008), e KnTools (comercial - ver comentários do post).
PS2: A imagem no início deste post (tradução livre) faz parte do excelente paper "Computer Forensics: Results of Live Response Inquiry vs. Memory Image Analysis" - do Sans Institute (Ago/2008). Os autores deste paper concluem que a Captura/Análise Posterior de Memória tem múltiplos benefícios sobre a resposta à incidentes tradicional em sistemas "vivos" - leitura recomendada.
PS3: Uma outra boa fonte de referência sobre o assunto - que inclui também um estudo com análise de código rodando em máquinas linux e windows - é o livro "Malware Forensics" - de James M. Aquilina, Eoghan Casey e Cameron H. Malin.