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

De Eriberto Wiki
Ir para navegação Ir para pesquisar
(Criou página com '{{cabeçalho forense|00a - Análise avançada conduzida|Brasília, DF, 29 de março de 2011|21 de setembro de 2011}} leftEste caso consiste em um e…')
 
Sem resumo de edição
 
(38 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}}
Exercício:  responda às perguntas a seguir, analisando a [http://eriberto.pro.br/forense/caso_00a/caso_00a.dd.bz2 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].
Exercício:  responda às perguntas a seguir, analisando a [http://eriberto.pro.br/forense/caso_00a/caso_00a.dd.bz2 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.
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).