Extração de Dados da MFT no Volatility

Introdução

O Plugin MFTparser do Volatility permite que seja extraído as entradas da MFT e os dados residentes da mesma a partir de um dump de memória ram. Permitindo assim que o perito digital analise as entradas MFT encontradas e os dados residentes e tire as conclusões para as suas dúvidas.

Sistema de Arquivo NTFS e a MFT: Como Funciona?

A NTFS é um sistema de arquivos desenvolvido pela Microsoft, sendo assim está presente nos sistemas operacionais Windows.

E esse sistema de arquivos possui algumas peculiaridades. As quais são extremamente uteis para a computação forense. Estamos falando especificamente da MFT ou Master File Table, a qual já foi abordada no blog da Academia de Forense Digital. 

Acesse o conteúdo que aborda a MFT da NTFS mais profundamente clicando aqui!

Mas é como funciona a MFT? Resumidamente todos os arquivos, diretórios e meta arquivos do sistema possui uma entrada nela com diversas estruturas e informações armazenados nela.

É não para por ai! Ela ainda pode armazenar dados, eles são chamados de dados residentes. Os dados residentes são tão pequenos que cabem dentro da própria entrada da MFT a qual é 1024 bytes por padrão.

E também existe os dados não residentes, os quais são grandes demais para caber dentro da MFT, sendo assim, essa entrada terá um campo no qual irá especificar onde esse dado está localizado no disco.

Resumido a NFTS e a MFT vamos colocar a mão na massa!!!

Volatility MFTparser: Como extrair dados da MFT com o Volatility?

A extração de dados da MFT pode ser realizada com o plugin MFTparser do Volatility. Ou seja, iremos utilizar uma captura da memória ram e a partir dela obter as entradas e os dados residentes da MFT.

Iremos utilizar o Volatility 2.6 e o plugin MFTparser, o processo é simples e não requer muitos comandos. Então vamos começar!!!

Iremos utilizar o seguinte comando:

  • “mftparser –output=body –output-file=mftparser.txt –dump-dir=./dump -N”

Resumidamente esse comando irá utilizar o plugin mftparser e todas as entradas da MFT recuperadas do dump de memória serão salvos no arquivo de saída “mftparser.txt” e os dados residentes serão salvos na pasta “dump”.

Volatility

Figura 1 – Execução do comando no Volatility 2.6

Como observado na figura abaixo temos a criação de um diretório e um arquivo de acordo com os parâmetros configurados no comando.

Figura 2 – Arquivos criados pela execução do comando no Volatility

Entrando no diretório “dump” temos todos os dados residentes extraídos do dump de memória. Observe que os arquivos são nomeados com “file” seguido de seu offset em hexadecimal, como observado no exemplo temos um “.png” que foi alterado propositalmente para termos sua visualização.

dump de memória

Figura 3 – Dados residentes extraídos do dump de memória

Agora vamos visualizar o arquivo “mftparser.txt” que irá possuir todas as entradas da MFT que foram extraídas com o Volatility do dump de memória.

Figura 4 – Visualização do arquivo “mftparser.txt”

Com isso podemos utilizar essa tabela para correlacionar com os dados residentes extraídos e filtrar de acordo com as necessidades. Como observado vemos que o arquivo realmente se tratava de um “png”, além disso traz consigo o nome do arquivo registrado na entrada da MFT entre outras informações relativos à sua estrutura.

Como a extração de dados da MFT pode ser útil?

A estrutura e o funcionamento da MFT possuem grande potencial em uma investigação, permitindo a recuperação de dados e informações que podem servir para diversos fins.

A principal característica que torna a MFT útil é que todo arquivo no sistema terá uma entrada na MFT. Um exemplo da sua utilidade é determinar se determinado arquivo esteve presente no dispositivo ou não. Além disso, podemos verificar o seu timestamp, entre outras informações que podem auxiliar uma perícia digital.

Além disso, o timestamp do arquivo também pode ser recuperado, entre outras informações que podem auxiliar uma perícia digital. Isso tudo sem contar no potencial que a mesma possui de armazenar os chamados dados residentes que também são de grande valor em uma investigação.

Referências Bibliográficas

VOLATILITY FOUNDATION. Command Reference. Disponível em: https://github.com/volatilityfoundation/volatility/wiki/Command-Reference#mftparser. Acesso em: 18 jun. 2023.

FORTUNA, Andrea. Volatility, my own cheatsheet (Part 8). Filesystem. Disponível em: https://andreafortuna.org/2017/08/21/volatility-my-own-cheatsheet-part-8-filesystem/. Acesso em: 18 jun. 2023.

Sobre o Autor

João Tsukahara: Pesquisador de forense digital e segurança da informação.