Tabela $MFT quais segredos temos?

Tabela $MFT quais segredos temos?

$MFT é utilizado pela partição NTFS para organizar os arquivos. Nela contem o registro de todos os arquivos do computador como também a localização física dela no HD. Há pelo menos uma entrada na MFT para cada arquivo em um volume NTFS, incluindo o próprio arquivo $MFT.

O que podemos encontrar nela? Muita coisa.

Um pouco da Teoria

Para definir os arquivos correspondentes, o NTFS usa entradas MFT. Todas as informações sobre um arquivo, inclusive seu tamanho, sua duração e carimbos de data/hora, permissões e conteúdo de dados são armazenadas nas entradas MFT ou no espaço externo à MFT mas descrito pelas entradas MFT.

(Entradas de diretório externas à MFT, também contêm algumas informações sobre arquivos redundantes. Mas uma discussão completa sobre todas as estruturas em NTFS está além do escopo deste artigo.)

Como os arquivos são adicionados a um volume NTFS, mais entradas são adicionadas à MFT e portanto o MFT aumenta de tamanho. Quando arquivos são excluídos de um volume NTFS, suas entradas MFT estiver marcadas como livre e podem ser reutilizadas, mas o MFT não é reduzido. Assim, o espaço usado por essas entradas não é recuperado do disco.

Devido à importância da MFT em NTFS e o possível impacto no desempenho se esse arquivo se torna altamente fragmentado, NTFS faz um esforço especial para manter este arquivo contíguo. NTFS reserva 12.5% do volume para uso exclusivo da MFT até e a menos que o restante do volume é completamente usado. Portanto, espaço para arquivos e pastas não está alocado dessa zona MFT até que todos os outro espaço é alocado pela primeira vez.

Analisando o arquivo $MFT

Esse arquivo esta constamente sendo utilizado pelo sistema operacional, então você não vai conseguir copiar do seu computador. Há programas que podem te ajudar a fazer isso, mas deixando isso de lado e usando o FTK em uma imagem, posso observar o arquivo $MFT facilmente e exportar ele. Veja que é um arquivo binário, conforme exemplo abaixo:

Com ajuda de programas “parser” para $MFT podem transformar esse arquivo binário em um lindo arquivo de leitura. O proprio FTK já esta fazendo isso para te mostrar a estrutura do disco… Eu gosto de usar o MFT2CSV, disponível aqui: https://github.com/LU1ZINH0/Mft2Csv

Ao abrir o MFT2CSV, posso importar o arquivo, conforme exemplo:

Clique no botão “Start Processing”…. e agora é hora de esticar as pernas, tomar um café, ou fazer uma ginastica laboral…. dependendo do tamanho do arquivo, dez minutos…. trinta minutos e continuamos!

Feito isso, será criado um diretório com os arquivos em formato .CSV

De todos os arquivos gerados, o mais completo e útil é o MFT_ano_dia_mes_hora.csv. O que nós permite abrir com nosso editor de texto preferido.

Note que no arquivo, em seu cabeçalho haverá informações úteis como MFT Recorder Number, Record Offset, File Name, Permissão, Flag, “MIME” Type, Metadados de Criação, Acesso, Modificação, Gravação, etc.

Como o arquivo $MFT é um arquivo, então na tabela existira o mesmo, conforme exemplo abaixo (obs. estou ocultando colunas):

Nesta tabela, fica todos os arquivos que estão e já estiveram no computador, então por exemplo, posso encontrar vestigios de arquivos que já estiver nesse computador, a exemplo:

Posso saber o Head Number onde esta alocado determinado arquivo, a exemplo:

Data Carving

Com a análise do $MFT também é possível fazer Data Carving de arquivos. Mas essa explicação será em outra postagem com maior detalhe.

About The Author

Related posts

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *