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