Dump de Memória 3 - Memoryze

Opa, bom dia galera!

Hoje eu vou falar sobre o programa para fazer dump de memória, chamado Memoryze, da empresa Mandiant. Sem dúvida, é uma ótima ferramenta forense, extremamente poderosa na análise de conteúdo de memória e deveria fazer parte de todo kit forense de qualquer especialista na área.

Então vamos começar. Antes de fazer o download do programa, é preciso ter em mente que o memoryze trabalha com 2 componentes: o próprio Memoryze e o Audit Viewer. O primeiro é responsável por fazer a extração e análise do conteúdo da memória; já o segundo é responsável por pegar o resultado XML gerado pelo memoryze e apresentar este conteúdo em um formato mais amigável. Isso significa que é preciso fazer o download do audit viewer tambem. Como pré-requisito é preciso ter instalado o python no ambiente para rodar o AuditViewer.

O memoryze suporta as seguintes plataformas:
  • Windows 2000 Service Pack 4 (32-bit)
  • Windows XP Service Pack 2 e Service Pack 3 (32-bit)
  • Windows Vista Service Pack 1 e Service Pack 2 (32-bit)
  • Windows 2003 Service Pack 2 (32-bit)
  • Windows 2003 Service Pack 2 (64-bit)
  • Windows 7 Service Pack 0 (32-bit)
  • Windows 7 Service Pack 0 (64-bit)
  • Windows 2008 Service Pack 0 (64-bit)
O primeiro passo é entrar no site e fazer o download dos 2 programas. Depois de ter feito o donwload, é só instalar os programas. É muito fácil. É só clicar em next, next e finish.
A Figura 1 mostra o diretório onde o Memoryze foi instalado.

















Antes de realizar o dump é preciso prestar atenção em um ponto: o Memoryze precisa carregar seu driver no kernel-land para acessar e extrair o conteúdo da memória. Mas por questões de segurança, os sistemas operacionais da Microsoft vêm desabilitando este acesso dos drivers na memória RAM. Esta postura da Microsoft, faz com que mesmo que eu tenha acesso de administrador do sistema, ainda preciso realizar algumas ações para poder rodar o Memoryze com poderes de root. A Figura 2 mostra exatamente este erro de rodar o programa sem os devidos privilégios de root.










Para contornar esse problema, precisamos tomar algumas medidas que eu já mostrei em um post passado, sobre o win32dd. Mas vamos refazer estes passos. Primeiramente, vá no botão iniciar que está do lado esquerdo da tela, lá embaixo. Depois clique em acessórios. Agora clique com o botão direito do mouse em cima do ícone prompt de comando. Irá abrir um menu, escolha a opção Executar como administrador. A Figura 3 mostra essa opção.





















O meu computador mostra que eu só tenho um único login na minha máquina. A Figura 4 mostra esse único usário.










Agora nós precisamos alterar os privilégios desse usuário para que ela passe a ser root. O comando é net user [nome da conta] \active:yes. A figura 5 mostra o comando na tela para alterar os privilégios do usuário.









Depois disso, podemos ir até onde está instalado o Memoryze e realizar o dump de memória. A Figura 6 mostra quais são os arquivos dentro da pasta Memoryze.










Notem que existem vários arquivos, cada qual com sua função. Nós temos os scripts (.xml) que são:
  • AcquireDriver.Batch.xml
  • AcquireMemory.Batch.xml
  • AcquireProcessMemory.Batch.xml
  • DriverAuditModuleList.Batch.xml
  • DriverAuditSignature.Batch.xml
  • HookAudit.Batch.xml
  • ProcessAuditMemory.Batch.xml

Além dos scripts, nós temos os arquivos Batch (.bat), que são:
  • MemoryDD.bat - obtém a imagem da memória física
  • ProcessDD.bat - obtém a imagem do espaço de endereço do processo
  • DriverDD.bat - obtém a imagem de um driver específico
  • Process.bat - enumera todas as informações sobre um processo específico, como memória virtual, portas de rede, handle e strings
  • HookDetection.bat - procura por hooks (ganchos) dentro do sistema operacional
  • DriverSearch.bat - acha drivers

Agora nós estamos prontos para fazer o dump de memória. Para realizar o dump de toda a memória RAM, nós usamos o MemoryDD.bat. A Figura 7 mostra a linha de comando.









Por padrão, a saída do comando vai ser gravado no diretório C:\Arquivos de Programas\mandiant\Memoryze\Audits\[nome do computador]\[data e hora]. Se quisermos gravar a saída do comando em outra pasta, basta adcionarmos o parâmetro -output [caminho completo da pasta onde queremos colocar a saída do comando]. A Figura 8 mostra o exemplo na tela








A Figura 7 mostrou o comando na tela do computador para fazer o dump completo da memória. À medida em que o programa vai realizando o dump, aparece na tela alguns warnings. Esses warnings informam ao usuário que algumas páginas da memória (4096 bytes) não puderam ser lidas pela ferramenta. No memoryze, cada warning possui um endereço; portanto, existe um warning para cada página (4096 bytes) que não foi lida.
A Figura9 mostra esses warnings na tela












A Figura10 mostra na tela o comando para extrair algumas informações do dump de memória como: portas abertas, handles e todos os processos com suas seções de memória associadas (este último parâmetro pode ser usado para descobrir as DLL carregadas).
OBS: Handle - referencia para o bloco da memória que um processo se encontra
PID - referencia o número do processo junto à lista de tarefas do Windows










Depois de feito o dump de memória, vamos usar o programa Audit Viewer para analisá-lo. Eu volto a dizer que o auditviewer é depende do python. Descomprima o auditviewer no mesmo diretório do memoryze (se quiser, você pode descomprimí-lo em um outro diretório) . A Figura11 mostra os 2 arquivos no mesmo diretório.








Agora nós vamos acessar o diretório do AuditViewer e dar um duplo clique no arquivo auditviewer.exe. Vai aparecer uma imagem na tela como o da figura12














Vocês podem notar que escolhemos a segunda opção Configure Memoryze. A primeira, nós vamos abordar mais tarde, que é usada quando já temos um resultado de análise do conteúdo da memória e então nós vamos reanalisar o dump da memória. Seguindo em frente, clique no botão next e aí então vai aparecer na tela uma imagem como mostra a Figura 13. Vocês podem notar que existem 3 campos:
  • número 1: vamos informar ao auditviewer aonde o arquivo memoryze.exe está localizado
  • número 2: informamos ao auditviewer aonde iremos salvar os resultados da nossa análise. (memoryze acrescenta ao diretório de sáida: Audits\[NOME DO COMPUTADOR]\[REGISTRO DA HORA E DO DIA%]. Por exemplo: C:\Program Files\MANDIANT\Memoryze\Audits\NOTEBOOK\20101130104030)
  • número 3: o padrão é escolher sem compressão. Mas se o usuário quiser, ele pode escolher compressão AFF ou gzip.












Clicando no botão next, nós vamos para outra tela, Figura14, aonde vamos informar se queremos trabalhar com a imagem de uma memória adquirida previamente (dead memory) ou se vamos fazer a imagem da memória pra depois análisá-la (live memory). Nós vamos ecolher a primeira opção "dead memory".













Terminamos de ajusatr o ambiente. Agora vamos escolher várias opções de tarefas que o memoryze vai executar. Mas eu não vou mostrar essas opções aqui no blog. Eu vou dar a oportunidade de vocês procurarem isso no manual de usuário do Memoryze e do AuditViewer, que por sinal foi um belo trabalho de documentação da Mandiant. Depois de concluir a escolha dessas tarefas, vai aparecer uma tela mostrando uma barra de progressão culminando com uma tela mostrando todos os processos junto com suas DLL's, handles, etc. Esse procedimento vai demorar um pouco (pode ser até uns 30 minutos ou mais) dependendo do número de tarefas que pedimos para serem executadas. A Figura15 mostra o AuditViewer trabalhando com "dead memory". Do lado esquerdo estão os nomes de cada processo com algumas informações. Escolha um processo qualquer, clique 2 vezes no seu nome e aí então do lado direito vão aparecer várias abas, com várias informações a seu respeito.















É isso, galera!
Espero que eu tenha contribuído um pouco no uso dessas ótimas ferramentas que são o Memoryze e o Audit Viewer.
Até a próxima.
Abração!


Referência:

Tutorial de Criptografia com GPG

Opa, e aí galera.

Tudo bem com vocês?

Hoje eu vou passar um link aqui de um vídeo mostrando como usar o GPG para criptografar email do Gmail. É um vídeo bem legal, vale a pena dar uma olhada.
O link é: http://www.irongeek.com/i.php?page=videos/using-GPG-PGP-FireGPG-to-encrypt-and-sign-email-from-gmail

O vídeo é bem legal. Dêem uma olhada.

Abração em todos vocês!

Tutorial de como Instalar o Log2Timeline

Opa, e aí galera?
Tudo beleza?

Hoje eu vou passar um tutorial de como instalar essa ferramenta muito interessante.

O Tutorial é:
  1. Entre no site: http://log2timeline.net
  2. Entre no diretório "/etc/apt/sources.list" e acrescente a linha: deb http://log2timeline.net/pub karmic mais
  3. Acesse o site http://log2timeline.net/gpg.asc
  4. Copie o conteúdo para um arquivo de texto e salve com qualquer nome, mas que tenha extensão ".asc". Nesse tutorial eu salvei com o nome "gpg.asc"
  5. Digite o comando apt-key add . No meu caso foi o comando: apt-key add /home/anderson/Desktop/gpg.asc
  6. Em seguida, digite o comando: apt-get update
  7. Depois, digite o comando: apt-get install log2timeline-perl

Pronto, galera. Depois disso o programa Log2timeline está instalado. Agora é só usá-lo.

Qualquer coisa, me deixa recado aqui ou me manda email.

Abração!

TimeZone, Timestamp e Investigação de Crimes Digitais

Bom dia, galera!

É extremamente importante para o perito estabelecer o horário de um incidente.
É preciso considerar diferenças na sincronização entre relógios, horário de verão e outros problemas mais.

Para saber qual o fuso horário dos países, basta acessar este link.

Pra quem quer um exemplo de como o fuso horário pode nos atrapalhar nesse sentido, basta dar uma olhada nesse post do Tony: http://forcomp.blogspot.com/2009/09/wtf-e-timestamps.html

Pra facilitar esse problema, fui procurar na internet alguns links que mostram algumas informações sobre fuso horário e as horas nesse exato momento em várias cidades do mundo.
O primeiro link é: http://24timezones.com/hora_certa.php
O segundo link é: http://pt.wikipedia.org/wiki/Anexo:Lista_de_fusos_hor%C3%A1rios
O terceiro link é: http://docs.sun.com/source/816-5523-10/appf.htm
O quarto link é: http://pcdsh01.on.br/
O quinto link é: http://www.gsp.com/support/virtual/admin/unix/tz/
O sexto link é: http://www.worldtimezone.com/
O sétimo link é: http://www.gentoo.org/doc/en/guide-localization.xml
O oitavo link é: http://home.tiscali.nl/~t876506/TZworld.html
O nono link é: http://wiki.openwrt.org/doc/uci/system
O décimo link é: http://search.cpan.org/~sbeck/Date-Manip-6.31/lib/Date/Manip/Zones.pod

Por fim, o próximo link mostra as "tz string": http://www.cypress.bc.ca/timezones.html

Bom, é isso.
Abração em todos!

Investigação por Email

Aí galera, bom dia!

aqui vai dois links falando sobre como fazer investigação por email, rastreando-os.
bem legal o assunto.

O primeiro link é: http://www.ataliba.eti.br/node/1794
O segundo link é: http://www.yousicurity.com/2009/11/tracking-anonymous-e-mailer-with.html

Bom, é isso.
Um grande abraço!