Metadados em Imagens e a Ferramenta Exiftool

Opa, e aí galera. Beleza?

A fotografia digital implementou um conceito conhecido como Exif (abreviatura de Exchangeable Image File Format), criada pela Associação pelo Desenvolvimento da Indústria Eletrônica do Japão - Japan Electronic Industries Development Association (JEIDA). Esse formato é uma especificação de gravação de metadados etiquetados e gravados em estrturas de arquivos de imagens. Algumas câmeras com GPS por exemplo, estão implementando dados Exif com informações do tipo Latitude. Essas informações podem ter valor para o perito digital, informando a posição geográfica e o local aonde determinada foto foi tirada. Assim, quando enviamos essas fotos para sites como o Picasa ou Flickr, as fotos já vão aparecer no local posicionado no mapa.

E como eu posso acessar dados Exif?
Existe uma ferramenta bem legal chamada Exiftool. Esse programa é usado para ler, escrever e editar metadados em vários tipos de arquivos. Podemos, por exemplo, gravar o nome do fotógrafo (autor) da imagem. Apesar de gravarmos certos campos, não podemos criá-los a torto e a direito. Os campos que podemos gravar seguem a especificação da JEIDA, que podem ser acessados através do site Exiftool Tag Names.

A ferramenta Exiftool roda em Macintosh OSX, Windows e Unix-like. Para ver instruções de instalação, acesse o site do autor da ferramenta, Phil Harvey.

Como eu instalo a ferramenta Exiftool em sistemas Debian?
Pode-se digitar no bash o seguinte comando: apt-cache search exiftool (figura 1)












O próximo passo é instalar a ferramenta com o comando apt-get install libimagem-exiftool-perl (figura 2).












Agora vamos fazer o download de uma imagem chamada Tux que já possui metadados Exif. Para visualizar estes metadados, podemos digitar no bash o comando (figura 3) :












Depois de baixar a imagem, vamos calcular seu hash MD5, digitando o comando a seguir (figura 4):












Agora nós vamos usar a ferramenta exiftool para alterar a tag Author (nesse exemplo o campo é nulo), basta digitar o seguinto comando (figura 5):












Agora vamos calcular novamente o hash da imagem. Note que seu valor foi alterado e está completamente diferente. (figura6)












Outro programa para extrair dados Exif de uma imagem digital é o programa chamado metacam. Para visualizar metadados da imagem, utiliza-se a seguinte sintaxe (figura 7):











Podemos notar que é fácil manipular metadados não só em imagens, mas em qualquer tipo de arquivo. No próximo post, vamos falar sobre metadados em arquivos PDF.

Bom, é isso.
Abração!


Referências:

Converter Imagem.E01 para Imagem no Formato RAW

Opa, e aí galera. Tudo beleza?

Dando uma passeada em alguns blogs sobre forense computacional, eu achei no blog do cientista Lance Mueller um post bem legal. Ele propõe um exercício prático de forense computacional. O link para esse post é: http://www.forensickb.com/2010/01/forensic-practical-exercise-3.html

E lá existe uma dica em um comentário que nós é bastante pertinente.
Se nós não temos acesso ao EnCase, podemos converter uma imagem .E01 em formato RAW usando o sleuthkit. Para isso, nós vamos usar a ferramenta img_cat. A primeira coisa que nós fizemos foi entrar no link do exercício prático proposto anteriormente e baixar o arquivo. A figura 1 mostra na tela que o arquivo é bem compacto, possui 7,1 MB.












Depois disso, digitamos na tela o seguinte comando.
  • img_cat -v -i ewf [imagem.E01] > [imagem.dd]
OBS: troque o campo imagem.E01 pelo nome do seu arquivo. Aqui, nesse meu exemplo, eu o usei o nome Forensic_Practical_3.E01 e continuei com o nome imagem.dd. Então a linha de comando ficaria: img_cat -v -i ewf Forensic_Practical_3.E01 > imagem.dd

A figura 2 mostra na tela que o arquivo foi convertido para o formato RAW e um comparativo entre os 2 arquivos. Notem que anteriormente o arquivo original possuía pouco mais de 7 MB e agora o novo arquivo possui 3,8 GB. Isso acontece porque a extensão .E01 compacta o arquivo, deixando-o muito menor. Quando transformamos para o formato RAW (dd), ele volta ao tamanho normal, sem compactação.










