GRAVAÇÃO DE ARQUIVOS E RECUPERAÇÃO DE DADOS (pt. 2) – ANÁLISE FORENSE

Olá!

Bem-vindo à postagem 2 sobre escultura ( ou gravação) de arquivos e recuperação de dados. Na postagem anterior ( https://douglasmendes.code.blog/2020/11/29/gravacao-de-arquivos-e-recuperacao-de-dados-pt-1-analise-forense/ ), apresentei os conceitos de escultura de arquivo e a Lixeira do Windows. Agora vou mostrar como recuperar arquivos excluídos de uma imagem de disco usando as ferramentas do Sleuth Kit (icat em particular). Depois, irei abordar três ferramentas de escultura de linha de comando incluídas por padrão no Kali Linux, que são: Foremost, Scalpel e Photorec. Sobre a última, já existe nesse blog postagem falando sobre, mas abordarei novamente com outras palavras. Link da postagem anterior: https://douglasmendes.code.blog/2020/05/13/como-recuperar-arquivos-deletados-definitivamente-de-um-computador-ou-outros-dispositivos/

Antes de abordar as ferramentas de escultura automatizadas, vamos ver um exemplo de como recuperar um arquivo excluído usando as ferramentas do Sleuth Kit. Relembrando a postagem anterior sobre “TSK” e análise de sistema de arquivos ( https://douglasmendes.code.blog/2020/05/06/visao-geral-das-ferramentas-sleuth-kit-o-kit-detetive-e-dos-sistemas- de-arquivos / ), podemos usar a ferramenta fls para escanear uma imagem em busca de arquivos excluídos. Executamos este comando em uma imagem de amostra RAW.

LABORATÓRIO – FERRAMENTA ICAT

Primeiramente, executo o comando ls no diretório onde contém a imagem a ser analisada. Aparecendo o nome do arquivo, executo o comando fdisk –l (ou o comando mmls) seguido do nome do arquivo (fdisk –l {NOME_DO_ARQUIVO} ou mmls {NOME_DO_ARQUIVO).

IMAGEM: Do Autor

IMAGEM: Do Autor

Com o valor offset ( valor da coluna Start ), executo o comando fls seguido da função –d que viabiliza análise apenas dos arquivos deletados, depois a função -o que viabiliza a escolha do offset (nesse caso, utilizo o valor 206848), e o nome do arquivo. Sintaxe completa:

fls –d –o {VALOR_COLUNA_START} {NOME_DO_ARQUIVO}

Ou seja, nesse caso:

fls –d –o 206848 Win7NOTE.img

IMAGEM: Do Autor

A saída mostra os arquivos excluídos com o nome renomeado sem a letra inicial após a exclusão, um deles (por exemplo) tem o número 37475 como o número de entrada MFT. Para obter mais informações sobre este arquivo, podemos executar a ferramenta istat especificando a entrada MFT. Sintaxe:

istat –o {VALOR_COLUNA_START} {NOME_DO_ARQUIVO} {NUMERO_MFT}

Ou seja, nesse caso:

Istat –o 206848 Win7NOTE.img 37475

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

Nesse caso o comando istat encontrou dados de arquivos alocados. Quando encontrar arquivos não alocados, apenas conseguirá referência de setores, como no exemplo abaixo:

IMAGEM: Do Autor

Para recuperar um arquivo, use a ferramenta icat, que por padrão exibe o conteúdo de um arquivo identificado pela entrada MFT na saída padrão. Especifique a função para recuperação de arquivo (opção –r). Em seguida execute esta opção especificando a entrada MFT e redirecione a saída para um arquivo nomeado como você deseja. Sintaxe:

icat –r –o {VALOR_COLUNA_START} {NOME_DO_ARQUIVO} {NUMERO_MFT} > {ARQUIVO_RECUPERACAO}

Ou seja, nesse caso:

icat –r –o 206848 Win7NOTE.img 37475 > recuperado

IMAGEM: Do Autor

Podemos examinar o arquivo recuperado com a ferramenta exiftool e verificar o tipo do documento. Sintaxe:

exiftool {ARQUIVO_RECUPERADO}

Nesse caso:

exiftool recuperado

IMAGEM: Do Autor

Se o arquivo for padrão MSWord, por exemplo, conseguirá obter maiores informações. Para confirmar se o arquivo se tratava de um XML, utilizei o editor Nano. Sintaxe:

nano {ARQUIVO_RECUPERADO}

Nesse caso:

nano recuperado

IMAGEM: Do Autor

INTRODUÇÃO ÀS FERRAMENTAS DE ESCULTURA DE ARQUIVOS AUTOMATIZADAS

Agora vou apresentar as 3 ferramentas de escultura CLI incluídas por padrão no Kali Linux: Foremost, Scalpel e Photorec. Todas essas ferramentas gravam arquivos de setores do disco RAW em um nível inferior ao do sistema de arquivos. Contando com bancos de dados de cabeçalhos e rodapés de muitos tipos diferentes de arquivos e também pode trabalhar diretamente em arquivos de imagem de disco.

Para ver essas 3 ferramentas em ação, será usado um sistema de arquivos FAT32 criado para este exercício de escultura de arquivo. Para fazer o download, acesse a página de imagens de teste da Digital Forensics Tool neste link: http://dftt.sourceforge.net/ . O exercício é denominado Basic Data Carving #1 e a imagem está disponível como um arquivo compactado de 11 megabytes de tamanho. O tamanho do arquivo não é grande, portanto, o processo de escultura é rápido, mas em imagens grandes pode levar muito tempo.

IMAGEM: Do Autor

IMAGEM: Do Autor

Link de download direto: http://prdownloads.sourceforge.net/dftt/11-carve-fat.zip?download

FOREMOST

A primeira ferramenta de escultura que cubro nessa postagem é a ferramenta Foremost, que foi desenvolvida no Escritório de Investigações Especiais da Força Aérea e posteriormente atualizada por Nick Mikus da Escola de Pós-Graduação Naval, ambas do Reino Unido. O arquivo de configuração padrão para o primeiro no Kali Linux é /etc/foremost.conf, que normalmente editamos apenas para permitir a recuperação de formatos de arquivo não incluídos na configuração padrão. Vamos dar uma olhada:

IMAGEM: Do Autor

Podemos ver que para cada um desses formatos os cabeçalhos e rodapés são fornecidos.

IMAGEM: Do Autor

Para ativar a formatação, simplesmente descomentamos a linha correspondente, excluindo o símbolo # no início da linha. Neste caso, não modifiquei o arquivo foremost.conf (mantive a configuração padrão).

Agora podemos executar o Foremost na imagem de amostra após o download. As opções obrigatórias são para especificar o diretório de saída com a opção -o direcionando onde salvar os arquivos recuperados e a opção -i que especifica o arquivo de imagem de entrada. Sintaxe completa:

foremost –o {DIRETORIO_PARA_SALVAR_ARQUIVOS_RECUPERADOS} –i {ARQUIVO_DE_IMAGEM}

Ficou assim:

foremost –o Recuperados/ -i 11-carve-fat.dd

IMAGEM: Do Autor

Depois da execução do comando, observe o diretório de saída e abra o arquivo audit.txt.

IMAGEM: Do Autor

IMAGEM: Do Autor

Esse arquivo relata quais foram os arquivos extraídos. Cada arquivo é nomeado a partir do número do setor inicial na imagem seguido pela extensão, o tamanho no deslocamento inicial e os bytes também são relatados. Na parte inferior, há um resumo dos diferentes formatos com o número de arquivos recuperados.

IMAGEM: Do Autor

O diretório de saída também contém subdiretórios para cada tipo de arquivo com os arquivos recuperados correspondentes, como mostrado em imagem anteriormente.

Com o comando foremost –h podemos ver todas opções disponíveis.

IMAGEM: Do Autor

Se você deseja recuperar apenas formatos de arquivo específicos, existe a opção -t, seguida do tipo de arquivo separado por vírgulas. Anteriormente vimos a opção de especificar o arquivo de entrada. Se não quisermos salvar os arquivos recuperados no disco, mas simplesmente salvarmos o arquivo de auditoria (audit.txt), devemos especificar a opção -w. A opção -V (ou verbose) também exibe o arquivo de auditoria na saída padrão.

SCALPEL

A segunda ferramenta que cubro é o Scalpel, derivado do Foremost. A versão mais recente disponível nos repositórios Kali Linux é 1.6.0. A versão mais recente é 2.0 e a fonte está disponível no repositório The Sleuth Kit GitHub ( https://github.com/sleuthkit/scalpel ). A versão 2.0 inclui novos recursos interessantes como multithreading também recursos para GPUs. Expressões regulares suportam cabeçalhos, rodapés e correspondência de rodapé de cabeçalho incorporada. O arquivo de configuração do Scalpel está localizado em /etc/scalpel/scalpel.conf.

É muito semelhante a Foremost. Mas a diferença é que primeiro temos que descomentar todas as linhas relativas aos formatos de arquivo que queremos recuperar porque eles não são integrados de uma vez. Neste caso utilizo um arquivo de configuração com todos os formatos habilitados.

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

O uso do escalpelo também é muito semelhante ao do Foremost. Execute a ferramenta Scalpel na mesma imagem especificando a opção -o para o diretório de saída e o nome da imagem. O escalpelo requer que o diretório de saída esteja vazio ou não exista. Sintaxe:

scalpel –o {DIRETORIO_PARA_SALVAR_ARQUIVOS_RECUPERADOS}  {ARQUIVO_DE_IMAGEM}

Ficou assim, no caso:

scalpel –o Recuperados/  11-carve-fat.dd

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

Após a execução da ferramenta vamos ver o diretório de saída e analisar os resultados no arquivo audit.txt.

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

Percebemos em audit.txt que os arquivos excluídos extraídos são mais do que os recuperados pelo Foremost. O Scalpel tende a relatar arquivos duplicados com as mesmas extensões que começam com o mesmo deslocamento. Por exemplo, os arquivos marcados na imagem abaixo:

IMAGEM: Do Autor

PHOTOREC

A próxima ferramenta de escultura que cubro é o Photorec, desenvolvido pelo mesmo desenvolvedor do TestDisk, Christophe Grenier. Apesar do nome da ferramenta, o utilitário não é capaz de recuperar arquivos de imagem de dispositivos, mas como as outras ferramentas de carving pode recuperar muitos formatos de arquivo diferentes.

Site oficial: https://www.cgsecurity.org/wiki/PhotoRec

É mais intuitivo usá-lo comparando o Foremost e o Scalpel, uma vez que fornece uma interface de usuário baseada em texto como o TestDisk.

Para executá-lo rodamos o comando photorec com a mesma imagem de teste de amostra. Sintaxe:

photorec {ARQUIVO_DE_IMAGEM}

No caso:

photorec 11-carve-fat.dd

IMAGEM: Do Autor

A utilização do comando mostra a interface textual com as mídias disponíveis para análise. Pressione a tecla Enter para prosseguir.

IMAGEM: Do Autor

Na próxima tela, deve-se selecionar [Options ] e pressionar a tecla Enter.

IMAGEM: Do Autor

IMAGEM: Do Autor

As opções do programa podem ser alteradas. Paranoid significa que os arquivos recuperados são verificados e os arquivos inválidos rejeitados. Enquanto o modo Expert nos permite forçar o tamanho do bloco do sistema de arquivos e o offset. Nesse caso, deixo as opções padrão inalteradas. Agora pressione a tecla Enter em Quit para voltar a tela anterior.

[ File Opt ] é útil se quisermos modificar a lista de formatos de arquivo. Para recuperar marcando ou desmarcando as caixas correspondentes. Novamente, mantenho o padrão. Pressione Enter em Quit para voltar a tela anterior.

IMAGEM: Do Autor

Agora clique em [ Search ] …

IMAGEM: Do Autor

… então em [ Other ] para selecionar o sistema de arquivos, então temos que escolher o diretório de saída onde armazenar os arquivos recuperados. Aconselho a criar um diretório, como tenho criado no caso, para melhor organização, e o selecionar.

IMAGEM: Do Autor

IMAGEM: Do Autor

Na próxima tela, selecione a linha que termina com . e pressione a tecla C. Assim a ferramenta irá automaticamente começar a fazer as buscas por arquivos.

IMAGEM: Do Autor

Depois que o programa termina a varredura, a imagem exibe o andamento da recuperação mostrando um resumo com o número de arquivos recuperados.

IMAGEM: Do Autor

Saia do programa em seguida pressionando a tecla Enter em [ Quit ] em todas as telas até encerrar completamente.

Os arquivos são salvos no diretório que escolheu para saída do programa no diretório recup_dir.1. Em casos de imagens maiores, são criados diretórios sequenciais (recup_dir.2, recup_dir.3, etc) que armazenarão os arquivos da mesma maneira. A questão é que a quantia de arquivos por diretórios gerados é limitada.

IMAGEM: Do Autor

IMAGEM: Do Autor

Photorec também recuperou o nome do arquivo para os metadados. O Photorec não organiza arquivos e subdiretórios com base nos formatos, como as outras ferramentas de escultura. Neste caso, há muitos arquivos extraídos de muitos subdiretórios. O site do Photorec fornece alguns scripts para classificar esses arquivos de acordo com diferentes critérios.

Nesta postagem, cobri a recuperação de arquivos excluídos de uma imagem de disco usando as ferramentas The Sleuth Kit e, em seguida, como usar 3 ferramentas de escultura de arquivo CLI pré-instaladas no Kali Linux: Foremost, Scalpel e Photorec.

Na próxima postagem falarei sobre extração de dados com a ferramenta Bulk Extractor. Vou mostrar como usar o utilitário Bulk Extractor para extrair muitas informações úteis de uma imagem de disco RAW.

Deixe seu like e comente! Se precisar de apoio deixe nos comentários.

Até a próxima!

Um comentário em “GRAVAÇÃO DE ARQUIVOS E RECUPERAÇÃO DE DADOS (pt. 2) – ANÁLISE FORENSE

Deixe um comentário