PR 本記事には広告(Amazonアソシエイト・もしもアフィリエイト・A8.net等)が含まれます。掲載情報の正確性には努めていますが、商品の詳細は必ずリンク先で最新情報をご確認ください。

【ディスクForensics編】MFTとタイムラインで侵入の足跡をたどる|CTF思考フレームワーク #42

【ディスクForensics編】MFTとタイムラインで侵入の足跡をたどる|CTF思考フレームワーク #42 アイキャッチ画像
安全に生きたい編集部

広告・PRを含みます。この記事にはアフィリエイトリンクが含まれます。掲載内容は編集方針に基づいて作成していますが、価格・在庫・キャンペーン内容はリンク先で最新情報を確認してください。

ディスクフォレンジックって、削除したファイルも復元できるの?💾

できます。NTFSやext4 では、ファイル削除時に実データはすぐに消えず、エントリーがフラグで『削除済み』にマークされるだけ。MFT(Master File Table)を解析すれば、削除されたファイルの存在と中身を復元できます。

ディスクフォレンジックは、HDD/SSDから攻撃者の足跡をたどる技術。NTFSのMFT、Linux ext4のスーパーブロック、APFSのインオード――これらを解析して、削除ファイル・タイムスタンプ・アクセス履歴を復元します。Autopsy・FTK・The Sleuth Kit が代表的ツール。

完全に消したつもりでも、復元される可能性あるんだ…

この記事は、CTF思考フレームワーク第42回。ディスクフォレンジックの基本(MFT解析・タイムライン構築・削除ファイル復元)と、Windows/Linux/macOS別の実践手順、代表ツールの使い方を整理します。

📖 この記事はシリーズの一部です
CTF思考フレームワーク#42 / 全86記事 → シリーズ一覧を見る →

💾 ディスクForensicsの主役は「ファイルシステムのメタデータ」。NTFSのMFT、ext4のinodeとjournal。ファイルが消されても、書き換えられても、メタデータの隙間から事実が浮かび上がります。

「ファイルがあった/消えた/更新された」を時系列で語れるのがDFIRの基本技。MFTレコードは1ファイルあたり1KB、その中に作成・更新・MFT変更・最終アクセスの4種類のタイムスタンプが2セットも入っているのがポイント。

難易度:★★★(上級)

NTFS MFTを読み解いて侵入の足跡をたどります💾

ディスクForensicsの主役は$MFT(Master File Table)。すべてのファイル操作の履歴がここに残るんだ💾

この記事で出てくる言葉

先に意味を押さえておくと読みやすい用語です。

  • CTF: セキュリティの練習問題を解く競技。必ず許可された環境だけで試します。
  • マルウェア: 情報を盗む、端末を壊す、勝手に操作するなど悪意あるソフトの総称です。
  • 横展開: 侵入後に別の端末やサーバーへ移動して被害範囲を広げる動きです。
  • フォレンジック: ログや端末の痕跡から、何が起きたかを調べる作業です。

👀 観察フェーズ:まず何を見る?

まず$MFT・$LogFile・$UsnJrnlを取得して中身を観察!それぞれ違う情報を持ってます🔍

ディスクイメージを解析する前に、対象ファイルシステムの種類とアーティファクトの位置を把握。NTFSなら $MFT・$LogFile・$UsnJrnl、ext4ならjournal・inodeテーブル。

MFTは作成/変更/アクセス/MFT変更(MACE)の4タイムスタンプを持ち、Standard InformationとFile Nameで二重管理。ズレが改ざんサイン👀

$LogFileやUSNジャーナルを併用すると削除済みファイルの痕跡まで追えるんだね💡

  • $MFT:全ファイルのメタデータ(NTFS)
  • $LogFile:トランザクションログ(直近の更新)
  • $UsnJrnl:USNジャーナル(変更履歴)
  • Recycle Bin($Recycle.Bin/$IXXXX.txt + $RXXXX)
  • ShellBags(フォルダ閲覧履歴)、Prefetch(プログラム実行履歴)
  • Volume Shadow Copy(過去状態の復元点)

ディスクForensicsの典型読み解きは4視点

🤔 仮説フェーズ:攻撃者は何を考える?

🕓 仮説①:MACEタイムライン

MFTの4タイムスタンプを並べて作成→実行→削除のシーケンスを再現。

👥 仮説②:MFT二重タイムスタンプ

$STANDARD_INFORMATIONと$FILE_NAMEで時刻が大きく食い違うのはTimestomping痕跡。

🗑️ 仮説③:$UsnJrnlで削除追跡

削除されたファイル名・操作種別が残るので「消された痕跡」を再構成できる。

🪞 仮説④:VSS(シャドウコピー)

Volume Shadow Copyに過去のスナップショットが残っていれば、削除前の状態に戻せる。

🕶️ 攻撃者は「ファイルを消せばOK」と思いがちですが、実際にはMFTレコードは再利用されるまで残るし、$LogFileに最近の操作が書き込まれます。timestompで$STANDARD_INFOを書き換えても、$FILE_NAME属性のタイムスタンプは触りにくく、両者の差で検出されます。

NTFSは「黙って何もかも記録する」からForensicsの宝庫なんだね😲

🔬 検証フェーズ:どうやって確かめる?

FTK Imagerでディスクイメージ作成→MFTECmd.exeTimeline Explorerでタイムライン化、が王道🧪

