こんにちは、行動で証明するセキュリティアナリストの皆さん!🕵️♂️
前回まで、私たちはマルウェアを実行せずにあれこれと分解する「静的解析」をマスターしました。コードを見て「ふむ、こいつはファイルを盗むつもりだな」と予測しましたね。
しかし、心証だけでは犯人を捕まえられません。今こそ物証を掴む時です!今日はマルウェアを実際に実行(Run)させ、その挙動をオペレーティングシステム内でCCTVのようにすべて記録する「動的解析(Dynamic Analysis)」の実習を行います。
私たちの強力な武器ProcMon(Process Monitor)を手に、マルウェアの犯行現場を急襲しましょう!🚨

🛑 0. [必読] 絶対安全区域の確保!
本格的な開始に先立ち、安全規則を改めて強調します。
⚠️ 警告:ホストPC(皆さんが今使っているコンピューター)では絶対に実行しないでください!必ずVMware、VirtualBoxのような仮想マシン環境で実施する必要があります。実習前に、仮想マシンの「スナップショット(Snapshot)」を必ず取得しておいてください。マルウェア実行後に感染した状態をボタン一つでクリーンに戻すためです。
1. 🛠️ 準備物:マルウェア監視班セット
Sysinternals Suiteツールが必要です。(マイクロソフト公式ホームページから無料でダウンロード可能)
- Process Monitor (ProcMon): ファイル、レジストリ、プロセス活動をリアルタイムで記録するCCTV。
- Process Explorer (Procexp): 現在実行中のプロセスをツリー構造で表示する高度なタスクマネージャー。
- Wireshark (選択): ネットワークパケットを捕捉するツール(今日はProcMonに集中します)。
2. 📸 [実習 Step 1] 潜伏勤務開始:ProcMon設定
マルウェアを実行する前に、監視カメラ(ProcMon)を先に起動する必要があります。しかし、ProcMonはWindowsのすべての動作を記録するため、1秒に数千ものログが蓄積されます。「フィルタリング(Filtering)」が必須です!
- ProcMon実行: procmon.exeを管理者権限で実行します。
- キャプチャ一時停止: 虫眼鏡アイコン(🔎)をクリックして、一時的にキャプチャを停止します。(初期設定のため)
- フィルター設定 (Ctrl + L):
- マルウェアのファイル名でフィルターをかけます。
- Process Name is malware.exe (皆さんのマルウェアファイル名) Include
- Addボタンをクリック -> OKをクリック。
これでProcMonは、「そのマルウェア」の行動だけを記録する準備ができました。
3. ▶️ [実習 Step 2] 犯行現場捕捉:マルウェア実行
緊張の瞬間です。ついに実行ボタンを押します。
- ProcMonキャプチャ開始: 虫眼鏡アイコン(🔎)を再度クリックして(X印が消える)、記録を開始します。
- Process Explorer実行: 横に表示させて、プロセスツリーを観察する準備をします。
- マルウェア実行!: malware.exeをダブルクリックします。💣
- 観察:
- 何も起こらなかったように見えますか?
- ProcMon画面を見てください。ログが猛烈な勢いで上がっているはずです!
- Process Explorerで、マルウェアが子プロセス(cmd.exe, powershell.exe)を生成しているか確認してください。
- 実行終了: 約1〜2分間十分に動作させた後、ProcMonの虫眼鏡アイコンをクリックしてキャプチャを停止します。
4. 🕵️♀️ [実習 Step 3] 証拠物分析:ログ解釈
これで収集された数千行のログの中から、「決定的な証拠」を見つけ出す必要があります。ProcMonのツールバーにある5つのアイコンを活用して、カテゴリ別に分析してみましょう。
① 📂 ファイルシステム活動 (File System Activity)
- アイコン: 書類カバン型
- 注目ポイント:
- CreateFile / WriteFile: 新しいファイルを生成しましたか?(例:C:Temppayload.exeのドロップ、readme.txtランサムノートの生成)
- DeleteFile: 元のファイルを削除しましたか?(ランサムウェアの典型的な特徴)
- ReadFile: 重要なドキュメント(My Documents)を読み取りましたか?(情報窃取の試み)
② ⚙️ レジストリ活動 (Registry Activity)
- アイコン: キューブ型
- 注目ポイント: 「持続性(Persistence)」確保の試み
- RegSetValueイベントを探してください。
- パスがHKCUSoftwareMicrosoftWindowsCurrentVersionRunの場合?
- PCを再起動してもマルウェアが自動実行されるように登録したものです!100%悪意のある行為です。
③ 🌐 ネットワーク活動 (Network Activity)
- アイコン: ネットワークケーブル型
- 注目ポイント:
- TCP Connect / UDP Send: 外部IPとの接続を試みましたか?
- 接続されたIPアドレスとポート番号(例:4444)を記録しておきましょう。C2サーバーである可能性が高いです。
④ 🚀 プロセス活動 (Process and Thread Activity)
- アイコン: パズルピース型
- 注目ポイント:
- Process Create:マルウェアがcmd.exeを実行して/c del backupコマンドを発行した場合?バックアップを削除する行為です。
5. 🤖 [裏技] 収集されたログ、AIに分析を任せる
ログが多すぎて複雑ですか?AIを活用しましょう!
- ProcMonで怪しいログを数行ドラッグしてCSVとして保存するか、コピーします。
- AIに次のように尋ねます。
[プロンプト]
「ProcMonで収集したマルウェアログです。これらのイベントがセキュリティの観点からどのような意味を持つか解釈してください。特にRegSetValueが意味するものは何ですか?」
>
[ログ貼り付け]
12:01:05, malware.exe, RegSetValue, HKCU…RunUpdate, SUCCESS, Data: C:Tempmalware.exe
AIは「このログは、マルウェアがWindows起動時に自動実行されるように『Update』という名前でレジストリに自己登録する行為を示しています。」と明確に翻訳してくれるでしょう。
🎉 終わりに:動くやつが犯人だ!
おめでとうございます!👏 皆さんは今、マルウェアを実際に実行し、その「行動パターン(Behavior)」を詳細に記録しました。
- 静的解析が「似顔絵を描くこと」だとすれば、
- 動的解析は「犯行現場のビデオ検証」です。
これで私たちはマルウェアの見た目(コード)と行動(ログ)の両方を把握しました。分析は99%完了です。次回は、これらすべての分析結果を整理し、専門家らしい[マルウェア分析レポート]を作成する最終段階に進みます。
スナップショットの復元(Revert)を忘れずに、次回お会いしましょう!さようなら!👋
コメントを残す