quinta-feira, 3 de maio de 2012

Extração de dados com o foremost e scalpel

Na computação forense, o procedimento de extração de dados, é uma etapa importante para o sucesso da perícia computacional. Um dado pode não estar mais alocado no sistema de arquivos, o que facilitaria a recuperação, mas pode estar ainda existente na superfície do disco.

A ferramenta foremost é um recuperador de arquivos usando uma base de dados com definições de cabeçalho, rodapé e estrutura dos dados de tipos de arquivos conhecidos. O foremost é independente de sistema de arquivos e pode recuperar dados de partições FAT, NTFS, ext2/3 ou RAW, tanto no acesso direto ao dispositivo como em imagem RAW.

A sinopse da linha de comando é:

foremost [opção]... [-o diretório] [-t tipo] [-i entrada]

Como principais opções, existem:

-d       Ativa a detecção indireta de blocos, recomendado para
         sistemas de arquivos Unix.
-i       Dispositivo ou imagem de entrada.
-o dir   Diretório onde serão gravados os arquivos recuperados.
-v       Ativa o modo verboso.

A opção -t especifica os tipos de arquivos que serão recuperados:

jpg    Suporte para os formatos JFIF, Exif e implementações de
       câmeras digitais modernas.
bmp    Suporte para o formato BMP do Windows.
exe    Suporte para arquivos executáveis do Windows, inclui DLLs.
mpg    Suporte para a maioria dos arquivos MPEG.
riff   Recupera arquivos AVI e RIFF pois possuem mesmo formato.
wmv    Recupera arquivos WMV e WMA pois possuem formatos similares.
ole    Esta opção recupera qualquer arquivo que use a estrutura OLE.
       Inclui PowerPoint, Word, Excel, Access, e StarWriter.
zip    Recupera ZIP e JAR pois possuem formatos similares.
       Inclui arquivos produzidos pelo OpenOffice pois são arquivos
       XML zipados. Arquivos do Office 2007 também são XML.
all    Utiliza todos os tipos de arquivos pré-definidos.
       Padrão se a opção -t não for usada.

E também: gif, png, avi, mp4, wav, mov, pdf, rar e htm

Caso um formato de arquivo não seja suportado internamente pelo foremost, seu tipo pode ser definido no arquivo de configuração '/etc/foremost.conf'. Este arquivo contém instruções para definição dos novos formatos.

Os arquivos recuperados serão gravados em subdiretórios de acordo com o seu tipo. Se não for usada a opção -o, será criado um diretório padrão.

Exemplos de uso do foremost:

# foremost -t jpg -i image.dd -o ~/recuperados

# foremost -t all -i /dev/sda3 -o ~/recuperados

# foremost -t gif,pdf -i image.dd

# foremost -vd -t ole,jpeg -i image.dd

# foremost image.dd


De forma semelhante, a ferramenta Scalpel é um recuperador de arquivos usando uma base de dados com definições de cabeçalho e rodapé de tipos de arquivos conhecidos. O Scalpel é independente de sistema de arquivos e pode recuperar dados de partições FAT, NTFS, ext2/3 ou RAW, tanto em dispositivos como em imagens RAW. O Scalpel é resultado de uma completa reedição da ferramenta foremost v0.69.

Antes de utilizar o Scalpel é necessário configurá-lo pelo arquivo '/etc/scalpel.conf', descomentando as linhas que definem os tipos de arquivos que serão recuperados. Também há instruções neste arquivo. Para recuperar os arquivos de uma partição, use um comando semelhante a:

# scalpel /dev/sda3 -o ~/recuperados


Nestas ferramentas, o processo pode ser demorado, dependendo do tamanho do HD e de quantos arquivos existem para serem recuperados. Os arquivos recuperados serão copiados para o diretório especificado pela opção -o, em subdiretórios de acordo com o tipo do arquivo.

O foremost e o Scalpel não estão interessados no sistema de arquivos contido na partição ou imagem. Estas ferramentas simplesmente esperam que os blocos de dados dos arquivos residam sequencialmente no disco ou imagem que está sob investigação.

Este processo é conhecido como extração de dados (data carving). "Carving" é um termo genérico para extração de arquivos em imagens RAW, baseado em características específicas do formato, presentes nos arquivos (dados estruturados). Alguns estudos indicam o foremost como mais confiável.

3 comentários:

  1. Tenho uma dúvida: estou procurando um arquivo no formato .ods que, segundo alguns sites, o conteúdo que realmente interessa neste tipo de arquivo, está em formato zip. Assim, usei o foremost e filtrei somente os arquivos .zip. Quero saber se ha uma forma de procurar determinado texto entre os milhares de arquivos .zip q tive como resultado. TEnho q abrir um por um? E caso eu abra um por um, eles estarão em texto normal ou hexadecimal?

    ResponderExcluir
  2. Creio que terá que abrir um por um sim, não necessariamente gerando uma cópia em disco mas pelo menos na RAM. Os dados só estarão na íntegra depois de descompactados.

    Decimal, hexadecimal ou binário são somente representações numéricas dos dados. Um texto legível pode ser obtido a partir de uma conversão ASCII.

    Obrigado pela visita neste blog!

    ResponderExcluir
  3. no scalpel, quando eu escolho a partição que é o hd, tem como escolher uma pasta específica? por que scanear o hd inteiro é demasiadamente demorado

    ResponderExcluir