A Figura 3 mostra na tela algumas informações sobre a imagem.







Guerra Cibernética - O Futuro já chegou

Opa, e aí galera. Tudo bem com vocês?

Hoje vou postar 2 links bem interessante.
Eles falam do Stuxnet, um código malicioso extremamente poderoso que afetou sistemas SCADA de indústrias do Irã.

O primeiro link é: http://sseguranca.blogspot.com/2010/07/0day-lnk-infocon-amarelo-senha-default.html
O segundo link é: http://blog.tempest.com.br/cristiano-lincoln/the-future-is-already-here-its-just-unevenly-distributed.html

Bom, é isso.
Abração em vocês!

Fuzzy Hashing - SSDEEP

Opa, e aí galera. Tudo beleza?

Agente já falou aqui sobre a importância de hashes para um perito digital. Um estudioso da área chamado Jesse Kornblum criou uma ferramenta bem legal. Ela se chama: ssdeep

Mas o que essa ferramenta faz? Ela calcula o índice de semelhança entre arquivos através de comparação de hashes.

Eu vou mostrar um exemplo prático de como usar esta ferramenta.

Primeiramente, eu vou criar um arquivo no OpenOffice Word Processor. O meu arquivo é uma lista de frutas que contém 5 elementos: Maçã, banana, melão, mamão e melancia. Vou chamar este arquivo de frutas.doc. Depois, eu vou criar um outro arquivo que vai se chamar frutas2.doc e que vai conter os elementos: maca, banana, melão, mamão e melancia.


OBS: Notem que a única diferença entre os 2 arquivos está no nome da primeira fruta (em frutas.doc o primeiro elemento é maçã; em frutas2.doc o primeiro elemento é maca).

O segundo passo é armazenar o hash do "frutas.doc" em um arquivo, que vou chamá-lo de hash.db. O parâmetro "-b" usa o caminho relativo, ao invés de usar o caminho absoluto (figura1).










Depois, é só confrontar o conteúdo do arquivo "hash.db" com o arquivo frutas2.doc. Desse modo, eu estou calculando o índice de semelhança dos 2 arquivos. Mas para confrontar esses dois arquivos eu preciso utilizar ainda o parâmetro -m (figura 2):










O valor entre parênteses indica o nível de semelhança entre os 2 arquivos. Neste exemplo, o ssdeep diz que o arquivo frutas2.doc se assemelha em 71% com o arquivo frutas.doc

Pra vocês entenderem melhor, eu selecionei alguns artigos sobre o assunto onde vocês podem pesquisar mais sobre o assunto:
1º artigo: http://www.forensicswiki.org/wiki/Ssdeep
2º artigo: http://foren6.wordpress.com/2009/11/27/fuzzyhashing/
3º artigo: http://computer-forensics2.sans.org/blog/2010/08/12/computer-forensics-disk-diff
4º artigo: http://forcomp.blogspot.com/2007/09/nosso-amigo-hash-parte-vi.html

Com esses 4 artigos, vocês vão entender bem o que é fuzzy hashing e como utilizar essa ferramenta muito interessante, chamada ssdeep.

Bom, é isso.
Abração!

Como usar a VM SIFT Workstation para Montar e Examinar uma Imagem Windows NTFS

Opa, e aí galera? Beleza?

Primeiramente, eu quero dizer que este post é uma versão em português de uma publicação no blog do SANS Insititute. O link para o original é:
http://computer-forensics.sans.org/blog/2009/02/19/digital-forensic-sifting-how-to-perform-a-read-only-mount-of-evidence. Em segundo lugar, quero dizer que para este post é preciso estar conectado à internet o tempo todo. Então vamos botar a mão na massa.

Hoje eu vou falar de uma coisa bem legal. Nós vamos ver como usar o SIFT Workstation e montar uma imagem na VM do SIFT e depois vamos abrir e examinar essa mesma imagem lá no Windows. Essa foi uma inovação bolada pelo pessoal do SANS Institute, capitaneada pelo Rob Lee.

