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!