dfir について
ログ、ネットワークキャプチャ、ファイルシステムの痕跡、メモリ証拠を調べるデジタルフォレンジックとインシデント対応のスキルです。複数の情報源を照合し、Active Directory攻撃を含むインシデントの時系列を再構成します。
主な機能
- 01Windowsイベントログ分析
- 02ネットワークキャプチャの調査
- 03ファイルシステム痕跡の分析
- 04メモリダンプ分析
- 05複数情報源の時系列再構成
- 06Active Directory攻撃の検出
活用シーン
- 01インシデント時系列の再構成
- 02Active Directory攻撃の検出
- 03ログとネットワーク証拠の照合
- 04永続化痕跡の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ transilienceai/ communitytools --skill dfirインストール後、Claude Code で/dfirを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/c2-traffic-decryption.mddfir-principles.mdfilesystem-forensics.mdINDEX.mdnetwork-forensics.mdreference/scenarios/ad-attack-detection/dcsync-detection.mdgolden-ticket-detection.mdkerberos-roast-detection.mdlateral-movement-indicators.mdreference/scenarios/filesystem/lnk-file-analysis.mdntfs-mft-analysis.mdprefetch-analysis.mdshellbags-userassist.mdtimeline-creation.mdreference/scenarios/log-analysis/linux-auth-logs.mdsplunk-spl-queries.mdsysmon-rules.mdwebserver-logs.mdwindows-event-logs.mdreference/scenarios/malware/cobalt-strike-beacon-config-extraction.mdmalicious-browser-extension-exfil.mdreference/scenarios/memory/injected-code-detection.mdmemory-credential-extraction.mdnetwork-artifacts-from-mem.mdnimplant-minidump-task-recovery.mdvolatility-process-analysis.mdreference/scenarios/pcap/c2-traffic-decryption.mdcredential-extraction.mddns-tunneling-detection.mdhttp-objects-export.md詳細
DFIR
イベントログ、ネットワークキャプチャ、ファイルシステムのアーティファクトを分析して、セキュリティインシデントを調査します。AD 攻撃チェーンを検出し、再構築します。
テクニック
| 分野 | 主な機能 |
|---|---|
| Windows イベントログ | EVTX の解析、イベント ID の相関分析、ログオンの追跡、権限の列挙 |
| ネットワークフォレンジック | PCAP 分析、NTLM の抽出、LLMNR/NBT-NS ポイズニングの検出、リレーの特定 |
| ファイルシステムフォレンジック | MFT の解析、Prefetch 分析、VSS アーティファクトの復元、Linux の永続化、タイムラインの再構築 |
| AD 攻撃の検出 | Kerberoasting、AS-REP roasting、NTDS ダンプ、NTLM リレー、認証情報の窃取 |
| メモリフォレンジック | Volatility3 による分析:プロセスツリー、ファイル抽出、SID の解決、コマンドライン |
| ハッシュ分析 | pcap からの NTLMv2 ハッシュ構築、オフラインクラッキングの検証 |
ワークフロー
- 証拠を一覧化する — すべてのアーティファクト(EVTX、pcap、MFT、prefetch、レジストリ)を列挙します
- 構造化データを解析する —
python-evtxで EVTX、tsharkで pcap、analyzeMFTで MFT を解析します - 攻撃の兆候を特定する — 主要なイベント ID、不審なトラフィックパターン、異常なファイルを確認します
- 複数の情報源を相関分析する — アーティファクト間でタイムスタンプ、IP、LogonID、プロセス ID を照合します
- タイムラインを再構築する — UTC タイムスタンプを使って、攻撃チェーンを時系列で構築します
- 調査上の質問に回答する — 調査結果を具体的なインシデント対応の質問に対応付けます
ツール
pip install python-evtx windowsprefetch analyzeMFT
brew install wireshark p7zip hashcat
| ツール | 用途 |
|---|---|
python-evtx | Windows の .evtx ファイルを解析します |
tshark | コマンドラインでの pcap 分析(NTLM、LLMNR、SMB フィルター) |
analyzeMFT | NTFS Master File Table を解析します |
windowsprefetch | Windows の prefetch ファイルを解析します(Windows ホストのみ) |
hashcat | ハッシュのクラッキング(NTLMv2 モード 5600、Kerberos モード 13100/18200) |
volatility3 | メモリダンプ分析(pstree、filescan、dumpfiles、getsid、cmdline) |
7z | AES 暗号化された証拠 ZIP を展開します |
クイックリファレンス:主要なイベント ID
| イベント ID | ログ | 示す内容 |
|---|---|---|
| 4624 | Security | ログオンの成功(タイプと IP の不一致を確認) |
| 4768 | Security | TGT リクエスト(PreAuthType=0 → AS-REP roasting) |
| 4769 | Security | TGS リクエスト(EncType=0x17 → Kerberoasting) |
| 4799 | Security | グループメンバーシップの列挙(VSS/ntdsutil) |
| 5140 | Security | ネットワーク共有へのアクセス |
| 7036 | System | サービス状態の変更(VSS の開始 → NTDS ダンプ) |
| 325/326/327 | Application | ESENT データベースの作成/切り離し/クローズ |
| 330 | Application | ESENT データベースのファイル情報 |
| 3006/3008 | DNS Client Events | DNS クエリの送信/応答の受信(悪意のあるドメインのルックアップ) |
| 106/200 | Task Scheduler | スケジュールされたタスクの作成/実行(schtasks による永続化) |
参考資料
- windows-event-analysis.md — EVTX の解析パターンと AD 攻撃の検出
- network-forensics.md — NTLM、LLMNR、リレー検出のための PCAP 分析
- filesystem-forensics.md — MFT、Prefetch、VSS アーティファクトの分析
重要なルール
- 回答の書式:フォレンジックに関する質問でコード変数(例:PHP の
$shell)の「値」を尋ねられた場合は、言語固有の文字列区切り文字と終端記号を含めてください(例:valueだけでなく'value';)。書式の手がかりがないか、プレースホルダーのヒントを確認してください。 - 悪意のある Office OOXML では、VBA ストリーム以外も調べてください。攻撃者は、段階的に展開される Base64 やスクリプトの内容を、図形/オブジェクトの記述子、共有文字列、名前付きセル、非表示の UserForm コントロールのキャプション/値に分割している可能性があります。
- VBA のバイト配列が
fnstenv/popデコーダースタブで始まる場合は、符号付き整数を生のバイトに変換し、シェルコードが破損していると判断する前に、Shikata 形式のローリング XOR デコードを試してください。 - 古い Excel BIFF/XLS マルウェアでは、
BOUNDSHEETレコードを調べて、hiddenまたはvery hiddenのワークシートがないか確認し、特に Excel 4.0 マクロシートを確認してください。非表示状態のバイトを変更するか、シートを直接解析すると、通常のブック表示には現れない、展開用の文字列やフラグの断片が見つかることがあります。 - PCAP 内のウェブシェル通信では、後続のペイロードを追跡する前に、アップロードされたサーバー側コードから静的キーを復元し、その後にオペレーターのタスキングを復号してください。シェルコードのステージがドロップされた XOR キーファイルを参照している場合は、blob 全体をオフセット 0 から XOR するのではなく、エンコード領域の実際の開始位置を確認してください。
- PowerShell ステージャーのパターン(インプレースの反転+Base64+IEX):ステージ 1 の PS スクリプトで
[array]::Reverse($charArr)の後にFromBase64String("$charArr")が続く場合、-joinの行は多くの場合、誤誘導です。文字配列の文字列補間では$OFS=' 'が使われ、FromBase64Stringは空白を許容します。空白を挿入して結合したバージョンではなく、元の Base64 文字列を反転してデコードし、ステージ 2 を取得してください。 - 複数断片によるフラグの持ち出し:フォレンジックチャレンジでは、フラグが(a)マルウェア内でハードコードされた
$partN(定義されているが一度も参照されないことが多く、Base64 化されている場合もあります)と、(b)キャプチャされた C2 POST 本文のフィールドに分割されていることがあります。ステージ 2 のソースから漏えいした静的 AES キーを使って本文を復号してください(PowerShell のEncrypt-StringはIV‖ciphertextを格納してから Base64 でラップします)。すべての JSON フィールドを調べ、さらに Base64 が含まれていないか確認してください。 - すべてのタイムスタンプは UTC です。pcap/ログ内の現地タイムゾーンから変換してください。AM/PM の落とし穴:12:XX AM は 00:XX(真夜中)、12:XX PM は 12:XX(正午)です。12 AM は 01:00 ではありません。
- EVTX は
python-evtxで解析してください(XML 名前空間:http://schemas.microsoft.com/win/2004/08/events/event)。 - pcap には
tsharkを使用してください(大きなファイルでは scapy を使用しないでください)。-Y表示フィルターで絞り込んでください。 - Win10 のプリフェッチ(MAM\x04 ヘッダー)は
dissect.util.compression.lzxpress_huffmanで展開してください。 - AES で暗号化された ZIP(圧縮方式 99)には、
unzipではなく7zを使用してください。
コメント
Markdown 対応