A primeira coisa a se fazer é configurar o ambiente. Primeiramente, vamos abrir a VM da SIFT Workstation. Então, vamos clicar no botão virtual machine e depois vamos na opção Virtual Machine Settings. A Figura 1 mostra este procedimento.















Vamos escolher agora a aba Options e faça o seguinte procedimento. A Figura 2 mostra na tela.
  1. Escolha a opção Shared Folders
  2. Do lado direito da tela, marque a opção Always enabled
  3. Clique no botão OK
















Depois disso, eu volto para a VM do SIFT Workstation, abro o prompt de comando como root, e digito dhclient. Este comando vai fazer com que a VM pegue um endereço IP na internet. Depois, ainda dentro da VM SIFT Workstation, eu digito no terminal, o comando ifconfig. Anoto o IP que vai ser mostrado na tela. A Figura 3 mostra o IP que eu vou anotar para esse exemplo.






Depois eu volto para a máquina real (Windows Vista), vou em iniciar, executar, e digito o IP que eu anotei e clico em OK. A Figura 4 mostra na tela.












Pronto, agora vai abrir a tela aonde eu tenho acesso aos arquivos que estão montados na minha VM, como read-only. A Figura 5 mostra na tela.










Agora eu vou copiar uma imagem qualquer para dentro da minha VM e depois montá-la. Para isso conectei minha mídia (HD, CD, DVD, pendrive) mas estava dando erro, eu não conseguia acessar minha mídia. Então eu fiz o seguinte:
  1. Conforme a figura 1, existe um botão Virtual Machine. Cliquei nele
  2. Fui na opção Removable Devices
  3. Fui na opção Kingston USB Mass Storage Device
  4. Digitei no prompt de comando (como root): mount -t ntfs-3g -o force /dev/sdc1 /media/usb
  5. copiar a minha imagem zipada para o meu HD: cp vista_dd.001.bz2 /home/sansforensics/Desktop
  6. Por último, eu vou descompactar a minha imagem, digitando: bzip2 -d vista_dd.001.bz2
Agora eu consegui acessar minha mídia e já copiei minha imagem pra dentro da VM (mas poderia muito bem montar minha imagem sem copiá-la pra VM). Depois disso, eu vou montar minha imagem. Pra isso, eu digito no terminal, como root: mount -t ntfs-3g -o ro,loop,show_sys_files /home/sansforensics/Desktop/vista_dd.001 /mnt/windows_mount. A Figura 6 mostra na tela.












Agora, para podermos acessar a imagem utilizando o ambiente Windows, basta acessar o diretório \\10.5.5.1\mnt\windows_mount. Se vocês perceberem atentamente, o IP da figura 7 é outro. Isso acontece porque eu estou usando IP dinâmico. Eu desconectei e conectei novamente depois de algumas horas, por consequência, meu IP muda a cada conexão nova. Mas não importa qual o IP que nós colocamos aqui. O importante é que ele tem que ser o mesmo da figura 3 e figura 4. A Figura 7 mostra eu acessando a imagem montada como read-only no ambiente Windows, através da pasta compartilhada.















Nós não vamos alterar nenhum dado da imagem, porque ela foi montada como read-only. Então, depois de efetuado todo esse processo, uma das primeiras ações a ser tomada seria rodar um antivírus na imagem montada. Essa foi uma ótima jogada do Rob Lee. Achei bem legal!
Bom, é isso galera.
Abração!

Links com Matérias e Vídeos sobre Forense Computacional

Opa, e aí galera. Tudo bem?



Hoje eu vou colocar 3 links sobre forense computacional. O primeiro é uma matéria e os outros 2 são vídeos da área.

O primeiro link vem demonstrando o professor Eriberto realizando uma forense de rede: http://www.eriberto.pro.br/blog/?p=376
O segundo é um vídeo no youtube mostrando o Desafio Forense do site honeynet. O link é: http://www.youtube.com/watch?v=1d1vPA2Je8I&feature=mfu_in_order&list=UL
O terceiro link é: http://www.youtube.com/watch?v=gytvYLnIfG0
O quarto link é uma página que possui 2 desafios: http://www.ashemery.com/dfir.html



Bom é isso, abração em vocês!

Resetar Senha de Login no Windows Vista

