Forense caso 00a: mudanças entre as edições

De Eriberto Wiki
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(37 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
{{cabeçalho forense|00a - Análise avançada conduzida|Brasília, DF, 29 de março de 2011|21 de setembro de 2011}}
{{cabeçalho forense|00a - Análise avançada conduzida|Brasília, DF, 29 de março de 2011|24 de abril de 2015}}


[[image:nao-a-pedofilia.jpg|left]]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.
[[image:nao-a-pedofilia.jpg|left]]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.
Linha 5: Linha 5:
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.
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 ERÓTICAS.
ALERTA: ESTE EXERCÍCIO CONTÉM FIGURAS E PALAVRAS ERÓTICAS.
<br><br><br><br>
<br><br><br><br>
{{cabeçalho_forense2}}
{{cabeçalho_forense2}}
Linha 11: Linha 11:


O hash MD5 da imagem comprimida é 59888d317634cd4b134e66333bf8d37a.
O hash MD5 da imagem comprimida é 59888d317634cd4b134e66333bf8d37a.
<br><br>
<big>'''Perguntas básicas:'''</big>


Responda as perguntas a seguir, utilizando as orientações impostas.
# Inicialmente, confira o hash do arquivo baixado.
# Quais são os três primeiros bytes da imagem?
# Qual é o esquema de particionamento do pendrive? (fdisk -l / mmls / file / disktype)
# Qual é o tipo de filesystem de cada partição do pendrive? (fsstat -o / disktype)
# 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)
# Analisando os dados no inode levantado no item anterior, descubra o tamanho, o mactime e o primeiro setor do arquivo na imagem. (istat -o)
# Monte cada partição do pendrive, em modo read-only, e verifique os conteúdos. (mount com ro e offset + find / tree -C)
# Calcule novamente os hashes MD5 e SHA256 de cada arquivo, atuando sobre o ponto de montagem. (find / hashdeep / hashrat)
# 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)
# Faça uma linha do tempo do conteúdo de cada partição existente, usando o comando ''mac-robber''. (mac-robber e mactime -z BRT)
# Cite a diferença de utilização entre ''fls -m'' e ''mac-robber''.
# 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)
# 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})
# Recupere as figuras apagadas no filesystem da primeira partição. (fls -rdFo + icat -o, podendo usar um loop for)
# 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)
# Corrija, se for o caso, o tamanho da figura recuperada no item anterior, utilizando o GIMP.
# Com base no relatório do comando foremost (''audit.txt''), observando o offset, recupere qualquer figura utilizando o comando ''dd'' ou ''dcfldd''.
# Tente obter dados EXIF das figuras existentes no primeiro filesystem. (metacam / exiftool)
# Verifique dados extras interessantes que possam existir na figura ''crianças.jpg'' (no primeiro filesystem). (hexedit / strings / exiftool)
# Verifique os dados referentes às propriedades dos arquivos .doc existentes na segunda partição. (file / libreoffice / exiftool)
# Relacione todas as URLs citadas na superfície do disco. (strings e egrep -o com expressões regulares e outros - dica: egrep -o 'https?://[^ ]+')
<br><br>
<big>'''Questões complementares:'''</big>


# Qual é o esquema de particionamento do pendrive? (utilize os comandos fdisk, mmls e file para obter resultados)
# Crie um arquivo que contenha todos os blocos não alocados existentes na primeira partição. (blkls -o)
# Sem montar as partições existentes e utilizando o comando fls, descubra qual é o inode referente à figura pic_1.jpg, existente na primeira partição. (comandos mmls ou fdisk e fls)
# Crie um arquivo que contenha todos os slack spaces existentes na primeira partição. (blkls -so)
# Analisando os dados no inode levantado no item 2, descubra o tamanho, o mactime e o primeiro setor do arquivo no disco. (comando istat)
# Procure por figuras existentes na superfície do disco e que não pertençam aos filesystems existentes. (blkls -o + {foremost ou magicrescue})
# Utilize o comando sorter para fazer um levantamento prévio do conteúdo da primeira partição.
# Explique quando devemos utilizar fls+icat ou foremost/magicrescue.
# Monte cada partição do pendrive, em modo read-only, e verifique os conteúdos. (comando mount com as opções loop, ro e offset)
<br><br>
# Faça uma linha do tempo das partições existentes. (comandos fls e mactime)
<big>'''Estudo específico: comandos foremost e magicrescue'''</big>
# Procure, na superfície do disco, por uma mensagem, criada pelo pedófilo, contendo um número de telefone. (1ª técnica: comandos strings e egrep / 2ª técnica: comando mcview / ambos utilizando expressões regulares)
 
# Recupere o trecho exato que contém a mensagem citada no item 7. (comandos strings ou hexedit, egrep e dd ou dcfldd)
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:
# Recupere as figuras apagadas no filesystem da primeira partição. (comandos fls e icat)
 
# Escolha uma das figuras recuperadas com êxito no item 9, procure-as na imagem utilizando uma assinatura e recupere-as com o comando dd ou dcfldd. (comandos hexdump, hexedit e dd ou dcfldd + calculadora)
* Quando não há um filesystem mas há arquivos na superfície do disco.
# Corrija, se for o caso, o tamanho da figura recuperada no item 10, utilizando o GIMP.
* Depois de uma formatação acidental.
# Procure por arquivos existentes na superfície do disco e que não perteçam ao filesystem atual (comando foremost ou magicrescue)
* Quando há um filesystem mas desejamos arquivos gravados em formatações anteriores.
# Como base no relatório do comando foremost (audit.txt), recupere uma das figuras utilizando o comando dd ou dcfldd.
* Quando o filesystem não é compatível com as ferramentas do TSK.
# Tente obter dados EXIF das figuras existentes. (comando metacam)
<br>
# Verifique dados extras interessantes que possam existir no início de cada figura. (comando hexdump ou hexedit ou mcview)
O comando foremost possui várias opções. Dentre elas, destacam-se:
# Verifique os dados referentes às propriedades dos arquivos .doc e .pdf existentes na segunda partição. (comandos file e evince ou okular)
 
# Tente entender o esquema de MBR do HD do pedófilo. (comando file)
*'''-T''' cria um diretório, com a data e a hora do início da operação, para abrigar os arquivos recuperados.
# Relacione todas as URLs citadas na superfície do disco. (comandos strings e grep com expressões regulares e outros)
*'''-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.
<br>
O comando magicrescue denomina os tipos de arquivos como sendo ''recipes''. Os recipes possíveis estão diponíveis em /usr/share/magicrescue/recipes.
<br><br>
'''Assim sendo, resolva as questões:'''
 
# Recupere as figuras existentes na superfície da imagem usando o comando: foremost -Tqt jpg.
# Faça o mesmo usando: foremost -Tt jpg.
# Faça, novamente, usando: foremost -Tat jpg.
# Verifique a quantidade de arquivos em cada diretório ''output/jpg'', com o comando: ls | cat -n.
# 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.
# Verifique a quantidade de arquivos no diretório ''teste'', com o comando: ls teste | cat -n.
# Com o programa gwenview ou, alternativamente, mirage, veja o conteúdo dos quatro diretórios.
# 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.
# Veja novamente o conteúdo dos diretórios.
# Explique como o fdupes atua (veja o manual on-line).

Edição atual tal como às 02h58min de 14 de novembro de 2015

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: 24 de abril de 2015




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. Quais são os três primeiros bytes da imagem?
  3. Qual é o esquema de particionamento do pendrive? (fdisk -l / mmls / file / disktype)
  4. Qual é o tipo de filesystem de cada partição do pendrive? (fsstat -o / disktype)
  5. 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)
  6. Analisando os dados no inode levantado no item anterior, descubra o tamanho, o mactime e o primeiro setor do arquivo na imagem. (istat -o)
  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 os hashes MD5 e SHA256 de cada arquivo, atuando sobre o ponto de montagem. (find / hashdeep / hashrat)
  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-robber 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. Com 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 / exiftool)
  19. Verifique dados extras interessantes que possam existir na figura crianças.jpg (no primeiro filesystem). (hexedit / strings / exiftool)
  20. Verifique os dados referentes às propriedades dos arquivos .doc existentes na segunda partição. (file / libreoffice / exiftool)
  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 ou, alternativamente, mirage, 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).