Windowsのパソコンで何かが起きた。誰かが、何が起きたのかを説明しなければならない。 ファイルは持ち出されたのか。動くはずのないプログラムが実行されたのか。攻撃者はまだ中にいるのか。デジタルフォレンジックとインシデント対応(DFIR)は、こうした問いに、第三者が確かめても揺るがない証拠で答える仕事です。
本稿は、フォレンジックの知識がない状態から、Windowsの調査をひとりで進められるようになるまでの全12回の講座の第1回です。各回は、調査者の問いを1つ取り上げ、それに答える証拠を示し、結果が一致すべき2つのツールを使い、答え合わせのできる演習で終わります。最終回では、米国国立標準技術研究所(NIST)が公開している事例をひとりで調べ、NIST自身の解答と照らし合わせます。全カリキュラムはDFIR講座のページにあります。
この回を終えると、次のことができるようになります。
- ツールの画面を順に見ていくのではなく、問いと証拠で調査を進める。
- 証拠を変えずに扱い、変えていないことを示す。
- ライセンスで何が許されるかを理解したうえで、無料と有料のツールを選ぶ。
- 安全な2台構成のラボを作る。
- 自分で作った操作をAutopsyで見つけ、別のツールで確かめる。
いま実際のインシデントの最中にいるなら、ここで読むのをやめて、ランサムウェア対応プレイブックかアカウント侵害対応プレイブックを使ってください。この講座は、その日が来る前に学ぶためのものです。
DFIRとは何か、1ページで
デジタルフォレンジックは、何が、いつ、どのように起きたのかに、証拠で答えます。インシデント対応は、被害を止め、組織を元の状態に戻します。実務では両者は一体です。対応する側は何を封じ込めるかを決めるためにフォレンジックの答えを必要とし、調べる側は封じ込めの作業で証拠を壊されないことを必要とします。
この仕事の枠組みになるのが、NISTの2つの文書です。SP 800-86は、フォレンジックを収集、検査、分析、報告の4つの段階に分けています。2025年4月に公開されたSP 800-61 第3版は、インシデント対応を独立したサイクルとしてではなく、NISTのサイバーセキュリティフレームワーク2.0の6つの機能の中に位置づけました。日本では、デジタル・フォレンジック研究会の証拠保全ガイドライン 第10版(2025年3月15日)が、多くの実務家や弁護士が拠り所にしている文書です。
実際の事件には2つの進め方があり、初心者はたいてい後者しか学びません。
- トリアージ:機器は多く、時間は少ない。どの機器が関係しているか。まだ続いているか。何から隔離するか。小さく速い収集から答えを出します。
- 詳細調査:1台を、細部まで。正確に何が、どの順で起きたのか。どこまで確かなのか。ディスク全体のイメージとタイムラインから答えを出します。
ほとんどのインシデントはトリアージから始まり、重要な機器だけを詳細に調べます。この講座では両方を扱います。第2回と第5回はトリアージの技術、第4回と第6〜9回は詳細調査の技術です。
方法:先に問い、次に証拠

