Forense caso 00a

De Eriberto Wiki
Revisão de 08h12min de 31 de outubro de 2014 por Eriberto (discussão | contribs)
Ir para navegação Ir para pesquisar

by (C) João Eriberto Mota Filho <eriberto (a) eriberto pro br>

Caso para estudo, ligado diretamente ao artigo perícia forense computacional, existente neste wiki.

Última atualização: veja o rodapé desta página.




Caso 00a - Análise avançada conduzida


Brasília, DF, 29 de março de 2011


Atualização em: 26 de setembro de 2014




Este caso consiste em um exercício conduzido com o objetivo de utilizar algumas técnicas avançadas de manipulação de filesystems. O cenário está em torno de um pendrive apreendido. Tal pendrive pertencia a um pedófilo, que mantinha fotos eróticas e textos especializados armazenados. O objetivo de manter textos especializados era aprender como atrair crianças na Internet e entender como a polícia poderia rastreá-lo. Este objetivo foi levantado em interrogatório após a sua prisão.

Serão feitas várias perguntas. Por tratar-se de um exercício avançado, serão citadas ferramentas e técnicas que deverão ser empregadas para obter resultados.

ALERTA: ESTE EXERCÍCIO CONTÉM FIGURAS E PALAVRAS ERÓTICAS.





Exercício de aplicação



Exercício: responda às perguntas a seguir, analisando a imagem de pendrive (22 MB comprimidos, 980 MB descomprimidos) disponibilizada. Antes de tudo, leia o conteúdo da página http://bit.ly/tsk-commands.

O hash MD5 da imagem comprimida é 59888d317634cd4b134e66333bf8d37a.

Perguntas básicas:

  1. Inicialmente, confira o hash do arquivo baixado.
  2. Qual é o esquema de particionamento do pendrive? (fdisk -l / mmls / file / disktype)
  3. Qual é o tipo de filesystem de cada partição do pendrive? (fsstat -o / disktype)
  4. Sem montar as partições existentes, descubra qual é o inode referente à figura pic_1.jpg, existente na primeira partição. (mmls + fls -ro + grep / fdisk -l + fls -ro + grep)
  5. Analisando os dados no inode levantado no item anterior, descubra o tamanho, o mactime e o primeiro setor do arquivo na imagem. (istat -o)
  6. Sem realizar montagens, faça um levantamento prévio do conteúdo da primeira partição, calculando o hash MD5 de cada arquivo. (sorter com -md5, -o e -d)
  7. Monte cada partição do pendrive, em modo read-only, e verifique os conteúdos. (mount com ro e offset + find / tree -C)
  8. Calcule novamente o hash MD5 de cada arquivo, atuando sobre o ponto de montagem. (find / md5deep -r)
  9. Faça uma linha do tempo do conteúdo de cada partição existente, usando o comando fls. (fls -ro -m e mactime -z BRT)
  10. Faça uma linha do tempo do conteúdo de cada partição existente, usando o comando mac-robber. (mac-roober e mactime -z BRT)
  11. Cite a diferença de utilização entre fls -m e mac-robber.
  12. Procure, na superfície do disco, por uma mensagem, criada pelo pedófilo, contendo um número de telefone. (1ª técnica: strings + egrep -o + sort -u / 2ª técnica: mcview / ambos utilizando expressões regulares)
  13. Recupere o trecho exato que contém a mensagem citada no item anterior. ({strings -td / hexedit} + grep + {dd ou dcfldd, ambos com bs=1 + count + skip})
  14. Recupere as figuras apagadas no filesystem da primeira partição. (fls -rdFo + icat -o, podendo usar um loop for)
  15. Escolha uma das figuras recuperadas com êxito no item anterior e procure-a na imagem de disco, utilizando uma assinatura. A seguir, recupere-a com o comando dd ou dcfldd. (hexedit + {dd ou dcfldd} + calculadora)
  16. Corrija, se for o caso, o tamanho da figura recuperada no item anterior, utilizando o GIMP.
  17. Como base no relatório do comando foremost (audit.txt), observando o offset, recupere qualquer figura utilizando o comando dd ou dcfldd.
  18. Tente obter dados EXIF das figuras existentes no primeiro filesystem. (metacam)
  19. Verifique dados extras interessantes que possam existir na figura crianças.jpg (no primeiro filesystem). (hexedit / strings)
  20. Verifique os dados referentes às propriedades dos arquivos .doc existentes na segunda partição. (file / libreoffice)
  21. Relacione todas as URLs citadas na superfície do disco. (strings e egrep -o com expressões regulares e outros - dica: egrep -o https?://[^" "]+)



Questões complementares:

  1. Crie um arquivo que contenha todos os blocos não alocados existentes na primeira partição. (blkls -o)
  2. Crie um arquivo que contenha todos os slack spaces existentes na primeira partição. (blkls -so)
  3. Procure por figuras existentes na superfície do disco e que não pertençam aos filesystems existentes. (blkls -o + {foremost ou magicrescue})
  4. Explique quando devemos utilizar fls+icat ou foremost/magicrescue.



Estudo específico: comandos foremost e magicrescue

Os comandos foremost e magicrescue são conhecidos por realizarem a atividade denominada file carver. Esses comandos devem ser utilizados, principalmente, nas seguintes condições:

  • Quando não há um filesystem mas há arquivos na superfície do disco.
  • Depois de uma formatação acidental.
  • Quando há um filesystem mas desejamos arquivos gravados em formatações anteriores.
  • Quando o filesystem não é compatível com as ferramentas do TSK.


O comando foremost possui várias opções. Dentre elas, destacam-se:

  • -T cria um diretório, com a data e a hora do início da operação, para abrigar os arquivos recuperados.
  • -a recupera arquivos, inclusive danificados, podendo gerar falsos positivos.
  • -q não recupera quando considera que determinados arquivos estão englobados por outros. Um exemplo: uma figura JPG dentro de um arquivo .ppt.
  • -t permite selecionar um tipo de arquivo. Os tipos de arquivos estão descritos no manual on-line do comando.


O comando magicrescue denomina os tipos de arquivos como sendo recipes. Os recipes possíveis estão diponíveis em /usr/share/magicrescue/recipes.

Assim sendo, resolva as questões:

  1. Recupere as figuras existentes na superfície da imagem usando o comando: foremost -Tqt jpg.
  2. Faça o mesmo usando: foremost -Tt jpg.
  3. Faça, novamente, usando: foremost -Tat jpg.
  4. Verifique a quantidade de arquivos em cada diretório output/jpg, com o comando: ls | cat -n.
  5. Crie um diretório teste e recupere as figuras existentes na superfície da imagem usando o comando: magicrescue -r jpeg-jfif -d teste caso_00a.dd.
  6. Verifique a quantidade de arquivos no diretório teste, com o comando: ls teste | cat -n.
  7. Com o programa gwenview, veja o conteúdo dos quatro diretórios.
  8. Crie um diretório fotos e mova todos os quatro diretórios criados anteriormente para dentro dele. A seguir, estando fora do diretório fotos, remova as figuras duplicadas com o comando: fdupes -rdN fotos.
  9. Veja novamente o conteúdo dos diretórios.
  10. Explique como o fdupes atua (veja o manual on-line).