第2回の最後に、ハッシュ値で正しさを示せるE01ファイルができました。今回はそれを開きます。 調査ツールは、ディスクイメージの生のバイト列を読み、人がたどれる形に変えます。ファイル、削除されたファイル、閲覧履歴、ショートカット、キーワードの一致、タイムライン。調査がうまくいくかどうかは、この変換で決まります。どのツールも読めるアーティファクトと読めないものがあり、独自の既定値を使い、選んだつもりのないタイムゾーンで時刻を表示することがあります。
そこで今回は、同じ証拠に2つのツールを使います。Autopsyは無料のオープンソースで、Magnet Axiomは多くのチームが使う商用ツールで、試用版があります。それぞれを一歩ずつ学んだうえで、互いを確かめるのに使います。どちらのツールよりも大切なのは、この習慣です。
この回を終えると、次のことができるようになります。
- 検証済みのディスクイメージをAutopsyで開き、意図してインジェストモジュールを選び、結果の中を迷わず見て回る。
- 検索、タグ付け、コメント、簡単なタイムラインの作成を行い、タグを付けたものだけを含む報告書を出力する。
- Magnet AxiomでもAxiom ProcessからAxiom Examineまで同じことをする。
- 2つのツールを発見ごとに比べ、都合のよい答えを選ぶのではなく、食い違いの理由を一つずつ説明する。
- 何をどう実行したかを記録し、他の人が調査を再現できるようにする。
いま実際のインシデントの最中にいるなら、ランサムウェア対応プレイブックを使い、この講座には後で戻ってきてください。全カリキュラムはDFIR講座のページにあります。
調査ツールがすること、2つのツールが食い違う理由
どちらのツールも同じ形で動きます。まず事件(ケース)を作ります。これはデータベースを持つフォルダーです。次に証拠を追加します。事件は証拠を参照するだけで、コピーはしません。ツールは証拠にパーサーを走らせます。NTFSのファイルシステム、ブラウザーの履歴データベース、Windowsのショートカットなど、それぞれ1種類のデータを理解するプログラムです。調査で見るのは、その出力です。

