【入門編】 ファイルレスマルウェアの実行コード抽出:PEヘッダーの再構築とアンパック – インシデントレスポンス & フォレンジック(DFIR)防御ガイド

姿なき侵入者:メモリ上に潜む「ファイルレス・マルウェア」を捕まえろ!

こんにちは。現場で日々、見えない敵と戦っているSOCアナリストです。

突然ですが、皆さんの家を想像してみてください。玄関の鍵をしっかり閉め、窓には防犯センサーを取り付けているはずです。しかし、もし「泥棒が鍵を開けずに、家の壁をすり抜けてリビングに現れたら」どうでしょうか?

サイバーの世界には、まさにそんな「魔法」を使う悪者がいます。それがファイルレス・マルウェアです。彼らはハードディスクという「家」に痕跡を残さず、メモリ(RAM)という「空気中」で直接活動します。

今日は、そんな「姿なき侵入者」の尻尾を掴み、彼らが何者なのかを正体見極めるための「メモリフォレンジック」の初歩を、一緒に学んでいきましょう。

—

1. ファイルレス・マルウェアって、何者?

普通のマルウェアは、.exeや.dllといった「実体」がPCの中に保存されます。これは泥棒が「ピッキングツール」を持ち込んでいる状態です。しかし、ファイルレス・マルウェアは違います。

彼らは、システムが普段使っている便利な機能(PowerShellなど)を悪用し、「その場で作ったプログラムを、直接メモリという作業台の上で動かす」という荒業を使います。これなら、後からハードディスクをいくら探しても、何も見つかりません。

この「メモリ上の作業台」から、彼らの正体(実行コード)をどうやって抜き出し、解析可能な形にするのか。それが今回のミッションです。

—

2. 準備するもの:Volatility 3

メモリのダンプ(メモリの中身を丸ごとコピーしたもの)を解析するために、僕らプロが愛用しているのが Volatility 3 というツールです。これは「メモリのレントゲン写真」を解析するようなものですね。

まずは、怪しいプロセスを見つけ出し、メモリからその一部を切り出す(ダンプする)ことから始めます。

# 怪しいプロセスのID(PID)を見つけ出します
python3 vol.py -f memory.dmp windows.pslist

# 特定したPID(例えば1234)のメモリ領域をダンプします
python3 vol.py -f memory.dmp windows.vaddump --pid 1234

—

3. PEヘッダーという「設計図」を修復する

ここからが少し専門的なお話です。メモリ上にダンプされたファイルは、実は「頭(PEヘッダー)」が欠けていたり、壊れていたりすることがほとんどです。

PEヘッダーとは、家の「設計図」のようなもの。これがないと、解析ソフトは「これは何をするプログラムなのか?」を理解できません。攻撃者は、自分の正体を隠すために、あえてこの設計図を壊してメモリ上に配置することが多いのです。

なぜヘッダーを直す必要があるのか?

家を建てるとき、設計図が半分燃えていたら、部屋の配置も配線もわかりませんよね?それと同じで、PEヘッダーを修復しないと、静的解析ツール(IDA ProやGhidraなど)で「このプログラムが何をしようとしているのか」を読み解くことができないんです。

実践:PEヘッダーの修復(イメージ)

実務では、PE-bear などのツールを使って、失われたヘッダー情報を補完します。

1. セクションの特定: メモリ上のデータから、コードが置かれている場所(.textセクション)を探します。
2. マジックナンバーの確認: PEファイルの始まりである 4D 5A(MZヘッダー)が消えていることが多いので、ここをバイナリエディタで手動で書き込みます。
3. オフセットの調整: メモリ上での配置と、ファイル上での配置はズレが生じます。VirtualAddress と PointerToRawData を一致させるように数値を書き換えるのが職人技です。

—

4. 防御へのヒント:泥棒を入れないために

解析の泥臭い手順を体験すると、「そもそも侵入させない」ことの重要性が身に染みます。

  • PowerShellの権限管理: 悪意あるスクリプトが勝手に実行されないよう、実行ポリシーを厳格に設定しましょう。
  • EDR(Endpoint Detection and Response)の導入: メモリ上で不審な動き(突然のメモリ書き込みや、無名のプロセスからのネットワーク接続)を察知してくれる「警備員」を雇うことが、今の時代は不可欠です。
  • スクリプトのログ取得: 「誰が、いつ、どんなコマンドを打ったか」を記録に残すだけで、後の解析が驚くほど楽になります。

—

最後に:怖がることはありません

「メモリフォレンジック」なんて聞くと、何だか魔法のような技術に聞こえますが、本質は「壊れた設計図を、パズルのように元に戻して、悪者の計画を読み解く」という、とても地道な作業です。

最初は難しく感じるかもしれません。でも、一歩ずつ進めば必ず正体は見えてきます。もし皆さんの環境で「何か怪しい挙動があるな」と感じたら、まずはその違和感を大切にしてください。その違和感こそが、プロへの第一歩なのですから。

それでは、また次回の現場でお会いしましょう!安全なネットワークライフを!

コメント

タイトルとURLをコピーしました