disk-forensics について
disk-forensicsは、ディスクイメージとファイルシステムを分析するデジタルフォレンジック用スキルです。許可された調査での証拠復旧、痕跡の確認、タイムライン作成を案内し、完全性の検証、読み取り専用操作、記録を重視します。
主な機能
- 01イメージ形式と完全性の確認
- 02パーティションとファイルシステムの調査
- 03削除ファイルとカービングデータの復旧
- 04システム痕跡とメタデータの確認
- 05イベントタイムラインの作成と記録
活用シーン
- 01インシデント対応で取得したイメージの分析
- 02ディスクイメージからの削除ファイル復旧
- 03調査におけるシステム痕跡の確認
- 04ファイルとログのイベントからタイムラインを作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ briiirussell/ cybersecurity-skills --skill disk-forensicsインストール後、Claude Code で/disk-forensicsを入力して読み込まれたか確認します。
詳細
ディスクフォレンジック — デジタル証拠分析
ディスクイメージとファイルシステムを分析し、証拠を復元して、タイムラインを再構築し、アーティファクトを特定します。
相互参照:incident-triage は、このスキルが分析するイメージを取得する上流の封じ込めフェーズです。incident-triage はビット単位のコピーを作成し、このスキルはそのコピーを分析します。breach-patterns は、同じ根本原因が再発しないよう、フォレンジックで得られた調査結果を予防的な制御に反映するためのものです。
権限の確認
イメージを分析する前に、次の点を確認します。
- 合法的な根拠 — ユーザーがこの分析を行う権限を有していること(範囲が文書化された内部調査、裁判所命令に基づく作業、署名済みのインシデント対応契約、自身のシステム、CTF/ラボ環境など)
- 証拠保全の連鎖が維持されていること — イメージとそのハッシュが、証拠としての精査に耐えられる方法で取得されていること、または証拠として扱うことを目的としない範囲(CTF、証拠保全の連鎖が目的ではない内部トリアージなど)であることが明確であること
- プライバシーの範囲 — 分析が許可された範囲内にとどまり、範囲外の個人データを取得、分析、報告しないこと
合法的な根拠が不明確な場合は、作業を進める前に確認してください。ユーザーが保有を許可されていると確認できないイメージは、決して分析しないでください。
証拠の取り扱いに関する原則
- 必ずコピーを使用し、原本には手を加えないでください
- 分析前にハッシュを比較してイメージの完全性を検証してください
- すべて読み取り専用でマウントしてください
- すべてのコマンドと調査結果を記録してください
- タイムスタンプを保持し、元の証拠を変更しないでください
方法論
ステップ 1:イメージの識別と完全性
イメージ形式を特定し、完全性を検証します。
file <image> # Identify format (E01, dd/raw, VMDK, VHD)
sha256sum <image> # Compare to provided hash
E01 イメージの場合は、ewfinfo を使用してメタデータを抽出します。
ステップ 2:パーティションレイアウト
パーティション構造を調べます。
fdisk -l <image> # Partition table
mmls <image> # Sleuth Kit partition layout
マウントオフセットを計算します:sector_start × sector_size
ステップ 3:マウントと調査
読み取り専用でマウントし、ファイルシステムを調査します。
mount -o ro,loop,offset=<bytes> <image> /mnt/evidence
ls -laR /mnt/evidence
暗号化されたボリュームの場合は、暗号化の種類を特定し、鍵/パスフレーズを要求します。
ステップ 4:ファイルシステム分析(Sleuth Kit)
fsstat -o <offset> <image> # File system details
fls -r -o <offset> <image> # Full file listing (deleted files marked with *)
icat -o <offset> <image> <inode> # Extract specific file by inode
ステップ 5:アーティファクトの復元
削除済みファイル: fls で(* が付いた)ファイルを探し、icat で inode を指定して抽出します。
ファイルカービング: 未割り当て領域に対して foremost または scalpel を実行し、ヘッダーシグネチャに基づいてファイルを復元します。
隠しデータ:
- NTFS の代替データストリーム
- HFS+ のリソースフォーク
- 画像ファイルにステガノグラフィーが含まれていないか確認します:
exiftool、binwalk、steghide
システムアーティファクト:
- ブラウザー履歴:
~/.mozilla、~/Library/Safari、AppData\Local\Google - システムログ:
/var/log/*、Windows イベントログ - レジストリハイブ(Windows):SAM、SYSTEM、SOFTWARE、NTUSER.DAT
- 最近アクセスしたファイル、USB デバイスの履歴、プリフェッチファイル
ステップ 6:メタデータとタイムスタンプ
exiftool <file> # EXIF, XMP, IPTC metadata
stat <file> # MAC times (Modified, Accessed, Changed)
NTFS の場合は、$MFT のタイムスタンプと、変更ジャーナルのエントリを確認するために $UsnJrnl を調べます。
mactime(Sleuth Kit)を使用して、body ファイルから統合タイムラインを生成します。
ステップ 7:キーワード検索
strings <image> | grep -i <keyword> # Raw string search across image
bulk_extractor を使用すると、メール、URL、クレジットカード番号、その他の構造化データを自動的に抽出できます。
ステップ 8:タイムラインの作成
すべてのタイムスタンプを集めて統合タイムラインを作成します。ファイルイベントとログエントリを相互に照合します。次のような異常に注意してください。
- OS のインストール日より前のタイムスタンプ
- 未来の日付が設定されたファイル
- 連続しているはずのログシーケンスに存在する欠落
- タイムゾーンの設定と一致しないタイムスタンプ
出力形式
# Forensic Analysis Report
## Case: [identifier]
## Image: [filename] — SHA256: [hash]
## Date of Analysis: [date]
### Image Integrity
- Hash verified: [yes/no]
- Algorithm: [SHA256]
### Partition Layout
| # | Type | Start | Size | File System |
|---|------|-------|------|-------------|
### Key Findings
#### Finding 1: [Title]
- **Evidence:** [file path or artifact]
- **Content:** [description]
- **Timestamp:** [UTC]
- **Significance:** [why this matters]
### Recovered Files
| File | Source | Recovery Method | SHA256 | Significance |
|------|--------|-----------------|--------|-------------|
### Timeline
| Timestamp (UTC) | Event | Source | Notes |
|-----------------|-------|--------|-------|
### Conclusions
[Summary of findings and their implications]
制限事項
- 提供されたイメージとファイルのみを対象に作業します
- 常に読み取り専用アクセスを維持します
- 実際の調査では、証拠保全の連鎖を記録します
- CTF チャレンジでは、フラグの発見とチャレンジの解決に重点を置きます
- 証拠を変更したり、改ざんを提案したりしないでください
- 許可されていないデバイスアクセスを伴う依頼には応じないでください
参考資料
- NIST SP 800-86:フォレンジック技術の統合ガイド
- The Sleuth Kit のドキュメント
- SANS デジタルフォレンジックのチートシート