図1:1つの調査、2つのツール。各手順がどこにあるか。Autopsy 4.23.0ユーザーガイドとMagnetのAxiom文書に基づく。
同じイメージを読む2つのツールが食い違うのは、ありふれた理由によります。単純にどちらかが「間違っている」ことは、まずありません。
| 原因 | 例 | 確認すること |
|---|---|---|
| 一方にだけあるパーサー | 一方はショートカットに加えてジャンプリストも読み、もう一方はRecentフォルダーのショートカットだけを読む | 使っているバージョンの各ツールのアーティファクト一覧 |
| 証拠ではなく設定 | アーカイブを開いていない、カービングが無効、「既知」のファイルを隠している | 設定の記録(下のテンプレート) |
| タイムゾーン | 同じ出来事が9時間ずれる | 両ツールの表示タイムゾーン、メモにある時差 |
| どのタイムスタンプか | ある列の「作成」はファイルシステムのもの、別の列はアーティファクト自身のもの | 列の定義、16進表示での生のレコード |
| 削除済み・再利用されたデータ | レコードの一部が上書きされたため、削除されたファイルを一方だけが表示する | 生のMFTレコードを見る。第8回で詳しく扱う |
国内の証拠保全ガイドライン 第10版は、保全の段階で同じ規律を求めています。ツールが動かなくなる場合に備えて代替ツールを用意すること(7-1)、使った機器とソフトウェアのバージョンを記録すること(7-4-2)、そして複製先は解析用途以外では触れられないよう、保管記録を作って管理すること(7-5-1)です。今回は、これらを解析に当てはめます。
何かを開く前に
毎回、次の5つをこの順に行います。数分で終わり、残りの作業すべてを説明できるものにします。
- 作業用コピーを確かめる。 これから開くイメージのハッシュ値を取り、取得時に記録した値と比べます。違っていたら作業を止め、原本からコピーし直します。
- ツールごとに事件フォルダーを分ける。 どちらのツールもデータベースや一時ファイルを書きます。ツール同士、そして証拠のフォルダーとも分けておきます。
- ウイルス対策ソフトを事件フォルダーに入れない。 第1回で
C:\CasesをDefenderの除外に加えました。Autopsyのインストールガイドも、取り出したファイルが隔離されて結果が変わることがあるため、これを勧めています。 - 表示タイムゾーンをUTCにする。 時刻を1つでも読む前に、それぞれのツールで設定し、設定したことを書き留めます。
- 設定の記録を始める。 記録用テンプレートは最後にあります。ツール、バージョン、証拠のハッシュ値、選んだモジュール、アーティファクト、オプションのすべてを書きます。ガイドラインはツールのバージョンの記録を求めており(7-4-2)、レビューする人が作業を再現するにはそれが必要です。
Autopsyを一歩ずつ
以下はAutopsy 4.23.0ユーザーガイドに沿った手順です。何を入力するかは後の演習3で具体的に示します。まずここを読み、どこに何があるかを知ってください。
1. 事件を作る
- 起動画面で New Case を選ぶか、Case → New Case を使います。
- Case Name(事件名)と Base Directory(ベースディレクトリ)を入力します。Autopsyはベースディレクトリの中に事件名のフォルダーを作ります。既にある場合は別の名前にしてください。事件の種類はシングルユーザーのままにします。
- 次の画面で Case Number(事件番号)と調査担当者の名前を入力します。この画面の項目はすべて任意ですが、報告書に載るので入力してください。
- Finish を選びます。Autopsyは事件を開き、Add Data Sourceのウィザードを始めます。事件フォルダーには、後で事件を開き直すときに使う
.autファイルがあります。
2. データソースを追加する
- Select host: Generate new host based on data source name を選びます。ホストは、1台のコンピューターに由来するデータソースをまとめるものです。
- Select data source type: Disk Image or VM File を選びます。Autopsy 4.23は、生のイメージ、分割された生のイメージ、E01、VMDK、VHD、VHDXを読めます。
- Select data source: イメージの最初のファイル(
.E01)を選びます。残りの分割ファイルはAutopsyが自分で見つけます。タイムゾーンは、そのコンピューターが使っていたものにします。とくに重要なのは現地時刻を記録するFATボリュームで、NTFSはUTCで記録します。セクターサイズは自動検出のままにします。E01の場合、ハッシュ値を入力する必要はありません。取得時のハッシュ値がファイルの中にあります。 - Autopsyはイメージを事件の中にコピーしません。事件はイメージを参照しているだけです。事件がある間は、イメージを移動したり名前を変えたりしないでください。
3. インジェストモジュールを選ぶ
インジェストモジュールはAutopsyのパーサーです。データソースごとに選び、後からデータソースを右クリックして Run Ingest Modules で追加で実行することもできます。画面上部のフィルターは All files, directories, and unallocated space のままにします。初めてのWindowsの事件なら、次の組み合わせで、何時間も待たずに要点を押さえられます。
| モジュール | すること | 初回に使うか |
|---|---|---|
| Recent Activity | ブラウザーの履歴、最近使った文書、インストール済みのプログラムなど、OSの活動を取り出す。レジストリハイブにRegRipperを実行する | 使う |
| Hash Lookup | 各ファイルのMD5(とSHA-256)を計算し、MD5を選んだハッシュセットと照合する。無視してよい既知のファイルと、注意すべきファイルを分ける | 使う。注目ハッシュセットを指定 |
| File Type Identification | 名前ではなく中身から各ファイルの種類を判定する。ほかのモジュールがこれに依存する | 使う |
| Extension Mismatch Detector | 拡張子と判定された種類が合わないファイルを示す | 使う |
| Embedded File Extractor | ZIP、RARなどのアーカイブとOffice文書を開き、中身をインジェストに戻す | 使う |
| Keyword Search | テキストを取り出して検索する。Add text to Solr Index をオンにすると、後から何でも検索できる | 使う。Solr索引をオン |
| Data Source Integrity | E01に記録されたハッシュ値を検証する。記録がなければイメージのハッシュ値を計算する | 使う |
| Interesting Files Identifier | 自分で書いた規則に合うファイルやフォルダーを示す | 任意 |
| PhotoRec Carver、Plaso | 未割り当て領域から削除ファイルを切り出す。はるかに大きなタイムラインを作る | 初回は使わない。何時間もかかる |
始める前に、2つの設定を見直してください。Keyword Search では Add text to Solr Index をオンにします。バージョン4.21以降、これがオフだとインジェスト中のインライン検索しか行われず、後から思いついた検索がイメージ全体を対象にしません。Hash Lookup では使うハッシュセットを選びます。新しいハッシュセットは Advanced ボタンか、Tools → Options → Hash Sets で追加します。
4. インジェストを待ち、受信箱を読む
- インジェストはバックグラウンドで動き、右下に進捗バーが出ます。AutopsyはWindowsフォルダーより先にUsersフォルダーを処理するので、利用者のファイルが先に表示されます。すぐに見始めてかまいませんが、インジェストが終わるまで結果は揃いません。
- Ingest Inbox(右上のメッセージのアイコン)を確認します。Data Source Integrityは、E01に記録されたハッシュ値が検証できたかをメッセージで知らせます。開くと記録値と計算値が見られます。検証に失敗すると「Verification Failed」の結果も事件に残ります。
- インジェストが何をしているか知りたいときは、Help → Get Ingest Progress Snapshot で、処理中のモジュールとファイルが分かります。
5. 画面の見方
Autopsyの画面は3つに分かれています。左のツリー、右上の結果ビューアー、右下のコンテンツビューアーです。ツリーには7つの領域があります。
| 領域 | 中身 |
|---|---|
| Data Sources | イメージの中のファイルシステムそのもの。ホストごとに、フォルダー、ファイル、未割り当て領域の $Unalloc |
| File Views | すべてのファイルを種類(拡張子またはMIMEタイプ)、削除済み、サイズで分けたもの |
| Data Artifacts | インジェストが取り出したもの:閲覧履歴、最近使った文書、インストール済みプログラム、OSの情報など |
| Analysis Results | 調べる人にとって意味のある結果:ハッシュセットの一致、キーワードの一致、拡張子の不一致、注目ファイル |
| OS Accounts | イメージの中で見つかった利用者アカウント |
| Tags | タグを付けたものすべて |
| Reports | 作成した報告書 |
ファイルを選ぶと、コンテンツビューアーのタブでさまざまな見方ができます。Hex は生のバイト列、Text は文字列と索引されたテキスト、Application は画像、Webページ、SQLiteデータベース、レジストリハイブ、File Metadata は時刻、サイズ、ハッシュ値と、NTFSのレコード(The Sleuth Kitの istat の出力)です。結果の一覧では、項目を右クリックしてフォルダーの中で表示できます。利用者が隣に何を置いていたかが、次の手がかりになることはよくあります。
すべての時刻をUTCで読むには、ツリーの上の歯車アイコン(または Tools → Options → Views)を開き、時刻の表示をUTCにします。
6. 検索する
- 右上のキーワード検索ボックス: 語を入力し、完全一致、部分一致、正規表現から選びます。結果は Analysis Results → Keyword Hits に入ります。一致を選び、Text タブで前後の文脈を確かめます(Autopsyのキーワード検索のガイドでは、この表示を「Extracted Text」と呼んでいます)。
- キーワードリスト: Keyword Searchモジュールの設定で作ったリストは、インジェスト中に検索され、一致を受信箱に送ることもできます。
- File Search by Attributes(Tools メニュー):名前、サイズ、MIMEタイプ、MD5、作成・更新・アクセス・変更の日時の範囲、既知かどうかでファイルを探します。正規表現は使えません。正規表現はキーワード検索で使えます。
7. タグとコメントを付ける
タグは大事なものの印です。報告書とポータブルケースはタグから作られます。
- ファイルや結果を右クリックし、Add File Tag または Add Result Tag を選びます。キーワードの一致やハッシュの一致のように結果そのものが発見であれば結果に、ファイルが発見であればファイルにタグを付けます。
- 既定のタグを選びます。Bookmark、Follow Up、Notable Item、法執行機関向けの CAT-1 から CAT-5 です。Ctrl+BでBookmarkが付きます。
- Tag and Comment で理由を書くか、New Tag で事件番号などの独自のタグを作ります。独自のタグは次から既定のタグの上に表示されます。
- タグを付けたものは、付けた人とコメントとともにツリーの Tags に並びます。
8. 簡単なタイムラインを作る
- Tools → Timeline(またはTimelineボタン)を開きます。最初は Counts 表示で、期間ごとの出来事の数が棒グラフで示されます。
- タイムゾーンをUTCにし(タイムラインには独自の設定があります)、見たい時間帯に範囲を絞ります。開始と終了を入力するか、棒の上をドラッグしてダブルクリックします。
- Details 表示に切り替えると種類と説明ごとにまとまった出来事が、List 表示ではすべての出来事が順に見られます。短い時間帯ならList表示が最も役に立ちます。
- 左のフィルターを使います。出来事の種類(ファイルシステムの更新・アクセス・作成・変更、Webの活動、最近使った文書など)、テキストのフィルター、既知のハッシュセットを使った場合は Hide Known Files。
- 出来事には時刻、種類、説明があります。ファイルシステムの出来事が示すのは、あるタイムスタンプがその値だということだけで、誰が、何がそうしたかは示しません。
9. 報告書を出力する
- ツールバーの Generate Report を選びます。
- HTMLの報告書では、組織で機密区分の表示が必要ならヘッダーとフッターを入力し、Tagged Results と含めるタグを選びます。All Results はインジェストで見つかったものをすべて出力し、読む人が必要とするものになることはまれです。
- 報告書はツリーの Reports と、事件の
Reportsフォルダーに入ります。ダブルクリックするとブラウザーで開きます。 - 同じ画面のほかの形式:Excel、全ファイルの区切り付き一覧である Files - Text、他のタイムラインツール向けの TSK Body File、CASE-UCO(JSON)、そして Portable Case。ポータブルケースは、タグを付けたものだけを含む小さなAutopsyの事件で、同僚が開けます。相手がAutopsyを持っていなければ、アプリケーションごと含められます。
Magnet Axiomを一歩ずつ
Axiomは2つのプログラムに分かれています。Axiom Process は事件を作り、証拠を読み込み、パーサーを走らせます。Axiom Examine で確認、タグ付け、検索、報告をします。Magnetは、コンピューター、モバイル、クラウドの証拠を対象とする30日間の無料試用版を、試用版のページのフォームで受け付けています。執筆時点の最新は、2026年9月23日公開のバージョン10.4でした。
- ハードウェア: Magnetは、16の論理コアと32GBのメモリ、コアあたり約2GBのメモリを勧めています。4コア・8GBでも動きますが、遅くなります。第1回のANALYSTはこの推奨を下回るので、処理に1時間以上かかると考えてください。
- アクティベーション: ライセンスをオンラインで有効化する必要がある場合は、インストールと有効化の間だけANALYSTのネットワークアダプター(NAT)を接続し、その後 Not attached に戻します。両方の時刻を記録してください。これもこの機器の履歴の一部です。
- メニュー名: Magnetの文書は検索結果を通じてしか読めず、バージョンによって少しずつ違う経路が書かれています。以下の名前が画面と合わなくても、手順と順序は同じです。
1. Axiom Processで事件を作る
- Axiom Processを開き、新しい事件の作成を選びます。
- 事件の詳細で、事件番号と事件の種類を入力し、事件ファイルと取得した証拠の保存先を選びます。Autopsyとは別のフォルダーにしてください。
- 調査担当者の情報を入力します。Magnetによると、事件番号や事件の種類などの事件の詳細は、HTML、PDF、ポータブルケースの報告書に載ります。
- 必須の手順を飛ばすと、Axiom Processは警告の記号を表示し、完了するまで処理を始めません。
2. 証拠を読み込む
- Evidence sources → Computer → Windows → Load evidence → Image を選びます(読み込み[load]は既存のイメージを使い、取得[acquire]は新しいイメージを作ります)。
.E01ファイルを選びます。Magnetの文書は、EnCaseのイメージ(E01とEx01)、AFF4、生のイメージ、仮想マシンのディスク(VHD、VHDX、VMDK)を対応形式に挙げています。Magnet自身、可能な限りライブのドライブやフォルダーよりイメージを使うよう勧めています。- 含めるパーティションを選びます。初めての事件ではすべてを含め、簡易ではなく完全な検索を選びます。
3. 処理の詳細
処理の詳細は、標準のアーティファクトのほかにAxiomが何を探すかを決めます。始める前に設定してください。
- キーワード検索: キーワードを追加するか、リストを読み込みます。1行に1語のテキストファイルか、正規表現の設定を保つMagnetの
.kws形式です。範囲を選べる場合、「すべてのコンテンツ」は選んだ符号化方式(ASCII、UTF-8、UTF-16)でディスク全体を検索し、「アーティファクト」は解析済みのアーティファクトだけを検索して速く終わります。初めての事件では、すべてのコンテンツを検索してください。 - ハッシュ値の計算: MD5でオンにし、すべてのファイルにハッシュ値を付けて、ハッシュセットと照合できるようにします。
- ハッシュセット: 注目すべきハッシュ値を、1行に1つのMD5を書いたテキストファイルとして取り込みます。Axiomは、取り込んだハッシュセットに一致したファイルにタグを付けます。
- アーカイブとカービング: Axiomは入れ子のものを含めてアーカイブの中を調べ、未割り当て領域から削除されたファイルを切り出せます。今回の演習で必要なのはアーカイブの検索です。カービングは後でかまいません(Axiom Examineで Process → Reprocess artifacts with carving を使えば後から実行できます)。
4. アーティファクトを選び、開始する
- アーティファクトの画面は既定のままにします。制限しない限り、Axiomは対応するすべてのアーティファクトを探します。既定のままにしたことを書き留めます。
- 概要を確認し、Analyze evidence を選びます。Axiom Processが動き、処理が終わるとAxiom Examineが開きます。開始と終了の時刻を記録します。
5. Axiom Examineで確認する
- Examineは Case dashboard で開きます。事件の概要、証拠の概要、そしてアーティファクトの分類、タグ、キーワードの一致などを並べた Places to start の列があります。どのリンクも表示を絞り込みます。
- 時刻を読む前に表示タイムゾーンを設定します。Tools → Manage date / time format でUTCを選び、事件の既定にします。オフセットのない現地時刻だけを持つアーティファクトもあり、Axiomはそれを文字列として表示します。UTCオフセットを当てない限り、日時のフィルターはそれらを対象にしません。
- 上部のメニューでエクスプローラーを切り替えます。
- Artifacts explorer: 解析済みのアーティファクトを分類ごとに見る。Windowsのショートカット、ジャンプリスト、Prefetchは Operating System にあり、画像、文書、閲覧履歴はそれぞれ独自の分類がある。
- File system explorer: イメージの中のファイルシステムそのもの。削除されたファイルも含む。
- Timeline explorer: アーティファクトとファイルシステムの出来事を1本の時間軸で見る。
- Connections explorer: ファイル、人、アーティファクトのつながりを見る。今回は使わない。
6. 検索と絞り込み
- 検索バーは、いま開いているエクスプローラーを絞り込みます。ArtifactsとTimelineのエクスプローラーでは、日時を除くすべての項目と、文書やメディアのテキストを検索します。File system explorerではファイルのパスを検索し、ファイルの中身は検索しません。ファイルの中の語を探すには、検索バーではなくキーワードの結果(Case dashboard → キーワードの一致)を使います。
- Filters バーは、証拠、アーティファクトの種類、タグなどで結果を絞ります。Date and time → Absolute date / time で、すべてを目的の時間帯に限ります。
7. タグを付ける
- アーティファクト、ファイル、または選んだ範囲を右クリックし、Add / remove tag を選びます。
- システムのタグは Evidence(Ctrl+1)と Of interest(Ctrl+3)です。独自のタグを作り、コメントを付けることもできます。タグとコメントは出力やポータブルケースに引き継がれます。
8. タイムライン
- Timeline explorer を開きます。初回は、Axiomが事件のタイムラインを作るのに数分かかります。
- Go to date で目的の時間帯に移り、表示の単位を年から分まで切り替えます。
- 証拠、タイムスタンプの種類(アーティファクトかファイルシステムか)、タイムラインの分類、日時で絞り込みます。
9. 報告書を出力する
- 項目を選ぶか、タグで絞り込んでから右クリックし、Create export / report を選びます。
- 形式を選びます。HTML(ブラウザーで
Report.htmlを開く)、PDF、Excel、CSV(添付ファイルなし)、XML、そしてAxiomを持たない同僚向けに軽いビューアーを含む Portable case です。 - 含める項目でタグ付けした項目を選び、Autopsyの報告書と揃えます。出力は事件フォルダーに保存され、タイムスタンプはUTCです。
ツールが食い違ったとき
食い違いはエラーではなく、問いです。次の順に確かめ、何をしたかを書き残してください。
- 同じものか。 名前だけでなく、フルパス、MFTのレコード番号、ファイルのハッシュ値で比べます。
- 設定の違いか。 タイムゾーン、アーカイブやカービングのオプション、隠された「既知」のファイル、キーワードの検索範囲。設定の記録が答えます。
- タイムスタンプの違いか。 それぞれの列がどのタイムスタンプを示すか、一方が現地時刻を表示していないかを確かめます。
- バイト列を見る。 どちらかのツールの16進表示で開くか、取り出して3つ目のツールで読みます。第1回ではPECmdでこれをしました。下ではLECmdとMFTECmdを使います。
- 結果を記録する。「説明できない」も含めて記録します。報告した食い違いは記録の一部です。事件に都合のよい答えを選んで片付けた食い違いは、そうではありません。
両側から見る:調べる人の目を逃れる
攻撃者がフォレンジックツールに正面から勝つことはめったにありません。調べる人が名前を信じる、アーカイブを見落とす、1つのタイムスタンプだけを読む、といったことに頼ります。以下の動きは、適切な設定をしていれば見えます。
| 攻撃者の動き | ATT&CK | 手早く見ただけではどう欺かれるか | Autopsyで見つける方法 | Axiomで見つける方法 | 回 |
|---|---|---|---|---|---|
| ファイルを無害な拡張子に変える | T1036.008 | .txt という名前の画像やアーカイブが見過ごされる |
File Type IdentificationとExtension Mismatch Detector | シグネチャによる分類と、バージョンにあればFile Signature Mismatchのアーティファクト | 3 |
| 盗んだファイルを送る前にアーカイブにまとめる | T1560、T1074.001 | 中のファイルがキーワードやハッシュの検索から漏れる | Embedded File Extractor。暗号化されたアーカイブは警告が出て、パスワードで開ける | 処理の詳細でのアーカイブの処理 | 3 |
| 作業したファイルを削除する | T1070.004 | フォルダーがきれいに見える | File Views → Deleted Files。MFTのレコードが再利用されるまで中身が残る | File system explorerの削除済みファイル、カービング | 8 |
| ファイルのタイムスタンプを変える | T1070.006 | 仕込んだファイルが何年も前のものに見える | タイムラインの不自然さ。File MetadataでNTFSの2組の時刻を比べる | Timeline explorer、ファイルシステムのタイムスタンプ | 8 |
| 中身を符号化・暗号化する | T1027 | キーワード検索で何も見つからない | Encryption Detection、Textタブの文字列 | 適切な符号化方式で、すべてのコンテンツをキーワード検索 | 9 |
演習3:1つの事件、2つのツール
作り直したTARGETで時刻付きの6つの操作を行い、第2回と同じ方法でイメージを作り、Autopsyで、次にAxiomで調べ、比較シートを埋めます。今回も、あなたのメモが答えです。