Opa, e aí galera? Tudo bem?

Às vezes deparamos com certos problemas que nos dão dor de cabeça. Eu comprei um notebook da Dell há um tempo atrás, modelo Inspiron 1525. Ele veio com o sistema Windows Vista Basic instalado de fábrica. Muito bem, um certo dia, eu fui fazer o login no Vista e aí me deparei com a seguinte mensagem: login ou senha incorretos. Pronto, aí fui procurar alguma coisa na internet pra contornar esse problema e achei um tutorial bem bacana e simples. Era um tutorial para resetar a senha do Windows usando qualquer distribuição Linux Live-CD.

O que acontece é que na tela inicial do windows, no canto esquerdo, lá embaixo, aparecem 3 ícones. O primeiro é o ícone para facilitar o uso do computador. O segundo ícone é a barra de idiomas e o terceiro mostra qual é o teclado instalado no sistema operacional e que está em uso. O que nós temos que fazer é dar um jeito de iniciar o Windows trocando algum desses 3 ícones pelo ícone do prompt de comando. Os 8 passos seguintes é justamente pra realizar essa tarefa:
  1. Dê o boot na máquina com o Live-CD Linux
  2. Abra o terminal como root e crie um diretório. Ex: mkdir /media/win
  3. Digite o comando fdisk -l e veja qual é a partição Windows. Eu vou considerar que o Windows é o /dev/sda2.
  4. Monte a partição Windows no diretório criado anteriormente. Ex: mount /dev/sda2 /media/win
  5. Com o Windows montado, navegue até o diretório onde ficam os arquivos de sistema. Ex: cd /media/win/Windows/System32
  6. Dentro dessa pasta, procure o arquivo Utilman.exe
  7. Renomeie o arquivo. Ex: mv Utilman.exe Utilman.old
  8. Ainda dentro da pasta system32, renomeie o arquivo cmd. Ex: mv cmd.exe Utilman.exe

Pronto, assim estaremos enganando o Windows e o prompt de comando vai estar lá na tela de login do sistema. Depois disso, é preciso fazer mais algumas alterações simples, que são:

  1. Reinicialize o Windows e na tela de login, clique no ícone que está no canto inferior esquerdo da tela (perto do ícone de idiomas)
  2. Quando você clicar, vai aparecer a tela do prompt de comando. Digite: net user
  3. Vai abrir uma lista de usuários cadastrados no computador. Escolhe o usuário que você quer mudar a senha e digite: net user "nome que quer mudar" * (no meu caso, eu coloquei net user anderson *)
  4. Agora ele vai pedir para você digitar a senha. É só digitá-la.

Pronto, agora precisamos fazer voltar todos os programas normais, inclusive fazer voltar o facilitador de uso e acesso. Para isso, faça o seguinte:

  1. Reinicialize o computador com o Live-CD Linux
  2. Abra o terminal do linux como root e navegue até o diretório /media/win/Windows/System32
  3. Dentro deste diretório renomeie o arquivo utilman. Ex: mv Utilman.exe cmd.exe
  4. Depois renomeie o arquivo utilman.old. Ex: mv Utilman.old Utilman.exe

Pronto, acabamos de resetar a senha de login do Windows tendo em mãos uma distribuição linux. É muito simples fazer este tipo de tarefa. É claro que existem outras maneiras de resetar a senha de login, por exemplo, usando o CD Hirens. E existem softwares pagos pra isso tambem. O meu intuito aqui foi mostrar como eu posso usar qualquer distribuição Linux Live-CD para este tipo de tarefa especificamente.

É isso. Um abraço em todos!

Temas de Pesquisa na área de Computação Forense

Opa, e aí galera.

Tudo bem com vocês?
Hoje eu vi uns links bem legais falando sobre vários temas de pesquisa em computação forense.
O primeiro link é: http://www.forensicfocus.com/project-ideas
O segundo link é: http://www.forensicswiki.org/wiki/Open_Research_Topics

Uma outra fonte de informação bastante interessante são os "jornais" americanos na área de forense computacional:



