hacktricks/forensics/basic-forensic-methodology/partitions-file-systems-carving/ntfs.md
2023-06-06 18:56:34 +00:00

9.9 KiB

NTFS

NTFS

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

NTFS

NTFS (New Technology File System) é um sistema de arquivos de registro proprietário desenvolvido pela Microsoft.

O cluster é a menor unidade de tamanho no NTFS e o tamanho do cluster depende do tamanho de uma partição.

Tamanho da partição Setores por cluster Tamanho do cluster
512MB ou menos 1 512 bytes
513MB-1024MB (1GB) 2 1KB
1025MB-2048MB (2GB) 4 2KB
2049MB-4096MB (4GB) 8 4KB
4097MB-8192MB (8GB) 16 8KB
8193MB-16,384MB (16GB) 32 16KB

Timestamps NTFS

Outra ferramenta útil para analisar o MFT é o MFT2csv (selecione o arquivo MFT ou a imagem e pressione dump all e extract para extrair todos os objetos).
Este programa extrairá todos os dados do MFT e apresentará em formato CSV. Também pode ser usado para despejar arquivos.

$LOGFILE

O arquivo $LOGFILE contém logs sobre as ações que foram realizadas em arquivos. Ele também salva a ação que precisaria ser executada em caso de um refazer e a ação necessária para voltar ao estado anterior.
Esses logs são úteis para o MFT reconstruir o sistema de arquivos caso ocorra algum tipo de erro. O tamanho máximo deste arquivo é de 65536KB.

Para inspecionar o $LOGFILE, é necessário extrair e inspecionar o $MFT anteriormente com o MFT2csv.
Em seguida, execute o LogFileParser neste arquivo e selecione o arquivo $LOGFILE exportado e o CVS da inspeção do $MFT. Você obterá um arquivo CSV com os logs da atividade do sistema de arquivos registrados pelo log $LOGFILE.

Filtrando por nomes de arquivos, você pode ver todas as ações realizadas em um arquivo:

$USNJnrl

O arquivo $EXTEND/$USNJnrl/$J é um fluxo de dados alternativo do arquivo $EXTEND$USNJnrl. Este artefato contém um registro de alterações produzidas dentro do volume NTFS com mais detalhes do que $LOGFILE.

Para inspecionar este arquivo, você pode usar a ferramenta UsnJrnl2csv.

Filtrando pelo nome do arquivo, é possível ver todas as ações realizadas em um arquivo. Além disso, você pode encontrar a MFTReference na pasta pai. Em seguida, olhando para essa MFTReference, você pode encontrar informações da pasta pai.

$I30

Cada diretório no sistema de arquivos contém um atributo $I30 que deve ser mantido sempre que houver alterações no conteúdo do diretório. Quando arquivos ou pastas são removidos do diretório, os registros do índice $I30 são reorganizados de acordo. No entanto, a reorganização dos registros do índice pode deixar remanescentes da entrada de arquivo/pasta excluída dentro do espaço livre. Isso pode ser útil na análise forense para identificar arquivos que podem ter existido no disco.

Você pode obter o arquivo $I30 de um diretório do FTK Imager e inspecioná-lo com a ferramenta Indx2Csv.

Com esses dados, você pode encontrar informações sobre as alterações de arquivos realizadas dentro da pasta, mas observe que o tempo de exclusão de um arquivo não é salvo dentro deste log. No entanto, você pode ver que a última data modificada do arquivo $I30, e se a última ação realizada na pasta é a exclusão de um arquivo, os tempos podem ser os mesmos.

$Bitmap

O $BitMap é um arquivo especial dentro do sistema de arquivos NTFS. Este arquivo mantém o controle de todos os clusters usados e não utilizados em um volume NTFS. Quando um arquivo ocupa espaço no volume NTFS, a localização usada é marcada no $BitMap.

ADS (fluxo de dados alternativo)

Fluxos de dados alternativos permitem que os arquivos contenham mais de um fluxo de dados. Todo arquivo tem pelo menos um fluxo de dados. No Windows, este fluxo de dados padrão é chamado de :$DATA.
Nesta página, você pode ver diferentes maneiras de criar/acessar/descobrir fluxos de dados alternativos do console. No passado, isso causou uma vulnerabilidade no IIS, pois as pessoas conseguiam acessar o código-fonte de uma página acessando o fluxo :$DATA como http://www.alternate-data-streams.com/default.asp::$DATA.

Usando a ferramenta AlternateStreamView, você pode pesquisar e exportar todos os arquivos com algum ADS.

Usando o FTK imager e clicando duas vezes em um arquivo com ADS, você pode acessar os dados do ADS:

Se você encontrar um ADS chamado Zone.Identifier (veja a imagem acima), isso geralmente contém informações sobre como o arquivo foi baixado. Haveria um campo "ZoneId" com as seguintes informações:

  • Zone ID = 0 -> Meu computador
  • Zone ID = 1 -> Intranet
  • Zone ID = 2 -> Confiável
  • Zone ID = 3 -> Internet
  • Zone ID = 4 -> Não confiável

Além disso, diferentes softwares podem armazenar informações adicionais:

Software Informação
Google Chrome, Opera, Vivaldi, ZoneId=3, ReferrerUrl, HostUrl
Microsoft Edge ZoneId=3, LastWriterPackageFamilyName=Microsoft.MicrosoftEdge_8wekyb3d8bbwe
Firefox, Tor browser, Outlook2016, Thunderbird, Windows Mail, Skype ZoneId=3
μTorrent ZoneId=3, HostUrl=about:internet
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