TSALVIA技術メモ

CTFのWriteupや気になったツールについて書いていきます。また、このサイトはGoogle Analyticsを利用しています。

NTFSFileExtractor - NTFSボリュームから特定のファイルを抽出する

NTFSFileExtractor について

github.com

このツールを使用すると、NTFSボリュームを解析してファイルを抽出することができます。 例えば、下記のようなファイルを抽出することができます。

  • 削除されたファイル
  • 今使用されているファイル
  • 指定したMFT IDのファイル

今回は、特定のファイルを抽出する方法について紹介します。

MFT IDを指定してファイルを抽出する

今回は、通常の操作で抽出することができない$UsnJrnlファイルの抽出を行ってみます。 ちなみに、このファイルをNTFS Log Trackerに解析させると、ファイルの操作履歴が確認できます。

事前準備(MFT IDを特定する)

NTFSFileExtractorは、特定のファイルを抽出したい場合、MFT IDを指定する必要があります。 fteで$MFTを解析することで、MFT IDを特定できます。

www.kazamiya.net

  1. 「Run」ボタンを押すと、解析が始まります。
  2. 「File」→「Export」で解析結果をテキスト形式で出力することができます。

ファイル名が分かっている場合は、PowerShellなどで検索すると便利です。 今回の場合、3つ目のエントリ(78509)が$UsnJrnlのMFT IDになります。

> type .\fte_result.txt | Select-String "UsnJrnl"
$UsnJrnl|2137|78509|11|Unknown|POSIX|1|FILETIME|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.913806
8| cr  =  m  =  c  =  a  =  fcr  =  fm  =  fc  =  fa

特定のファイルを抽出する

  1. 「User Selec」を選択して、「Start Extraction」を実行する。
    f:id:tsalvia:20190303130728p:plain
  2. 「User Selected File Set」のウインドウが表示されたら、78509($UsnJrnlのMFT ID)を指定して「OK」を押す。
    f:id:tsalvia:20190303134743p:plain
  3. NTFSFileExtractorを実行した場所に「C」というディレクトリが作成されています。余計なファイルも出力されていますが、「$Extend」以下に目的のファイルが抽出されています。
    f:id:tsalvia:20190303135552p:plain

参考情報