Para adicionar algumas idéias aí, eu acrescento alguns temas:

  • Resposta e tratamentos de incidentes (fraudes e crimes) em ambiente corporativo
  • Análise e engenharia reversa para desenvolver ferramentas anti-malwares
  • Estudo de caso (aplicação) de métodos e técnicas forenses em casos específicos
  • Desenvolvimento de ferramentas (software/hardware) para perícia digital
  • Identificação e análise forense de crimes digitais
  • Estudo das principais ferramentas Linux de análise forense (estado da arte)
  • Inteligência artificial na detecção e prevenção de fraudes e crimes digitais
  • Inteligência e a Perícia Digital: fontes de informação na determinação das informações relevantes sobre fraudes e crimes digitais
  • Técnicas de canais cobertos e anti-forensics
  • Quebra da senha de acesso do iphone, utilizando técnicas de quebra de criptografia
  • Documents and Media Exploitation (Simson Garfinkel)
  • Data Fusion with Online Information (Simson Garfinkel)
  • Firewall com processadores Multi-core (GPU)
  • Exame de evidências digitais com soluções de big data, como hadoop
  • Análise de grandes quantidades de arquivos de log de botnets
  • Uso de análise de dados (BI) na interpretação de dados forense
  • Problemas e soluções para armazenamento e backups de petabytes de informação
  • Métodos para uma indexação mais rápida de grandes quantidades
  • Métodos de visualização computacional para apresentação de grandes quantidades de dados
  • Aspectos da proteção de privacidade relacionadas ao processamento de big data


Bom, é isso.
Abração!

Atualizando Log2timeline na distribuição SIFT Workstation

Opa, e aí galera. Tudo bem?

Achei uma matéria bem legal. O autor da ferramenta Log2timeline ensina como fazer para atualizá-la na distribuição SIFT Workstation (distribuição forense do SANS Institute).

O link é: http://blog.kiddaland.net/2010/11/updating_sift_to_use_apt/

Abração em todos vocês!

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!

Dump de Memória 2 - Dump de Memória no GNU/Linux

E aí galera, tudo beleza?

Hoje eu vou falar sobre dump de memória no sistema GNU/Linux. Esse post é um complemento a um outro post, no blog do professor Eriberto.
Eu vou mostrar como fazer o dump de memória, já que no kernel 2.6 o seu acesso vem desabilitado por default.
Isso vem causando muitas dúvidas e questionamentos sobre o assunto. Então fui pesquisar e descobri uma maneira de contornar esse problema. Vamos lá então.

Se você tentar fazer o dump com o comando DD, vai obter o seguinte resultado na tela (imagem1)










Para corrigir esse erro, nós vamos acessar este link e fazer o download do módulo fmem.
Depois de ter feito o download, nós vamos descompactar e desempacotar o arquivo que foi baixado para nossa máquina. A imagem 2 mostra isso na tela do shell.









Após ter feito isso, nós vamos entrar no diretório fmem_1.5-0. A imagem 3 mostra esse passo na tela do computador.












Lá dentro do diretório fmem nós vamos digitar o comando make. A imagem 4 mostra esse comando na tela do computador.











O próximo passo é digitar o comando ./run.sh. A imagem 5 mostra esse comando na tela do computador.







Pronto, agora o módulo fmem foi carregado corretamente e o computador está pronto para o perito realizar o dump da memória. Agora é só usar o comando DD. Não se esqueça de acrescentar na linha do comando o parâmetro count. Este parâmetro leva a quantidade de memória da máquina periciada. Neste exemplo, minha máquina tem 3 GB (3072MB). Em máquinas com 4 GB de memória, coloca-se o valor 4096.

A imagem 6 mostra o comando DD rolando na tela.













Uma apresentação do youtube que o autor comenta sobre o fmem é este link: https://www.youtube.com/watch?v=OYGtceHYzQE

Sites com Diversas Imagens

Opa, e aí galera?
Tudo beleza?

Primeiramente, eu gostaria de falar que este post é um complemento de outro post, no blog do Sandro Suffert. O link para o do Sandro é: http://sseguranca.blogspot.com/2009/03/material-de-treinamento-para-equipes-de.html

Às vezes nós queremos usar alguma imagem com o intuito de estudar ou testar alguma ferramenta ou alguma técnica. Eu tive essa necessidade.
Pois bem, acabei encontrando alguns sites em que são disponibilizados algumas imagens e capturas de rede, para que possamos colocar em prática os nossos conhecimentos.