図1:調査のループ。NIST SP 800-86の4つの段階に基づく。仮説の段階と確度の区分は、本講座での適用方法
ツールは何千もの痕跡を見せてくれます。問いがなければ、その中で溺れてしまいます。この講座のすべての調査は、次の5つの問いから始まります。
- 何が起きたのか。 データの持ち出し、プログラムの実行、アカウントの悪用、ファイルの暗号化か。
- いつか。 その活動の最初と最後の証拠を、タイムゾーン付きで。
- どのようにか。 どうやって侵入し、何を実行したのか。
- 何に及んだのか。 どのアカウント、機器、データか。これが範囲で、誰に知らせるべきかを決めます。
- まだ続いているか。 再起動しても残るもの、まだ開いているセッション。
それぞれの問いを、確かめられる仮説に置き換え、それを裏づける証拠と否定する証拠を書き出します。たとえば、利用者が invoice.exe を実行していないと言っているとします。仮説は「実行された」です。実行されていれば、Windowsは通常、Prefetchファイル、Amcacheの記録、監査が有効ならプロセス生成のイベント、そしてEDRの記録を残します。それぞれを確認し、どれもなければ、誠実な結論は「実行されなかった」ではありません。「Prefetch、Amcache、セキュリティログ、EDRに実行の証拠はなく、これらは合わせてXからYまでの期間をカバーしている」です。
結論には必ず確度を付けます。
- 確定:独立した2つの痕跡が一致している。
- 可能性が高い:痕跡は1つだが、ほかのすべてと矛盾しない。
- 可能性がある:事実と合うが、直接示すものはない。
メモでは、事実(痕跡が示すこと)、推論(そこから導いたこと)、未確認(確かめられなかったこと)を分けて書きます。報告書を読む人は、その違いをもとに動きます。
証拠の扱い方:最初の日からのルール
裁判所、規制当局、保険会社、そして自社の経営陣が、どうしてそう言えるのかを尋ねるかもしれません。次のルールが、その問いに答えられるようにしてくれます。失敗しても困らない今のうちに身につけましょう。
1. アクセスの前に権限を
どの機器、アカウント、データを、何の目的で調べてよいかを書いた許可を、書面でもらいます。初日から関係する日本の法律が2つあります。
- 不正アクセス禁止法は、調査中だからといって適用が外れるわけではありません。証拠の中で見つけた認証情報で攻撃者のサーバーやクラウドのアカウントにログインすれば、他人の識別符号を無断で使うことに変わりはありません。調べるのは依頼者が所有するものまでとし、それ以外は警察に委ねます。
- 証拠は個人情報の塊です。手元のコピーにも個人情報保護法が適用されます。個人データが漏えいしたおそれがあれば、企業は個人情報保護委員会に報告しなければなりません。速報は速やかに(ガイドラインでは概ね3〜5日以内)、確報は30日以内、攻撃など不正の目的によるおそれがある場合は60日以内です。調査結果は両方の報告の材料になるので、それぞれの事実をいつ把握したかを記録してください。
警察に相談する可能性があるなら、復旧の前に保全します。警察庁のサイバー事案に関する相談窓口は、選んだ都道府県警察に内容を通知する統一の窓口です。
2. 揮発性の高いものから
証拠の中には、電源を切ったり、そのまま動かし続けたりするだけで消えてしまうものがあります。証拠収集の指針として長く使われているRFC 3227は、揮発性の高い順に次のように並べています。
| 順序 | 証拠 | 失われるとき |
|---|---|---|
| 1 | レジスタ、キャッシュ | マイクロ秒単位で |
| 2 | ルーティングテーブル、ARPキャッシュ、プロセス表、カーネルの統計、メモリ | 電源を切ったとき |
| 3 | 一時ファイルシステム | 再起動や整理のとき |
| 4 | ディスク | 数日から数週間で上書きされる |
| 5 | リモートのログ、監視データ | 保存期間が切れたとき |
| 6 | 物理的な構成、ネットワーク構成 | 誰かが変えたとき |
| 7 | アーカイブ媒体 | めったに失われない |
実務では、メモリを取得するかどうかを誰かが判断する前に、疑わしい機器の電源を切ったり、再インストールしたりしてはいけません。できればケーブルを抜くのではなく、EDRのネットワーク隔離機能を使います。隔離ならメモリと動作中のプロセスがそのまま残るからです。メモリの取得は第2回で扱います。
証拠保全ガイドラインは、同じ原則を両側から示しています。電源が入っている機器は、電源を入れ続けることで明白な被害の拡大が見られる場合を除き、揮発性情報を取得するまで電源を切らない(5-1-2)。電源が切れている機器は、ディスク全体の暗号化などでやむを得ない場合を除き、原則として電源を入れない(5-2-1)。
3. コピーで作業し、ハッシュ値で証明する
原本を調べてはいけません。コピーを作り、その暗号学的ハッシュ値を計算します。1ビットでも変われば全く別の値になる、データの指紋です。SHA-256を使い、証拠を取得したとき、移すたびに、そして分析の後に計算します。値が一致すれば、コピーが変わっていないことの証明になります。
Windowsでは、PowerShellの Get-FileHash が標準でSHA-256を使います。
Get-FileHash -Path 'C:\Cases\DFIR-LAB-001\evidence\DFIR-LAB-001-target.vhd' -Algorithm SHA256 | Format-List
macOSでは shasum -a 256 <ファイル>、Linuxでは sha256sum <ファイル> で同じ値が得られます。古いツールの中にはMD5やSHA-1を表示するものもありますが、Microsoft自身の文書が、この2つは意図的な改ざんに対してはもう安全ではないと述べています。SHA-256と並べて確認に使う程度にとどめてください。
証拠保全ガイドラインは、この作業を「同一性の検証」と呼んでいます(7-3)。完全な複製を作るときに、複製元と複製先の両方のハッシュ値を算出します。ライブでのイメージ取得や不良セクターなどで複製元のハッシュ値を算出できない場合は、複製先のハッシュ値だけを算出し、その理由を記録します。ガイドラインの例はWindows標準の CertUtil -hashfile <ファイル名> <ハッシュアルゴリズム> で、アルゴリズムにSHA256を指定すれば Get-FileHash と同じ値が得られます。
4. すべてを書き残す
メモは、あなたの作業の証拠です。すべての操作について、タイムゾーン付きの時刻、何をしたか、なぜか、結果を書きます。日本標準時はUTC+9で夏時間はなく、Windowsはファイルシステムの時刻の多くをUTCで記録しています。タイムゾーンが抜けると、タイムライン全体が9時間ずれます。メモをUTCで書けば、この問題は起きません。
**保管記録(チェーン・オブ・カストディ)**は、証拠が通ったすべての人の手を記録するものです。その証拠が何か、ハッシュ値、誰が持っていたか、いつ、どこに保管したか、なぜ移したか。どちらのテンプレートも本稿の最後にあります。証拠保全ガイドラインは、証拠保全に関わるすべての機器のシリアル番号とソフトウェアのバージョンを記録すること(7-4-2)、後日できる限り再現できるよう各工程を写真やビデオで記録すること(7-4-3)も求めています。付録EにはChain of Custodyシートの例があります。
5. 自分の足跡も証拠になる
動いている機器の上で行ったことは、すべて痕跡を残します。実行したツールのPrefetchファイル、PowerShellの履歴、自分のアカウントのログオンイベント。何を、いつ実行したかを記録しておけば、後で自分の操作と攻撃者の操作を分けられます。
疑わしい機器に、ドメイン管理者のアカウントで対話的にログオンしてはいけません。攻撃者がまだ中にいれば、メモリから認証情報を読み取るツール(ATT&CK T1003.001、LSASSメモリ)にそのアカウントを奪われ、インシデントは一気に大きくなります。必要な権限だけを持つ対応専用のアカウントを使ってください。
6. 痕跡1つは手がかり、2つで発見
ツールにはバグがあり、痕跡には癖があります。発見と呼べるのは、独立した2つの情報源が一致したとき、できれば2つの異なるツールで読んだときです。この後の演習で、まさにそれを行います。
初心者がやりがちな失敗と、その代償
| 失敗 | 失われるもの | 代わりにすること |
|---|---|---|
| まず再起動や再インストールをする | メモリ、動作中のマルウェア、開いている通信 | 隔離し、メモリ取得を判断してから動く |
| まずウイルス対策ソフトのフルスキャンをかける | スキャナーが隔離・削除するファイル | 先に収集し、コピーをスキャンする |
| 疑わしいファイルを自分のパソコンで開く | 自分のパソコン、場合によっては社内ネットワーク | ラボの分析用マシンを使う |
| ファイルをUSBメモリにドラッグして「証拠」にする | コピーの元の時刻、ハッシュ値 | ハッシュ値を取るイメージ作成・収集ツールを使う |
| タイムゾーンを書かない | 何時間もずれたタイムライン | 時刻はUTCで書くか、必ずタイムゾーンを添える |
| 「起きていない」と書く | 後で起きていたと分かったときの信頼 | 何を確認し、それが何をカバーするかを書く |
両側から見る:攻撃者は証拠に何をするか
手慣れた攻撃者は、この講座で読み方を学ぶ証拠そのものを消そうとします。その手口を知っておけば、何かが欠けているときに何を探せばよいかが分かります。しかも、こうした操作の多くはそれ自体の痕跡を残します。正当な利用者がめったに行わない操作なので、その痕跡は最も信頼できる警報の材料になります。
| 攻撃者の操作 | ATT&CK | 消えるもの | 残るもの | 用意しておきたい警報 | 回 |
|---|---|---|---|---|---|
イベントログの消去(たとえば wevtutil cl Security) |
T1070.001 | そのログのイベント | 消去そのものを記録するセキュリティイベント1102やシステムイベント104、レコード番号の欠け | 計画された保守以外での1102、104 | 5 |
| ツールや持ち出し用ファイルの削除 | T1070.004 | いずれファイルの中身 | $MFTのファイル記録、変更ジャーナル$UsnJrnlの記録、削除されたプログラムのPrefetch | 大量削除や、実行直後の削除に対するEDRの警報 | 8 |
| ファイルの時刻の改ざん(タイムストンプ) | T1070.006 | 正しいファイルの時刻 | NTFSが各ファイルに持つ2組の時刻の食い違い | 時刻を変更するツールに対するEDRの検知 | 8 |
| コマンド履歴の消去 | T1070.003 | PowerShellの履歴ファイル | 有効ならPowerShellのスクリプトブロックログ、Prefetch | 攻撃者が消せないSIEMへのPowerShellログの転送 | 5 |
| Defenderの停止や無効化(たとえば除外の追加) | T1562.001 | その後の検知 | Defenderのイベント5007(設定の変更)、レジストリの値 | 変更申請のない新しい除外の追加 | 6 |
守る側にとっての教訓は、ログを書かれたそばから機器の外に転送しておくことです。手元のログを消した攻撃者も、SIEMにあるコピーは消せません。
Windowsの証拠マップ
Windowsは、ほとんどの利用者が思っているよりはるかに多くのことを記録しています。次の表は、それぞれの問いに答える痕跡と、それを学ぶ回を対応づけたものです。
| 問い | 主な痕跡 | 回 |
|---|---|---|
| プログラムは実行されたか | Prefetch、Amcache、Shimcache、BAM、UserAssist、SRUM、プロセス生成のイベント | 4 |
| 誰が、どうやって、どこからログオンしたか | セキュリティイベント4624、4625、4672、RDPのログ | 5、10 |
| 再起動後に再び動き出すものは何か | Runキー、サービス、タスク、WMIのサブスクリプション、スタートアップフォルダー | 6 |
| 利用者は何を開き、何を閲覧し、何を接続したか | LNKファイル、ジャンプリスト、ShellBags、閲覧履歴、USB機器の記録 | 7 |
| どのファイルが作られ、変更され、削除されたか | $MFT、$UsnJrnl、$LogFile、ごみ箱 | 8 |
| その瞬間、何が動き、どこにつながっていたか | メモリ | 9 |
| 攻撃者はほかにどこへ行ったか | ほかの機器のログオンイベント、RDP、SMB、リモートサービスの痕跡 | 10 |
道具箱と、ライセンスで許される範囲
この講座では無料のツールを優先し、第3回では商用製品のMagnet AxiomをAutopsyと並べて比べます。有料だから優れているとは限りません。大事なのは、2つのツールの結果が一致することです。
| ツール | 提供元 | この講座での用途 | 費用とライセンス | 回 |
|---|---|---|---|---|
| Autopsy | The Sleuth Kitプロジェクト | ディスクイメージを開く、削除ファイルを探す、キーワード検索、タイムライン、報告書 | 無料、オープンソース(Apache License 2.0) | 1、3、11、12 |
| Magnet RESPONSE | Magnet Forensics | 稼働中の機器からワンクリックで収集:メモリ、揮発性データ、イベントログ、レジストリ、$MFT、Prefetch | 無料 | 2 |
| Magnet DumpIt for Windows | Magnet Forensics | メモリの取得 | 無料(Magnetの使用許諾契約による)。Linux版はオープンソース | 2 |
| Magnet Encrypted Disk Detector | Magnet Forensics | 電源を切る前にBitLockerやVeraCryptを確認する | 無料 | 2 |
| Magnet Axiom | Magnet Forensics | 商用の解析スイート | 有料、試用は申し込み制 | 3 |
| FTK Imager | Exterro | ディスクイメージの作成、ハッシュ値、証拠のプレビュー | 無料。FTK Imager Proは有料(2025年9月から) | 2 |
| KAPE | Kroll | 速く、狙いを絞った収集 | 政府機関と、教育、研究、社内での利用は無料。2026年1月1日以降、商用利用(第三者のネットワーク上での利用や有償の業務)には使えない | 2 |
| EZ Tools(PECmd、EvtxECmd、MFTECmd、RECmd、Timeline Explorerなど) | Eric Zimmerman | 痕跡を種類ごとに詳しく読む | 無料。この講座で使うコマンドラインのツールはオープンソース(MITライセンス)、GUIのツールは無料だがソースは非公開。現行版は.NET 9が必要 | 1、4〜8、11 |
| Hayabusa | Yamato Security(日本) | ルールに基づく、速いイベントログのトリアージ | 無料、オープンソース。HTMLレポートのクロスサイトスクリプティングが修正された3.8.0以降を使う | 5、10 |
| Volatility 3 | Volatility Foundation | メモリの分析 | 無料。Volatility Software Licenseにより、配布する改変は公開が必要 | 9 |
| Autoruns | Microsoft Sysinternals | プログラムが自動で起動しうる場所をすべて一覧にする | 無料 | 6 |
| LogonTracer | JPCERT/CC | 機器間のログオンをグラフで描く | 無料、オープンソース | 10 |
見落としやすい点が2つあります。KAPEの条件は2026年1月1日に変わりました。社内での利用は引き続き無料ですが、顧客のネットワーク上での利用や有償の業務には使えなくなったため、コンサルタントは顧客の案件に別の収集ツールを使う必要があります。代わりの選択肢は第2回で比べます。また、Autopsyのインストールガイドは、ウイルス対策ソフトが結果を見る前に隔離したり削除したりすることがあると警告し、ケースのフォルダーを対象から外すよう勧めています。この点は次のラボで対処します。
ラボを作る

