AhnLab SEcurity intelligence Center(ASEC)は、自社が構築した「電子メールハニーポットシステム」を通じてフィッシングメールによって配布されるマルウェアに関する情報を収集しており、これをベースに ASEC ブログを通じて毎月「フィッシングメール動向報告書」および「インフォスティーラー動向報告書」で公開している。そうしているうちに、近年、XwormRAT マルウェアがステガノグラフィー手法を活用して配布されていることを確認した。
当該マルウェアは VBScript および JavaScript で開始し、正常なコード内に不正なスクリプトを挿入することにより、ユーザーがこれに気づきにくいように設計されていることが特徴である。最初に実行されるスクリプト(VBScript または JavaScript)は、内部に含まれている PowerShell スクリプトを追加で呼び出し、最終的なマルウェアをダウンロードおよび実行する構造を持っている。当該マルウェアは過去に ASEC ブログを通じて公開されたことがあり、現在も変形されたバージョンが配布され続けていることが確認された。

[図1] フィッシングメールの本文

[図2] 不正なスクリプトの一部
内部に含まれている悪意のある PowerShell スクリプトは BASE64 エンコードデータとダミー文字を含んでおり、実行プロセスで Replace() 関数を利用してダミー文字を除去した後デコードされて実行されるように構成されている。最終的に該当 PowerShell スクリプトが実行されると外部サーバーから追加のマルウェアをダウンロードおよび実行する方式で動作する。追加でダウンロードされるファイルには .NET ローダーが含まれた JPG 画像ファイルと最終的に実行されるマルウェアが含まれている。
ダウンロードされたステガノグラフィー手法が適用された JPG 画像ファイルは以下 [図 3] のような画面で確認され、ユーザーは単純に画像が実行されたと認識することができる。しかし、該当画像ファイルから .NET ローダーがひそかに抽出されて実行される。

[図 3] ステガノグラフィー手法が適用された画像ファイル
前述のブログで説明されたように、過去に配布されたタイプでは以下 [図 4] 左側の画像のように JPG ファイルの末尾に挿入された “<<BASE64_START>>” と “<<BASE64_END>>” 文字列の間のエンコードデータをデコードして .NET ローダーを抽出し、これを通じてマルウェアを実行する方式が使用された。対して、現在配布中の変形されたタイプは以下 [図 4] 右側の画像の内容のように JPG 画像ファイルの末尾に挿入されたビットマップ (Bitmap) 画像 (0x42、0x4d、0x46、0xC0 …省略) を探索した後、ビットマップのピクセルデータから R、G、B 値を抽出してデコードする方式で動作する。その後、マルウェア実行過程は既存の方式と同じように進行される。

[図 4] (左) 過去のバージョンのスクリプト (右) 現在配布中のバージョンのスクリプト

[図 5] 最終実行される XwormRAT 設定
本文で紹介したステガノグラフィー手法は XwormRAT の他にもさまざまなマルウェアの配布に活用される可能性がある。最近では変形されたタイプで継続的に配布されているため、ユーザーは出所が不明なメールを閲覧する際に特に注意が必要である。
Categories: マルウェア