Por último, coloco aqui um link de um blog muito interessante. É o blog do professor Eriberto. Ele mostra a análise de uma invasão de rede. Muito legal mesmo. Obrigado pelo Link, professor!

E não podia deixar de colocar aqui um link muito interessante e com enorme valor para o profissional envolvido com a forense Computacional. É um site que mostra em uma tabela quais são os headers (cabeçalhos - conhecidos também como "magic numbers") de diferentes arquivos. Estes headers são como se fossem as assinaturas dos arquivos. Isso significa que um JPG tem uma assinatura diferente de um MPEG. E o que diferencia um do outro, é justamente o header. Mas este não é o único campo diferente, existem outros como por exemplo o Footer.
O link para ver os diferentes headers é: File Signatures Table

Bom, é isso.
Abração!

Dump de Memória 1 - Win32dd

Eu , de vez em quando, uso o Windows Vista Basic 32 bits aqui no meu notebook.
Fiquei encucado esses tempos, pq não estava conseguindo fazer o dump de memória nele.
Utilizei vários programas, inclusive o DD para windows. Mas não consegui. O DD não rodava em cima do Vista. E não entendia porque.
Fui pesquisar sobre o DD e acabei descobrindo que após o Windows XP SP2, a Microsoft limitou o acesso a certas áreas de memória. Com isso, somente os device drivers conseguem fazer dump. O uso do DD para fazer dump de memória no WinXP SP2 (e acima dele) deixou de funcionar, e além disso, o device \\.\PhysicalMemory foi desabilitado neste utilitário.

Continuei pesquisando sobre o assunto e achei um outro programa para fazer dump de memória, chamado: win32dd
No site da ferramenta, diz que existem 2 versões.
Encontrei em alguns sites o pessoal falando muito bem dele, dizendo que é até melhor que o próprio DD.
Acabei fazendo o download da versão free e instalei aqui no meu notebook (criei um diretório e descompactei os 2 arquivos lá dentro: win32dd.exe e o win32dd.sys).
O link pra fazer o download direto é: http://moonsols.com/component/jdownloads/view.download/3/2

Na hora de rodar e fazer o memory dump, novamente deu erro.
Eu não entendia a mensagem de erro pq dizia que eu precisava ter privilégios de administrador para ter acesso ao kernel-land (acessado somente pelo root do windows, ao contrário do user-land, acessado por qualquer usuário).
Detalhe: só existe um usuário cadastrado no meu notebook, e ele é administrador. Que por um acaso, é o que eu faço o login aqui na minha máquina. Ou seja, eu acesso como administrador no meu notebook, e o win32dd diz que eu não tinha privilégios de root.
A imagem1 mostra esse erro.









A imagem2 mostra através do comando net user que só existe um usuário cadastrado no meu notebook, e que ele é administrador.









Pesquisando sobre este erro, acabei descobrindo que a conta de administrador no Windows Vista vem desabilitada por default (apesar de ser classificada como administrador, ela não possui privilégios de root).
Resumindo: mesmo eu pertencer ao domínio de administradores, não tinha tais privilégios.
Eu tinha que fazer alguma coisa para conseguir rodar o win32dd. E fui pesquisar novamente sobre o erro que estava dando.
E achei o seguinte tutorial:
  1. vá em iniciar;
  2. depois vá em acessórios, e depois em prompt de comando;
  3. clique com o botão direito em cima de prompt de comando e escolha a opção : executar como administrador (imagem 3);
  4. escreva no prompt de comando aberto: net user [nome da conta que apareceu na imagem 2] /active:yes



















O que ele faz é ativar a conta de administrador do Vista, que vinha desabilitada por default.
Assim, meu problema teria sido resolvido parcialmente. Faltava agora rodar o win32dd e fazer o dump da memória.
Depois eu fiz o seguinte:
  1. usando o prompt, entrei no diretório onde está o win32dd;
  2. depois, digitei: win32dd.exe /d /f
Rodei novamente o win32dd e consegui, finalmente, fazer o dump de memória sem nenhum problema.
A imagem4 mostra o win32dd rodando.











Forense em Celulares com Software Livre

O campo da forense computacional cada vez se torna mais amplo. Os peritos em informática precisam lidar com computadores, além de PDA's e celulares.Hoje em dia, muitas pessoas guardam informações sobre suas vidas nestes aparelhos, como por exemplo, vídeos de seus familiares, lêem e-mails, ouvem músicas, mandam mensagens de textos, acessam a internet, agendam seus compromissos, tudo isso feito através dos celulares. Isso sem falar nos smartphones, que permitem o uso de softwares para planilhas elêtronicas e outros programas.

Nesse sentido, algumas empresas como a msab, desenvolveram equipamentos específicos para análise forense em celulares. Só que estes equipamentos costumar ser caros. Os links abaixo mostram alguns equipamentos com esse intuito:


Pra quem não tem tanto dinheiro assim, entra em cena o software livre, mais especificamente, o Linux. Eles nos permite realizar uma análise básica de todos os dispositivos conectados na porta USB do computador nos apresentando algumas informações. Mas como acessá-las no Linux?

É simples. Basta acessar o diretório /var/log/syslog com o comando tail. Este comando nos possibilita visualizar as últimas linhas de um arquivo. Adicionando o parâmetro -f, à medida que o arquivo vai crescendo, ele vai mostrando as últimas linhas, dinamicamente.

O comando tail -f mostra por padrão as últimas 10 linhas. Para mostrar as últimas 20, é só digitar o comando tail -n 20 /var/log/syslog, se quiser as últimas 30, é só digitar o comando tail -n 30 /var/log/syslog, e assim por diante.

A figura 1 mostra um celular conectado ao PeriBR (distribuição linux voltada para forense) e com o comando tail -n 40 /var/log/syslog rodando. Ele nos mostra algumas informações básicas.













A figura 2 mostra uma câmera digital sendo conectada à mesma distribuição Linux. O comando tail -f /var/log/syslog mostra as últimas 10 linhas, dinamicamente. Isso significa que à medida que formos conectando e desconectando os aparelhos na interface USB, ele vai mostrando na tela; ao contrário do parâmetro "-n" que não é dinâmico.












A figura 3 mostra uma Pendrive sendo conectada ao sistema. O comando tail -n 20 /var/log/syslog mostra as últimas 20 linhas do arquivo.










A figura 4 mostra uma outra Pendrive conectada ao PeriBR. O comando tail -n 20 /var/log/syslog mostra as últimas 20 linhas do arquivo.

Montar imagens Windows copiadas para o Disco

No post passado eu mostrei como montar uma imagem diretamente de uma pendrive. Neste post, eu vou mostrar como montar uma imagem Windows, que já está no HD. Eu vou usar novamente a distribuição Linux voltada para forense - PeriBR. E estarei montando uma imagem do windows vista no PeriBR.Então, mãos à obra!Primeiramente, é preciso copiar a imagem do windows para o HD, que tem o peribr instalado. No meu caso, eu criei um diretório "/images" e copiei a minha imagem windows para este diretório. A figura 1 mostra o cálculo do MD5, para verificar a integridade da cópia. Se as saídas do md5 forem as mesmas, significa que a cópia da imagem para o HD é íntegra, ou seja, o arquivo não teve o seu conteúdo alterado. A figura 1 mostra o cálculo md5 do arquivo original (arquivo no pendrive) e o cálculo md5 do arquivo já na máquina, lá dentro do diretório "/images".












Depois de fazer o cálculo e verificar que o md5 na cópia da imagem e na original são os mesmos (ou seja, o arquivo está íntegro), agora é só montar. Para montá-la, crie primeiramente um diretório, digitando o comando "mkdir ". No meu caso, eu vou criar o diretório "/mnt/image". Então fica assim: mkdir /mnt/image.Agora, para montar a imagem, digite o comando "mount -t ntfs-3g -o ro,loop,show_sys_files /images/vista_dd.001 /mnt/image". A figura 2 mostra o comando na tela do shell e o comando " df- h" para verificar se a imagem foi montada corretamente.












Agora é só acessar o conteúdo da imagem. A figura 3 mostra o acesso ao conteúdo da imagem com os Atributos dos arquivos (parâmetro show_sys_files é quem possibilita este acesso).