ディスクイメージの取得とMFTパース。MFTECmdでCSV化して、Timeline Explorerで可視化するのが王道ワークフローです。

Plasoでスーパータイムラインを作ると複数アーティファクトを統合して見られるんだね💡

# MFTパース
MFTECmd.exe -f "C:case$MFT" --csv C:case --csvf mft.csv

# $LogFile / $UsnJrnl
MFTECmd.exe -f "$LogFile" --csv out
MFTECmd.exe -f "$J" --csv out

# Sleuth Kit (Linux/MacOS)
fls -r -m C: disk.img > body.txt
mactime -b body.txt > timeline.txt

ディスクで暴く侵入痕跡トップ3

⚔️ 攻撃フェーズ:実際の手口

① ダウンロード→実行の連鎖

MFTでDownloads/にできた実行ファイル→Prefetch・Amcacheで実行履歴を補強。

② 横展開ツールの痕跡

psexec.exe系のサービス作成→SystemイベントID 7045とMFT記録の整合で確証。

③ 永続化マルウェアの居場所

%APPDATA%System32下に作られた不審なdllを作成時刻+親ディレクトリから特定。

攻撃者の典型的な改ざん:①timestomp(タイムスタンプ偽装)、②Alternate Data Streams(ADS)に隠す、③ファイル削除+$MFT再利用待ち、④Volume Shadow Copy削除。

# timestompの検出ロジック
# $SI(標準情報)と $FN(ファイル名)の時刻を比較
# $FNの方が新しい場合は改ざん疑い

# ADS確認
dir /R
Get-Item -Path file.txt -Stream *

# Volume Shadow Copy列挙
vssadmin list shadows

NTFSの $LogFile はリングバッファで上書きされるので、インシデント発覚から取得までの時間勝負。発覚から数時間〜数日で消えます⏳

ディスクForensicsを活かす3点!🛡️

🛡️ 防御フェーズ:どう守る?

🪞 VSS有効化

Volume Shadow Copy Serviceを切らない。攻撃者が消したファイルも復元できる可能性が残る。

🔒 USN/MFTの長期保管設定

fsutil usn createjournalでジャーナルサイズを十分大きく確保。デフォルトでは数日で上書き。

🛡️ 物理アクセスとEvidence Lock

事件機は電源を入れずイメージング。不用意な書き込みでMACE改変を防ぐ。

「ファイルシステムは語る、ただし読み手次第」。ディスクForensicsは技術と忍耐の世界💪

守備側はディスクアーティファクトの保全と、改ざん検知の仕組み化。File Integrity Monitoring(FIM)と、Volume Shadow Copyの定期取得が効果的。

  • KAPEで重要アーティファクトを定期的に三角測量バックアップ
  • Volume Shadow Copyで日次スナップショット(攻撃者削除耐性も加味)
  • NTFS $UsnJrnl のサイズを十分に確保(既定は小さい)
  • FIM(OSSEC / Wazuh / Tripwire)でファイル変更を即時検知
  • タイムゾーン・NTP同期を全機統一(UTC運用)
  • Sysmon EID 11(FileCreate)と EID 23(FileDelete)も収集

🛡️ 今日からできる対策ツール

フォレンジックと同じくらい大事なのが「そもそも侵入されない」こと。🛡️ ソースネクストのセキュリティツールなら、買い切りで使えるタイプも多いので、「サブスク疲れ」している人に人気です。

PR / 広告

ソースネクスト

※ 上記は他社サービスへのリンクです。購入は各自でご判断ください。

⚠️ よくある落とし穴

  1. MFTをパース前にコピーせず、ライブシステムで上書き
  2. $LogFile / $UsnJrnl の保持サイズが小さく、肝心の証拠が流れる
  3. timestompを $SI だけ見て検出した気になる
  4. ファイル名検索だけで判断し、ADSやハッシュを見ない
  5. Volume Shadow Copyを「ディスク容量節約」で無効化
  6. Linux ext4のjournalは2モードあり(writeback/ordered/journal)解析方法が違うのを忘れる

🧰 ツール早見表

ツール用途備考
MFTECmd$MFT・$LogFile・$UsnJrnl解析Eric Zimmerman tools
AutopsyGUI統合解析Hash・タイムライン・キーワード検索
Sleuth Kit (TSK)CLI低レイヤ解析fls/icat/istat等
plasoタイムライン統合Body file + 80種以上のparser
KAPEアーティファクト収集自動化TargetsとModulesで柔軟

🎓 本気で学びたい人へ

インシデントレスポンスやフォレンジックを職業として目指したい方へ。🎓 ササエルはインフラとセキュリティの両輪で学べるスクールです。

PR / 広告

ササエル

📚 もっと深く学びたい人へ

実際に手を動かして攻撃手法を体で覚えたいなら『7日間でハッキングをはじめる本 TryHackMe』がおすすめ📚

📚 次に読みたい

✍️ 学んだことを発信する

検証記録やレポートをオンラインでまとめるなら、ConoHa WINGのWordPressが手軽で便利です。

PR / 広告

ConoHa WING

⚖️ 大事なお約束

必ず守ってね

この記事の手法は、必ず自分の環境か、許可されたCTF・脆弱性報奨金プログラム(HackerOne、Bugcrowd等)で試してください。他人のサービスに無断で攻撃を仕掛けるのは不正アクセス禁止法違反、立派な犯罪です。学んだ知識は守る側で活かしましょう🤝

記事URLをコピーしました