図2:演習3。既知の操作、検証済みの1つのイメージ、互いに独立した2つの調査。
必要なもの:
- 第1回のTARGET-CLEANとANALYST、第2回のFTK Imager、Autopsy 4.23.0。
- Magnet Axiomの試用ライセンス。得られない場合は、Eric Zimmermanのツールのページから LECmd、MFTECmd、Timeline Explorer を2つ目のツールとして使います。手順はパートE′にあります。
- VHD、E01、2つの事件フォルダーのために、ANALYSTのCドライブに約100GBの空き。足りなければ
C:\Cases\DFIR-LAB-002\evidenceにある第2回の作業用コピーを削除してください。原本はホストにあり、ハッシュ値はメモにあります。
パートA:TARGETを作り直す
- ホストのVirtualBoxで、仮想マシンTARGETを削除します(ファイルも削除を選ぶ)。第2回の原本はステージング用フォルダーに残ります。
- TARGET-CLEANを右クリックして Clone を選び、フルクローンを作って
TARGETと名付けます。リセットポイントから始めることで、ディスクにある新しい利用者の操作は、これから行うものだけになります。 - TARGETを起動してログオンし、PowerShellを(管理者ではなく)開きます。
Get-Date -Format oを実行し、結果をホスト側のメモに、ホスト自身の時刻と並べて書きます。
パートB:TARGETで操作を作る
以下のブロックを同じPowerShellのウィンドウで順に実行し、表示される時刻をそのたびにホスト側のメモに写します。
顧客リストを作ります。
$docs = [Environment]::GetFolderPath('MyDocuments') Set-Content -Path "$docs\osprey-customers.txt" -Value 'OSPREY-3326 customer list: Sapporo 41, Sendai 28, Niigata 17' Get-Date -Format o利用者と同じやり方で開きます。エクスプローラーで ドキュメント を開き、
osprey-customers.txtをダブルクリックします。読んだら何も変えずにメモ帳を閉じ、PowerShellでGet-Date -Format oを実行します。エクスプローラーから開くことで、利用者のRecentフォルダーにショートカットが残ります。コピーをアーカイブに入れます。
Compress-Archive -Path "$docs\osprey-customers.txt" -DestinationPath "$docs\backup-0412.zip" Get-Date -Format o画像をテキストファイルに見せかけます。Windowsに付属する壁紙の画像から、最初の1つを使います。
$jpg = Get-ChildItem -Path 'C:\Windows\Web\Wallpaper\Windows' -Filter '*.jpg' | Select-Object -First 1 Copy-Item -Path $jpg.FullName -Destination "$docs\quarterly-figures.txt" $jpg.Name Get-Date -Format o壁紙のファイル名を書き留めます。
小さなスクリプトを置き、MD5を記録します。このMD5を「既知の悪いもの」のハッシュセットとして使います。
$dl = Join-Path $env:USERPROFILE 'Downloads' Set-Content -Path "$dl\osprey-sync.ps1" -Value 'Write-Output "OSPREY-3326 sync test"' Get-FileHash -Path "$dl\osprey-sync.ps1" -Algorithm MD5 | Format-List Hash Get-Date -Format o元のリストを削除します。
Remove-Itemはごみ箱を使いません。Remove-Item -Path "$docs\osprey-customers.txt" Get-Date -Format oスタートメニューからTARGETをシャットダウンし、時刻を書き留めます。
パートC:イメージを取得する
第2回のパートCを、名前を変えて繰り返します。Windowsのホストでは次のとおりです。
& 'C:\Program Files\Oracle\VirtualBox\VBoxManage.exe' clonemedium "$env:USERPROFILE\VirtualBox VMs\TARGET\TARGET.vdi" 'C:\dfir-staging\DFIR-LAB-003-target.vhd' --format VHD
Get-FileHash -Path 'C:\dfir-staging\DFIR-LAB-003-target.vhd' -Algorithm SHA256 | Format-List
macOSまたはLinuxのホストでは次のとおりです。
VBoxManage clonemedium ~/"VirtualBox VMs/TARGET/TARGET.vdi" ~/dfir-staging/DFIR-LAB-003-target.vhd --format VHD
shasum -a 256 ~/dfir-staging/DFIR-LAB-003-target.vhd
続いてANALYSTで、管理者として実行したPowerShellで次を行います。
事件のフォルダーを作り、VHDをコピーしてハッシュ値を取り、読み込み専用で接続します。
$case = 'C:\Cases\DFIR-LAB-003' 'evidence', 'autopsy', 'axiom', 'exports', 'notes' | ForEach-Object { New-Item -ItemType Directory -Path (Join-Path $case $_) -Force | Out-Null } Copy-Item -Path '\\VBoxSvr\dfir-staging\DFIR-LAB-003-target.vhd' -Destination "$case\evidence\" Get-FileHash -Path "$case\evidence\DFIR-LAB-003-target.vhd" -Algorithm SHA256 | Format-List Mount-DiskImage -ImagePath "$case\evidence\DFIR-LAB-003-target.vhd" -Access ReadOnly -NoDriveLetter Get-DiskImage -ImagePath "$case\evidence\DFIR-LAB-003-target.vhd" | Get-Disk | Format-List Number, IsReadOnlyハッシュ値はホストの値と一致し、
IsReadOnlyはTrueでなければなりません。FTK Imagerで、その物理ドライブを第2回とまったく同じ方法でE01にします。事件番号
DFIR-LAB-003、証拠番号E001、保存先C:\Cases\DFIR-LAB-003\evidence、ファイル名DFIR-LAB-003-E001とし、Verify images after they are created をオンにします。表示されたMD5とSHA-1を記録します。VHDを切り離し、両方のファイルのSHA-256を取ります。この値は保管してください。最後にもう一度E01をこの値と照らし合わせます。
Dismount-DiskImage -ImagePath 'C:\Cases\DFIR-LAB-003\evidence\DFIR-LAB-003-target.vhd' Get-FileHash -Path 'C:\Cases\DFIR-LAB-003\evidence\DFIR-LAB-003-target.vhd', 'C:\Cases\DFIR-LAB-003\evidence\DFIR-LAB-003-E001.E01' -Algorithm SHA256 | Format-List両方のツールで使う小さな入力ファイルを2つ作ります。2行目には、パートBの手順5で記録した自分のMD5を入れてください。
Set-Content -Path 'C:\Cases\DFIR-LAB-003\notes\keywords.txt' -Value 'OSPREY-3326' Set-Content -Path 'C:\Cases\DFIR-LAB-003\notes\notable-md5.txt' -Value 'PASTE-YOUR-MD5-HERE'
パートD:Autopsyで調べる
「答え合わせ」の問いには、メモを見る前に、証拠だけから答えてください。
- 事件名
DFIR-LAB-003、ベースディレクトリC:\Cases\DFIR-LAB-003\autopsy、事件番号DFIR-LAB-003、調査担当者に自分の名前を入れて事件を作ります。 - データソースを追加する前に、Tools → Options → Hash Sets を開き、New Hash Set を選びます。名前を
DFIR-LAB-003 notable、種類を Notable にし、事件のnotesフォルダーに保存します。それを選んで Add Hashes to Hash Set を選び、自分のMD5を貼り付けます。 - E01を Disk Image or VM File として、TARGETが使っていたタイムゾーンで追加します。
- Autopsyの手順3で挙げたモジュールを選びます。Recent Activity、Hash Lookup(
DFIR-LAB-003 notableをオン)、File Type Identification、Extension Mismatch Detector、Embedded File Extractor、Keyword Search(Add text to Solr Index をオン)、Data Source Integrityです。選んだものを設定の記録に書きます。 - インジェストが終わったら、受信箱でData Source Integrityの結果を確かめ、時刻の表示をUTCにし、部分一致で
OSPREY-3326を検索します。 DFIR-LAB-003 findingという独自のタグを作ります。問いの答えになるものすべてにタグを付け、Tag and Comment でどの問いへの答えかを書きます。- タイムラインを開いてUTCにし、メモにある最初の時刻から最後の時刻までに範囲を絞ります。List表示を使います。
- 自分のタグで Tagged Results のHTML報告書を作り、開きます。
パートE:同じイメージをAxiomで調べる
- Axiom Processで、事件番号
DFIR-LAB-003-AX、事件ファイルの保存先C:\Cases\DFIR-LAB-003\axiomとして事件を作ります。 - Evidence sources → Computer → Windows → Load evidence → Image でE01を読み込み、すべてのパーティション、完全な検索を選びます。
- 処理の詳細で、
keywords.txtをキーワードリストとして読み込み(選べるならすべてのコンテンツを検索)、Calculate hash values をMD5でオンにし、notable-md5.txtをハッシュセットとして取り込み、アーカイブの検索はオンのままにします。アーティファクトは既定のままにします。選んだものをすべて記録します。 - Analyze evidence を選び、Axiom Examineが開くのを待ちます。
- タイムゾーンをUTCにし(Tools → Manage date / time format)、Autopsyの結果を見ずに同じ問いに答えます。
- 答えになる項目に Evidence のタグを付け、どの問いかをコメントに書きます。
- Timeline explorerを開き、目的の時間帯に移ります。
- タグを付けた項目をHTMLで出力し、
Report.htmlを開きます。 - 比較シート(下のテンプレート)を、問いごとに1行ずつ埋めます。
パートE′:Axiomがない場合はEric Zimmermanのツールを使う
Autopsyで、利用者の
AppData\Roaming\Microsoft\Windows\Recentフォルダーを開き、.lnkファイルを選んで右クリックし、Extract File(s) でC:\Cases\DFIR-LAB-003\exports\recentに取り出します。Windowsのボリュームのルートで
$MFTを選び、C:\Cases\DFIR-LAB-003\exportsに取り出します。第1回のPECmdと同じように、LECmd、MFTECmd、Timeline Explorerを7-Zipで
C:\Tools\EZToolsに展開し、署名を確かめます。両方を解析します。
& 'C:\Tools\EZTools\LECmd.exe' -d 'C:\Cases\DFIR-LAB-003\exports\recent' --csv 'C:\Cases\DFIR-LAB-003\exports' --csvf lnk.csv & 'C:\Tools\EZTools\MFTECmd.exe' -f 'C:\Cases\DFIR-LAB-003\exports\$MFT' --csv 'C:\Cases\DFIR-LAB-003\exports' --csvf mft.csv2つのCSVファイルをTimeline Explorerで開きます。
mft.csvでファイル名の列をospreyとquarterlyで絞り、InUseの列(削除されたファイルはFalse)とタイムスタンプを見ます。LECmdとMFTECmdを2つ目のツールとして比較シートを埋めます。
答え合わせ
| 問い | Autopsyでは | Axiomでは | 理由 |
|---|---|---|---|
| 1. 利用者が開いたOSPREY-3326を含むファイルはどれで、まだ存在するか | Data Artifacts → Recent Documents:Documents\osprey-customers.txt へのショートカット。File Views → Deleted Files:同じファイルが削除済みとして表示され、Textタブで中身が読める |
Operating System → LNK Files(ジャンプリストも)。File system explorerでは削除済みとして表示 | エクスプローラーからファイルを開くと、Recentフォルダーにショートカットが書かれる。Remove-Item はMFTのレコードを未使用にするだけで、これほど小さなファイルは中身がレコードの中にあるため、Windowsがレコードを再利用するまで残る |
| 2. マーカーはほかにどこに残っているか | OSPREY-3326のKeyword Hits:削除されたファイル、backup-0412.zip の中の osprey-customers.txt(アーカイブの子として表示)、Downloads\osprey-sync.ps1、PowerShellの ConsoleHost_history.txt |
アーカイブの検索とすべてのコンテンツの範囲がオンなら、同じファイルでキーワードが一致 | アーカイブがコピーを保っていた。第2回と同じく、PSReadLineがマーカーを含むコマンドラインを保存していた |
| 3. 名前どおりでないファイルはどれか | Analysis Results → Extension Mismatch Detected:quarterly-figures.txt、判定は image/jpeg。作成日時は手順4、更新日時は何年も前の壁紙のもの |
名前にかかわらず画像の中に並ぶ。バージョンによってはFile Signature Mismatchのアーティファクト | どちらのツールも名前ではなく先頭のバイト(JPEGなら FF D8 FF)を読む。第1回と同じく、コピーは元のファイルの更新日時を引き継ぐ |
| 4. 注目ハッシュセットに一致するファイルはどれか | Analysis Results → Hashset Hits → DFIR-LAB-003 notable:Downloads\osprey-sync.ps1 |
ハッシュセットの一致でタグが付く。タグで絞るか、Places to startで確かめる | MD5はファイルの名前や場所に関係なく中身を特定する |
| 5. どの順で起きたか | タイムライン、List表示、UTC:osprey-customers.txt の作成、最近使った文書のショートカットの作成、backup-0412.zip の作成、quarterly-figures.txt の作成、osprey-sync.ps1 の作成。削除そのものの出来事はなく、Documentsフォルダーの更新日時が手順6の時刻になる |
Timeline explorer:同じファイルシステムの出来事が同じ順で並び、ショートカット自身のタイムスタンプも加わる | ファイルを削除すると、変わるのはファイル自身の時刻ではなく親フォルダーの時刻。第8回で読む変更ジャーナルが、削除そのものを記録している |
| 6. ツールは一致したか、証拠は変わっていないか | 受信箱に、E01に記録されたハッシュ値が検証できたと表示される | — | 比較シートの6行が、一致しているか理由が書かれている。最後のE01のSHA-256が、パートCの手順3の値と一致する |
食い違いはある程度出るものと考え、シートにすべて理由を書いてください。多いのは、9時間のずれ(一方のツールがUTCでない)、AxiomのほうがAutopsyより多くのショートカットの証拠を示すこと(Recentフォルダーに加えてジャンプリストも読む)、アーカイブの中の一致がないこと(アーカイブの検索かキーワードの範囲がオフ)です。どちらのツールでも osprey-customers.txt が削除済みファイルに見つからない場合、シャットダウンの前にWindowsがMFTのレコードを再利用しています。それでも問い2でアーカイブの中のコピーは見つかります。調べる人が複数の場所を見るのは、まさにこのためです。
最後に、E01のハッシュ値をもう一度取ります。
Get-FileHash -Path 'C:\Cases\DFIR-LAB-003\evidence\DFIR-LAB-003-E001.E01' -Algorithm SHA256 | Format-List
パートCの手順3の値と一致しなければなりません。2つのツールが何時間も読みましたが、どちらも変えてはいけません。
プロが加えること
- 答えの分かっているデータでツールを検証する。 この演習は小さな既知解テストです。調査機関はツールが更新されるたびにこれを繰り返し、ガイドラインはNISTのコンピューターフォレンジックツールテスト(CFTT)プログラムで試験されたツールを勧めています(6-3-2)。
- しなかったことを報告する。「結果なし」は、何を検索したかを読む人が知らなければ意味がありません。外したモジュールやアーティファクト(カービング、未割り当て領域、アーカイブなど)と、その理由を書きます。
- 重要な事実を1つのツールに決めさせない。 時刻、実行、削除など、引用される事実には、2つ目のツールか生のバイト列による裏付けが必要です。
- 事件を再現できるようにしておく。 ツールのバージョン、インジェストのプロファイル、キーワードリスト、ハッシュセットを事件とともに保管し、同僚や1年後の自分が同じ結果を出せるようにします。
- 作業をレビューしてもらう。 比較シートを読んだ2人目の調査担当者は、自分では気づかなかった前提を見つけます。
テンプレート
調査の設定記録。 ツールごと、証拠ごとに1枚。設定しながら書き、後から書かないでください。
調査の設定記録
事件ID: DFIR-LAB-003
調査担当者:
作業端末: ANALYST(Windowsのビルド、CPUのコア数、メモリ)
証拠: E001 DFIR-LAB-003-E001.E01
開始前のSHA-256: 終了後:
記録済みハッシュ値の検証:[ ] 検証したツール 結果:
ツールとバージョン | 開始(UTC) | 終了(UTC) | 選んだモジュール・アーティファクト | オプション(フィルター、アーカイブ、カービング) | 表示タイムゾーン
-------------------|-------------|-------------|------------------------------------|--------------------------------------------------|----------------
| | | | | UTC
ハッシュセット: 名前、種類(注目/既知)、ハッシュ値の数、出所
キーワードリスト: 名前、語、一致の種類(完全/部分/正規表現)、範囲
処理しなかったもの:(カービング、未割り当て領域、アーカイブ、メモリ……)とその理由
ネットワーク: 接続(UTC)から切断(UTC)まで、理由
ツール比較シート。 問いや発見ごとに1行。「理由」の欄を空けたままにしてはいけません。
ツール比較シート
事件ID: DFIR-LAB-003
ツールA: Autopsy 4.23.0
ツールB: (Magnet Axiomのバージョン、またはLECmd/MFTECmdのバージョン)
# | 問い・発見 | ツールA:場所、値(UTC) | ツールB:場所、値(UTC) | 一致 | 一致しない場合の理由と確かめ方
---|------------------------------|---------------------------------|---------------------------------|------|-------------------------------
1 | | | | |
2 | | | | |
次回予告
第4回:プログラムが実行されたことを示す。 Eric Zimmermanのツールで、Prefetch、Amcache、Shimcache、BAM、UserAssist、SRUMを読み、それぞれが実行の証拠としてどれほど強いかを学びます。プログラムが実行されたことを示すもの、存在したことしか示さないもの、誤ることがあるものを見分けます。DFIR-LAB-003の事件フォルダーは残しておいてください。第11回で、これをもとにタイムラインと報告書を作ります。
出典
- Autopsy 4.23.0ユーザーガイド:Quick Start Guide、Cases、Data Sources、Ingest Modules、Recent Activity、Hash Lookup、Extension Mismatch Detector、Embedded File Extraction、Keyword Search、Data Source Integrity、Tree Viewer、Content Viewer、View Options、File Search、Tagging and Commenting、Timeline、Reporting、Portable Cases
- Magnet Forensics:試用版のページ、ライセンスパッケージ、リリースノート、Axiomの文書(イメージの読み込み、ハッシュ値の計算、Case dashboard、証拠の確認、タグ付け、日時での絞り込み、タイムライン、Examineの設定、出力ウィザード)、ブログ記事(処理、キーワード、性能を引き出すハードウェア)(いずれも英語)
- Eric Zimmerman:LECmd(バージョン1.4.0.0のREADME)、MFTECmd、ツールのページ
- デジタル・フォレンジック研究会「証拠保全ガイドライン 第10版」(2025年3月15日):6-3-2、7-1、7-3、7-4-2、7-5-1
- Microsoft Learn:Get-FileHash、Compress-Archive、Remove-Item、Mount-DiskImage(英語)
- MITRE ATT&CK:T1036.008、T1560、T1074.001、T1070.004、T1070.006、T1027
2026年10月28日公開。当サイトのリポジトリに集めた一次資料と照らし合わせました:Autopsy 4.23.0ユーザーガイド(事件、データソース、インジェストモジュール、Recent Activity、Hash Lookup、Extension Mismatch Detector、Embedded File Extraction、Keyword Search、Data Source Integrity、ツリーとコンテンツのビューアー、表示オプション、ファイル検索、タグ付け、タイムライン、報告書、ポータブルケース)、LECmdのREADMEとMFTECmdの文書、デジタル・フォレンジック研究会のガイドライン(第10版)。PowerShellのコマンドはMicrosoft Learnと照らし合わせました。当サイトの調査環境から直接開けていないもの:Magnet Forensicsの製品ページ、文書、リリースノート、MITRE ATT&CK、NIST。Magnet Axiomについては、バージョン10.4(2026年9月23日)について、Magnetの文書とブログを引用した検索結果に頼ったため、メニュー名はお使いのバージョンと異なることがあります。ファイルを開いた後にどのショートカットとジャンプリストの項目が残るかは、Windowsの「最近使った項目」のプライバシー設定によります。上の答えは既定の設定を前提にしています。手順が説明どおりに動かない場合は、ツール自身の文書が優先します。お知らせいただければ、講座を訂正します。

