← Voltar ao blog

Parsers MFT: MFTECmd, omerbenamram/mft e navegador

· 4 min de leitura

Um parser MFT é uma ferramenta que lê $MFT — a Master File Table na raiz de todo volume NTFS — e transforma seus registros de 1.024 bytes em algo que um humano ou uma ferramenta posterior pode usar: CSV, JSON, uma linha do tempo, um índice pesquisável. Três projetos importam na prática. Este post os compara honestamente e indica quando cada um é a escolha certa.

MFTECmd (Eric Zimmerman)

O MFTECmd é o padrão de facto em resposta a incidentes. É uma CLI .NET exclusiva para Windows, gratuita, que analisa $MFT, $Boot, $J (o journal de mudanças $UsnJrnl:$J), $SDS (o fluxo de descritores de segurança de $Secure) e $LogFile. A saída é CSV no layout body-file que as outras ferramentas do Eric Zimmerman (Timeline Explorer, KAPE, RECmd) consomem.

Use quando:

  • Você está em uma estação de análise Windows.
  • Você quer um CSV que pode abrir no Timeline Explorer e pivotar de forma interativa.
  • Você está rodando o KAPE — o MFTECmd é o parser embutido no alvo MFT.
  • Você precisa de análise de $J no mesmo fluxo de trabalho.

Pule quando: você está em macOS ou Linux sem runtime .NET, ou quer embarcar a análise em outro programa.

Uma GUI companheira, o MFT Explorer, navega $MFT de forma interativa em uma visão em árvore. A maioria dos analistas usa os dois: MFTECmd para análise em lote, MFT Explorer quando precisam caçar um registro específico.

omerbenamram/mft (crate Rust + CLI)

O crate omerbenamram/mft é a biblioteca de parsing que este site usa. Vem tanto como dependência Rust (cargo add mft) quanto como CLI autônoma (mft_dump). A CLI emite CSV ou JSON; a biblioteca expõe a estrutura completa do registro para uso programático.

Use quando:

  • Você precisa embarcar a análise MFT em um pipeline Rust maior, um servidor ou um alvo WebAssembly.
  • Você quer saída JSON para encanar em jq, OpenSearch ou um banco personalizado.
  • Você está em Linux ou macOS e não quer instalar .NET.
  • Você quer um parser auditável — o código é pequeno, Rust idiomático, e o corpus de testes está no repositório.

Pule quando: você quer uma experiência de analista chave na mão com GUI e ferramentas de linha do tempo integradas.

O crate é o que está rodando, compilado para WebAssembly, por trás do parser navegador na página inicial.

Análise no navegador (este site)

O parser deste site pega o crate omerbenamram/mft, compila para WebAssembly e o executa em um Web Worker. Você solta um arquivo $MFT na página e os registros aparecem em uma tabela paginada e pesquisável. Nada é enviado; o binário fica na memória do seu navegador.

Use quando:

  • Você quer uma leitura rápida de uma $MFT sem instalar nada.
  • A política proíbe enviar evidências para um serviço em nuvem. A análise WebAssembly acontece localmente — você pode verificar desconectando sua rede antes de soltar o arquivo.
  • Você precisa compartilhar uma visão de triagem com um colega que não tem uma cadeia de ferramentas forense instalada.
  • Você está demonstrando ou ensinando a estrutura NTFS e quer um sandbox interativo.

Pule quando: você tem uma $MFT de vários gigabytes de um servidor muito usado (o modelo em memória escala linearmente) ou precisa de saídas que se integrem a um pipeline mais amplo do Eric Zimmerman.

Como se comparam

| Recurso | MFTECmd | omerbenamram/mft | Parser navegador | |---------|---------|------------------|------------------| | Plataforma | Windows (.NET) | Linux / macOS / Windows / WebAssembly | Qualquer navegador moderno | | Instalação | Um binário | cargo install ou download | Nenhuma | | Saída | CSV (esquema Timeline Explorer) | CSV / JSON | Tabela interativa + exportação CSV | | $UsnJrnl:$J | Sim | Não (crate omerbenamram/usn separado) | O parser navegador linka a uma visão $J | | $LogFile | Sim | Não | Não | | Scriptável | Somente CLI | Biblioteca + CLI | Não (controlado pela UI) | | Privacidade | Local | Local | Local (verificável por isolamento de rede) |

Escolhendo um

Para um engajamento de IR de rotina em uma estação Windows: MFTECmd. É o caminho de menor surpresa e se encaixa no KAPE e no Timeline Explorer.

Para um pipeline que processa muitos discos, roda em Linux ou quer JSON: omerbenamram/mft. A CLI é rápida e a biblioteca é a forma mais limpa de adicionar análise MFT à sua própria ferramenta.

Para uma triagem pontual, uma situação de rede hostil, uma sala de aula ou um colega sem máquina forense: o parser navegador deste site.

Os três são complementares. A maioria dos examinadores experientes pega o que se adapta ao momento em vez de se comprometer com um único.

Recursos externos