全3905文字
PR

 2021年1月にテイクダウンされ、壊滅したと考えられていたEmotetが、同年11月に突如復活した。Emotetを含む一般ユーザーを狙うマルウエアは、メールに添付されているWordやExcelなどの文書ファイルを開いたときに感染するケースが多い。Emotetの場合、文書ファイルに仕込まれたマクロがC&Cサーバーにアクセスし、Emotet本体をダウンロードして感染させる。このため、C&CサーバーへのアクセスをブロックすることがEmotetの感染を防ぐ有効な対策の1つとなる。

 そこで今回は11月に復活したEmotetを例に、マルウエアの文書ファイルからC&CサーバーのURLを抽出する方法を解説する。「CyberChef」という無料のツールを用いた比較的簡単なやり方から、汎用性が高い手動による解析方法まで、レベルを掘り下げながら紹介しよう。文書ファイルのマクロ機能を悪用するマルウエアであれば、Emotet以外にも応用できるので参考にしてほしい。

英国政府製のツールを活用

 まずCyberChefを用いる方法を紹介する。CyberChefは、英政府通信本部(GCHQ)が開発したWebベースのツールだ。「The Cyber Swiss Army Knife(サイバー版スイスアーミーナイフ)」と名乗る通り、任意の入力データに対して200種類以上の処理を施せる万能ツールである。複数の処理をひとまとめにした「レシピ」を作成して使用する。他の人が作成したレシピをコピー&ペーストして使うことも可能だ。

 CyberChefを用いて、マルウエアの文書ファイルからC&CサーバーのURLリストを抽出する方法の例を図1に示す。ツール画面の「Recipe」の欄に、左側の「Operations」から処理をドラッグ&ドロップで並べてレシピを作成する。「Load recipe」をクリックすると、事前に作成したレシピを取り込めるほか、任意のレシピをテキストで入力できる。今回は、ここにURLを抽出するレシピを入力する(図1下)。入力が終わったら「Input」の欄にマルウエアの入った文書ファイルをドラッグ&ドロップすると、「Output」の欄にURLリストが表示される。

図1●「CyberChef」でC&CサーバーのURLを抽出する例
図1●「CyberChef」でC&CサーバーのURLを抽出する例
一連の処理を記述した「レシピ」を読み込ませた後、Wordファイルをドラッグ&ドロップしてURLを抽出する。
[画像のクリックで拡大表示]

 マルウエアの中には、URLリストをBase64に変換した上でPowerShellの引数に渡すものもある。こうしたケースでは、「ANYRUN」などのサンドボックスツールと組み合わせる方法も有効だ。サンドボックスでBase64の文字列を取り出す。その文字列をCyberChefにコピー&ペーストし、Base64を逆変換して整形するレシピを適用する。