図2:本講座を通して使うラボ。第10回で、マシン間のネットワークを追加します
必要なもの
- パソコン:Intel製かAMD製(x64)のプロセッサー。講座の後半には、x64のWindowsでしか動かないツールもあります。
- メモリ:32GBあれば余裕があります。Autopsyのインストールガイドは、Autopsyを動かすマシンに16GB以上のメモリを推奨しています。TARGETとANALYSTは1台ずつ動かします。16GBのホストでも、ANALYSTに12GB程度を割り当てればこのラボはできますが、推奨値を下回るため、解析には時間がかかります。
- ディスク:空き容量約150GB、できればSSD。
- 仮想化ソフト:本稿ではVirtualBox 7.2を使います。無料で(基本パッケージはGPLバージョン3のオープンソース)、Windows 11に必要なTPMとセキュアブートの設定があります。VMware Workstation Proは2024年11月から商用を含むすべての用途で無料になり、Hyper-VはWindowsのProとEnterpriseに組み込まれています。どちらでも構いませんが、メニューは異なります。
- Windows 11 Enterprise評価版:Microsoftの評価センターから入手します。90日間使え、この講座には十分です。期限後は作り直せます。
ステップ1:TARGETを作る
TARGETという名前で仮想マシンを作ります。種類はWindows 11(64-bit)、メモリ4GB、プロセッサー2個、80GBの可変サイズのディスク。設定で、TPMがバージョン2.0で、セキュアブートが有効になっていることを確認します。どちらかが欠けると、Windows 11のセットアップは進みません。評価版のISOからWindows 11をインストールします。新規仮想マシンの作成画面でISOを選ぶと、VirtualBoxは標準で無人インストールを行います。入力したユーザー名とパスワードは管理者アカウントになり、コンピューター名は仮想マシンの名前(
TARGET)になります。個人のMicrosoftアカウントではなく、使い捨てのローカルアカウントを使ってください。後で作るディスクイメージには、そのアカウントが同期したものがすべて含まれます。更新を一度適用したら、ネットワークを切ります(VirtualBoxでは、ネットワークアダプターの割り当てを「未割り当て」にします)。演習の途中で更新が入ると、証拠に余計な変化が混ざります。
演習はPrefetchを前提にしているので、動いているかを確認します。PowerShellで次を実行します。
Get-Service -Name SysMain | Select-Object Name, Status, StartType (Get-ChildItem -Path 'C:\Windows\Prefetch' -Filter '*.pf').CountRunningと、0より大きい数が表示されれば大丈夫です。Prefetchは、Windowsのクライアント版では通常有効、Windows Serverでは無効になっています。TARGETをシャットダウンし、リセット地点を作ります。VirtualBoxでTARGETを右クリックしてクローンを選び、
TARGET-CLEANという名前で完全なクローンを作ります。
このラボでは、リセット地点にスナップショットを使わないでください。スナップショットを取ると、VirtualBoxはその後の変更を別の差分ファイルに書き込みます。マニュアルにあるとおり、元のディスクには「二度と書き込まれない」ため、元のディスクファイルは演習前の状態のままになります。そのファイルからイメージを作ると、何も起きていないディスクで最初の事件を調べる羽目になります。
ステップ2:ANALYSTを作る
2台目の仮想マシンを
ANALYSTという名前で作ります。Windows 11(64-bit)、ホストに余裕があればメモリ16GB(上記参照)、プロセッサー4個、120GBのディスク。Windows 11をインストールし、続けてVirtualBox Guest Additionsを入れます(デバイスメニューの「Guest Additions CDイメージの挿入」)。証拠を渡すのに使う共有フォルダーは、Guest Additionsの機能です。
まだネットワークにつながっているうちに、ツールを入れます。
- autopsy.comからAutopsy 4.23.0。本稿はこのバージョンの利用者ガイドで確認しています。
- 7-Zip。Eric Zimmermanのページは、WindowsがDLLをブロックするため、ツールの展開にWindows標準の機能を使わないよう求めています。
- Microsoftから**.NET 9 デスクトップランタイム**。現行版のツールには.NET 9が必要で、後の回で使うGUIのツールにはデスクトップランタイムが必要です。
- Eric ZimmermanのツールのページからPECmdの.NET 9版。7-Zipで
C:\Tools\EZToolsに展開します。同じページの注意どおり、Program Filesの下には置きません。
ツールにはデジタル署名があります。使う前に署名を確認します。
Get-AuthenticodeSignature -FilePath 'C:\Tools\EZTools\PECmd.exe' | Format-List Status, SignerCertificate状態(Status)が
Validなら大丈夫です。ページには、署名が本人のものと確認できれば、そのファイルに対するウイルス対策ソフトの警告は誤検知だとあります。事件フォルダーを作り、Defenderの対象から外します。管理者として実行したPowerShellで次を実行します。
$case = 'C:\Cases\DFIR-LAB-001' 'evidence', 'working', 'exports', 'notes' | ForEach-Object { New-Item -ItemType Directory -Path (Join-Path $case $_) -Force | Out-Null } Add-MpPreference -ExclusionPath 'C:\Cases'この除外は、証拠のコピーやケースフォルダーの中のファイルをDefenderが隔離するのを防ぎます。Autopsyのインストールガイドも同じ対応を勧めています。隔離されるとコピーが変わり、ハッシュ値が一致しなくなります。後の回では本物のマルウェアの検体を扱うため、ANALYSTはネットワークから切り離した別のマシンにしています。これは、先ほどの表のT1562.001で攻撃者が使うのと同じコマンドであることに注意してください。会社のパソコンなら、EDRが検知すべき操作です。分析用の仮想マシンでは意図して行っています。普段使うパソコンには絶対に設定しないでください。
ホストに作業用フォルダー
C:\dfir-stagingを作ります。ANALYSTのVirtualBoxの設定で、これをdfir-stagingという名前の共有フォルダーとして追加し、読み込み専用にチェックを入れます。ANALYSTの中から証拠に書き戻せないようにするためです。ANALYSTのネットワークアダプターを切ります。
ステップ3:メモを始める
本稿の最後にあるテンプレートから C:\Cases\DFIR-LAB-001\notes\case-notes.txt を作ります。ダウンロードした各インストーラーのSHA-256を記録し、提供元が値を公開していれば照合します。これが、あなたが確かめた最初の事実です。
演習1:自分がしたことを見つける
この演習では、あなたが容疑者であり、調査者でもあります。TARGETで5つの操作をし、それぞれの時刻を正確に書き留めます。次に、見知らぬ誰かが使った機器として調べ、見つけたことを自分の記録と照らし合わせます。その記録が**正解(グラウンドトゥルース)**です。実際の事件では決して手に入らない解答です。
パートA:TARGETで操作する
TARGETを起動し、各ステップの時刻をタイムゾーン付きで書き留めます。
メモ帳を開き、
HERON-7741 project plan: meet at the north gate on Friday.と入力します。ドキュメントフォルダーにsecret-plan.txtとして保存し、メモ帳を閉じます。2分待ちます。PowerShellを(管理者としてではなく)開き、次を実行します。
Copy-Item -Path "$env:USERPROFILE\Documents\secret-plan.txt" -Destination 'C:\Users\Public\Downloads\copy-of-plan.txt' Get-Date -Format oGet-Date -Format oは、UTCとの差を含む正確な時刻を表示します。それをメモに写し、PowerShellを閉じます。電卓を開き、1分ほどそのままにしてから閉じます。WindowsはプログラムのPrefetchファイルを起動の数秒後に書き込みます。待つのは、確実に書き込ませるためです。
エクスプローラーでドキュメントフォルダーの
secret-plan.txtを選び、Shift+Deleteを押して確定します。Shift+Deleteはごみ箱を経由しません(通常の削除では、ファイルは名前を変えてごみ箱に移されます。これは第8回で扱います)。スタートメニューからTARGETをシャットダウンします。
パートB:ホストで証拠を取得する
Autopsy 4.23が読めるのは、RAWイメージ、E01ファイル、仮想ディスクのVMDK、VHD、VHDXで、VirtualBox独自のVDIは読めません(Hyper-VのVHDXはそのまま追加できます)。TARGETの電源が切れた状態で、ディスクをVHDに変換し、ハッシュ値を取ります。Windowsのホストでは次のとおりです。
& 'C:\Program Files\Oracle\VirtualBox\VBoxManage.exe' clonemedium "$env:USERPROFILE\VirtualBox VMs\TARGET\TARGET.vdi" 'C:\dfir-staging\DFIR-LAB-001-target.vhd' --format VHD
Get-FileHash -Path 'C:\dfir-staging\DFIR-LAB-001-target.vhd' -Algorithm SHA256 | Format-List
macOSやLinuxのホストでは、同じ手順は次のとおりです。
VBoxManage clonemedium ~/"VirtualBox VMs/TARGET/TARGET.vdi" ~/dfir-staging/DFIR-LAB-001-target.vhd --format VHD
shasum -a 256 ~/dfir-staging/DFIR-LAB-001-target.vhd
clonemedium はディスクを複製します。VirtualBoxのマニュアルによれば、元と複製で異なるのは識別子(UUID)だけです。それでもVHDは新しい入れ物のファイルなので、そのハッシュ値はVDIのものとは一致しません。ここからはVHDがあなたの証拠で、いま計算した値がその取得時のハッシュ値です。保管記録に書き込みます。
実際の事件では、物理ディスクなら書き込み防止装置(ライトブロッカー)を通して、稼働中の機器ならFTK Imagerなどのツールでイメージを作ります。形式はたいてい、ハッシュ値をイメージの中に保存できるE01です。これは第2回で扱います。
パートC:ANALYSTで調べる
ANALYSTを起動し、読み込み専用の共有フォルダーから事件フォルダーにVHDをコピーして、もう一度ハッシュ値を取ります。
Copy-Item -Path '\\VBoxSvr\dfir-staging\DFIR-LAB-001-target.vhd' -Destination 'C:\Cases\DFIR-LAB-001\evidence\' Get-FileHash -Path 'C:\Cases\DFIR-LAB-001\evidence\DFIR-LAB-001-target.vhd' -Algorithm SHA256 | Format-List値は取得時のハッシュ値と一致しなければなりません。一致しなければコピーが壊れています。何よりも先に、コピーし直してください。
Autopsyを開き、
DFIR-LAB-001という名前で新しいケースを作ります。ベースフォルダーはC:\Cases\DFIR-LAB-001\workingにします。データソースを追加します。ホストはデータソース名から自動生成させ、Disk Image or VM Fileを選び、VHDを指定し、タイムゾーンをTARGET自身のものに合わせます。この設定が最も効くのはタイムゾーンを記録しないFATで、NTFSは時刻をUTCで記録しています。ハッシュ値の欄は、ここでは空のままにします。Autopsyはイメージをケースにコピーせず参照するだけなので、ケースを開いている間はevidenceフォルダーに置いたままにします。
解析モジュール(Ingest Modules)は、少なくともRecent Activity、File Type Identification、Keyword Search、Data Source Integrityを選びます。Keyword Searchの設定ではAdd text to Solr Indexにチェックを入れます。バージョン4.21以降、これを外すと解析中のインライン検索しか行われず、後から好きな文字列で検索しても全ファイルは対象になりません。解析が終わるのを待ちます。ラボのディスクなら数分から1時間ほどです。
ハッシュ値を入力していなければ、Data Source Integrityモジュールがイメージのハッシュ値を計算して保存します。ツリーのData Sourcesでデータソースを選び、File Metadataタブで確認できます。この値は
Get-FileHashの結果とは違うはずです。AutopsyはVHDの中のディスクを読み、Get-FileHashはVHDファイルそのものの指紋を取るからです。どちらがどちらか分かるようにして、両方を記録します。同じ証拠を、異なる層で取った2つの指紋です。
さあ、調べましょう。メモを見る前に、証拠だけから次の4つの問いに答えてください。
- 「HERON-7741」を含むファイルのうち、削除されたのはどれか。どのフォルダーから、おおよそいつか。
- コピーはどこにあり、その時刻は、どのように作られたことを示しているか。
- その前後に実行されたプログラムはどれか。それぞれ最後に実行されたのはいつか。
- あなたの調査は、証拠を変えたか。
右上のキーワード検索欄で HERON-7741 を検索し(一致はツリーのKeyword Hitsに表示され、Extracted Textタブで場所が分かります)、File ViewsのDeleted Files、ファイルツリーを使います。Autopsyは、設定で変えない限り、時刻を分析用マシンのタイムゾーンで表示します。メモと突き合わせやすいよう、ツリーの上の歯車アイコンか、Tools→Options→Viewsで、表示をUTCにしておきます。
答え合わせ
| 問い | Autopsyのどこを見るか | 見つかるはずのもの | 理由 |
|---|---|---|---|
| 1. 削除されたファイル | HERON-7741のKeyword Hits、File ViewsのDeleted Files、Users\(自分のアカウント)\Documents | 削除済みの印が付いた secret-plan.txt。中の文字は読める |
ファイルを削除すると、マスターファイルテーブル($MFT)の記録は「未使用」になるが、消されはしない。これほど小さなファイルは自分のMFT記録の中に保存されているため、Windowsがその記録を再利用するまで文字は残る |
| 2. コピー | Users\Public\Downloads | copy-of-plan.txt。作成日時はステップ2、更新日時はステップ1と一致し、作成日時より前 |
Windowsでコピーすると、元のファイルの更新日時は引き継がれ、作成日時は新しくなる。更新日時が作成日時より前なのは、コピーされたことを示す典型的な印 |
| 3. 実行されたプログラム | ファイルツリーのWindows\Prefetch | NOTEPAD.EXE-….pf、POWERSHELL.EXE-….pf、CALCULATORAPP.EXE-….pf。それぞれの更新日時が、メモの対応するステップから数秒以内 |
Windowsは次回の起動を速くするため、プログラムごとに1つのPrefetchファイルを保存し、実行のたびに書き直す。PECmdの文書の例では、ファイルの更新日時は、記録された最終実行の2秒後だった |
| 4. 証拠は変わっていない | 調査後にVHDのハッシュ値をもう一度取る | 取得時と同じSHA-256 | ケースはイメージをコピーせず参照するだけで、あなたの作業で変わるはずはない。それを前提にせず、ハッシュ値で示す |
目印の文字列は、おそらく2つのファイル以外の場所でも見つかります。Windows 11のメモ帳は開いているタブの内容を独自の状態ファイルに保存しますし、ページファイルに断片が残ることもあります。余分な一致の1つ1つが、利用者が保存していないものまでシステムがどれほど覚えているかを示しています。
secret-plan.txt が見つからない場合は、シャットダウンまでの間にWindowsがそのMFT記録を再利用したのかもしれません。それも1つの発見です。削除の証拠は薄れていきます。だからこそ第8回では、削除を別に記録している変更ジャーナルを学びます。TARGETをTARGET-CLEANから戻し、ステップ4の直後にシャットダウンして、演習をやり直してください。
2つ目のツールで確かめる
1つのツールの読みは手がかりにすぎません。AutopsyではPrefetchファイルとそのファイルシステム上の時刻を見ました。PECmdは、ファイルの中に記録された実行日時を独自の解析処理で読みます。別の情報源です。
Autopsyのファイルツリーで
Windows\Prefetchを開き、NOTEPAD.EXE-…、POWERSHELL.EXE-…、CALCULATORAPP.EXE-…のファイルを選んで右クリックし、**Extract File(s)**を選びます。保存先はC:\Cases\DFIR-LAB-001\exports\prefetchです。そのフォルダーに対してPECmdを実行します。
& 'C:\Tools\EZTools\PECmd.exe' -d 'C:\Cases\DFIR-LAB-001\exports\prefetch' --csv 'C:\Cases\DFIR-LAB-001\working' --csvf prefetch.csv比べます。PECmdは、プログラムごとの実行回数と、最近の実行日時を最大8つ(最終実行と、その前の7回)表示します。最終実行日時は、メモとAutopsyで見たファイルの更新日時に一致しましたか。ちょうど9時間ずれていれば、どちらかが日本時間です。Autopsyの時刻設定と、
Get-Dateの出力にあるUTCとの差を確認してください。これは実際の事件で最もよく起きるタイムラインの間違いで、あなたはそれを安全な場所で経験したことになります。PECmdのSourceCreatedとSourceModifiedの列は、ここでは使いません。手元に書き出したコピーの時刻で、元のファイルとは一致しないことがあります。元のファイルの時刻はAutopsyで確認します。
同じプログラム名のPrefetchファイルが複数見つかることもあります。名前の後ろの数字はプログラムのフォルダーのパスから計算したハッシュ値なので、同じ名前でも別のフォルダーから実行すれば別のファイルになります。この細部は、マルウェアが svchost.exe を名乗りながら違うフォルダーで動いている場面で、第4回で効いてきます。
最後に、VHDのハッシュ値をもう一度取り、記録します。一致すれば、あなたは調査を最初から最後までやり遂げたことになります。問いがあり、保全した証拠があり、一致する2つのツールがあり、証明できる答えがあります。
プロが加えること
演習は小さくても、身につけた習慣は、経験を積んだ調査者が大きな事件で使っているものと同じです。
- 証拠だけでなく、ツールを試す。 既知の操作を作り、ツールがそれを見つけるかを確かめる今回の方法は、既知の答えによるテストと呼ばれます。調査機関は、ツールを更新するたびにこれを繰り返します。NISTのコンピューターフォレンジックツール試験プログラム(CFTT)は、広く使われているツールについてこうした試験の結果を公開しています。
- バージョンを記録する。 証拠保全ガイドラインが求めるとおり(7-4-2)、各ツールのどのバージョンを使ったかを書き留めます。バージョンによって変わる発見は、ツールについての発見です。
- 相互レビュー。 報告書を出す前に、同僚があなたのメモだけを頼りに主要な手順を再現します。再現できなければ、メモはまだ完成していません。
- 時計を確かめる。 実際の事件では、収集の時点で機器の時計を信頼できる時刻源と比べ、その差を記録します。タイムラインのすべての時刻がそれに依存します。
- きれいに事件を閉じる。 報告書が確定したら、事件フォルダーを読み取り専用にし、証拠をどこに、いつまで保管するかを記録し、不要になった作業用コピーを削除します。証拠のコピーも個人データです。
テンプレート
事件メモ:事件ごとに1ファイル。操作のたびに1行追加します。
事件メモ
事件番号: DFIR-LAB-001
調査者:
許可した人: (氏名、役職、日付、範囲:機器、アカウント、データ)
時刻の基準: UTC(現地時刻は換算する。JST = UTC+9)
時刻(UTC) | 操作 | 理由 | 結果 / ハッシュ値 / ファイル
---------------------|--------------------------------------|-----------------------------|-----------------------------
2026-10-19T00:00:00Z | Autopsy 4.23.0のインストーラーを入手 | 分析用ツール | SHA-256: ...
| | |
事実(痕跡が示すこと):
推論(何から、何を導いたか):
未確認(確かめられなかったことと、その理由):
使用したツールのバージョン:
保管記録(チェーン・オブ・カストディ):証拠1点につき1つ。移すたびに1行追加します。
保管記録(チェーン・オブ・カストディ)
事件番号: DFIR-LAB-001
証拠番号: E001
内容: TARGETの仮想ディスク(VHDに変換)
取得元: ホストコンピューター(名前 / シリアル番号)上のTARGET.vdi
取得者:
取得日時(UTC):
方法とツール: VBoxManage clonemedium --format VHD(VirtualBoxのバージョン: )
取得時のSHA-256:
日時(UTC) | 引き渡した人 | 受け取った人 | 移動元 | 移動先 | 目的 | SHA-256の照合(済/未)
------------|--------------|--------------|-----------------|---------------------|----------|-----------------------
| | | C:\dfir-staging | ANALYSTのevidence | 調査 |
調査の問い:ツールを開く前に埋めます。
調査の問い
事件番号: DFIR-LAB-001
きっかけ: (警報、利用者からの報告、第三者からの通知など)
# | 問い | 仮説 | 裏づける証拠 | 否定する証拠 | 状況 / 確度
---|----------------------------------|-----------------------------|-----------------------------------|---------------------------------|------------
Q1 | 何が起きたのか | | | |
Q2 | いつ始まり、いつ終わったか | | | |
Q3 | どう侵入し、何が実行されたか | | | |
Q4 | 何に及んだのか(範囲) | | | |
Q5 | まだ続いているか | | | |
確度: 確定 = 独立した2つの痕跡が一致 / 可能性が高い = 痕跡は1つで、ほかと矛盾しない / 可能性がある = 事実と合うが、直接は示されていない
次回予告
第2回:証拠を壊さずに集める。 Magnet DumpItとMagnet RESPONSEでまずメモリを取得し、Magnet Encrypted Disk Detectorでディスクの暗号化を確認し、トリアージ用の収集を行い、FTK ImagerでディスクをE01形式のイメージにします。今回練習したハッシュ値と保管記録は、そのまま使います。攻撃ツールが残す痕跡についてのJPCERT/CCの調査を使う横展開の回を含め、全カリキュラムはDFIR講座のページにあります。
TARGET-CLEANと事件フォルダーは残しておいてください。後の回でもこのラボを使います。
出典
- NIST SP 800-86「Guide to Integrating Forensic Techniques into Incident Response」、SP 800-61 第3版「Incident Response Recommendations and Considerations for Cybersecurity Risk Management」(2025年4月)
- IETF RFC 3227「Guidelines for Evidence Collection and Archiving」
- デジタル・フォレンジック研究会「証拠保全ガイドライン 第10版」(2025年3月15日)の5-1-2、5-2-1、7-3、7-4、公開ページ
- MITRE ATT&CK:T1070 Indicator Removal、T1562.001 Disable or Modify Tools、T1003.001 LSASS Memory
- Microsoft Learn:Get-FileHash、Get-AuthenticodeSignature、Add-MpPreference
- Autopsy:ダウンロードページ、4.23.0の利用者ガイドのData Sources、Installing Autopsy、Keyword Search Module、Data Source Integrity Module、View Options
- Oracle「VirtualBox User Guide for Release 7.2」:無人インストール、クローン、差分イメージ、共有フォルダー、ネットワークの動作モード、
VBoxManage clonemedium - Eric Zimmerman:ツールのページと動作要件、PECmdとそのマニュアル、KAPEのよくある質問
- Magnet Forensics:Magnet RESPONSE、無料ツール。Exterro:FTK Imager。Kroll:KAPE
- 不正アクセス禁止法(e-Gov法令検索)、個人情報保護委員会「個人情報の保護に関する法律についてのガイドライン(通則編)」、警察庁「サイバー事案に関する相談窓口」
- NIST CFReDS「Data Leakage Case」(第12回で使用)
2026年10月19日公開。2026年10月19日午前10時10分ごろ更新:当サイトのリポジトリに収集した一次資料(Autopsy 4.23.0の利用者ガイド、VirtualBox 7.2の利用者ガイド、Eric Zimmermanのツールのページ・マニュアル・リポジトリ、KAPEの文書、デジタル・フォレンジック研究会「証拠保全ガイドライン 第10版」)と照らし合わせました。修正した点:KAPEのライセンス条件(2026年1月1日以降は商用利用不可)、Autopsyの推奨メモリ(16GB)とバージョン(4.23.0)、Autopsyが読める形式(VHDXを追加)、演習に必要なキーワード検索の設定、Eric Zimmermanのツールの展開と確認の方法、ガイドラインの所在と日付、そしてAutopsyの利用者ガイドに記載のない機能に頼っていたPrefetchの確認方法です。追加した点:電源の状態、同一性の検証、記録についてのガイドラインの原則、VirtualBoxの無人インストール、Autopsy自身によるハッシュ値の計算です。当サイトの調査環境から引き続き直接開けていないもの:NIST、RFC Editor、MITRE ATT&CK、e-Gov、個人情報保護委員会、警察庁、Magnet Forensics、Exterro、Kroll自身のサイト、Hayabusa、Volatility、LogonTracerのリポジトリ、JPCERT/CCのツール分析のページ、NISTのCFReDSです。これらについては、各ページを引用した検索結果と提供元自身の告知に頼りました。お使いのバージョンでメニューや選択肢が異なる場合は、各ツールの文書が優先します。お知らせいただければ、本稿を修正します。2026年10月19日午後10時ごろ、第2回の準備中に再更新:Magnet DumpIt for Windowsはオープンソースではなく、Magnetの使用許諾契約のもとで無料で使えるツールです。2つのツールについてのMagnetの発表によれば、オープンソースなのはLinux版だけです。
