2021年11月30日

Emotetの再来

マルウェア·ボットネット「Emotet」が、約10ヵ月ぶりに再来しました。このボットネットは、今年の1月に複数の国際的な法執行機関によって停止されました。これらの機関は、インフラをコントロールし、4月25日にマルウェアのアンインストールを予定していました。

では、Emotetの再来は何を意味するのでしょうか。また、サイバー専門家は新たな脅威にどのように備えることができるのでしょうか。このブログでは、新しいDLLを分析し、新たなアンパック技術と新機能を解明し、新しい亜種と前バージョンとの類似点を検証します。

また、Emotetサンプルの分析を大規模に自動化した、最新ローダーのアンパッカーとペイロードの復号化スクリプトを含む「DeMotet」という斬新なツールについても紹介します。このツールは、マルウェアのあらゆる改変を検出するために使用され、現在、一般に公開されています。

静的解析
今回の解析では、以下のサンプルを使用します。
76816ba1a506eba7151bce38b3e6d673362355063c8fd92444b6bec5ad106c21

以前のブログ記事でご紹介したように、Emotetの実行フローは、複数のステージが連続してアンパックされることで構成されています。予想通り、これは新しい亜種でも同じです。ディスクに書き込まれるDLLは、C2サーバーと通信する実際のペイロードではありません。これは、リソースの静的情報を確認することでわかります。

image.png

ビットマップリソースのエントロピーは高く、暗号化された情報が含まれている可能性が高いと言えます。次のステージを展開するためには、復号化ルーチンを見つける必要があります。

このリソースは、復号化が始まる前にアクセスされます。この時点に到達するために、「FindResourceA」関数にブレークポイントを設定することができます。

次のステージの抽出
マルウェアはブレークポイントに到達すると、アドレス0x10005701に戻ります。

image.png

FindResourceA "のパラメータが不審なリソースと一致しました。このAPIは、インポートされていないため、レジスタを介して呼び出されます。静的解析を妨げるため、アドレスはランタイムに配置されます。その後、この関数は、リソースのサイズに基づいてメモリを割り当て、いくつかの復号化ループを通過します。

戻り値が次のステージとなります。ファイルのサイズはコード内で指定されているので、メモリからの取り出しはさらに簡単です。

image.png

亜種検体の比較

過去には、ローダとペイロードの間に中間ステージが存在していました。以前のEmotetペイロードの分析結果から、抽出されたファイルはペイロードそのものであり、中間ステージではないことがわかりました。

PEファイルには、インポートされたAPI関数はありません。
また、文字列もほとんど存在しません。
このマルウェアは、同じコード難読化技術を利用しています。


image.png

                                                            左:新しいペイロード 右:2021年1月のペイロード

ペイロードは、静的解析に使用される情報を隠すことで、その機能を隠しています。API関数の名前は、ハッシュ化された後にコードに格納されています。そのアドレスは、Import Address Tableを使用する代わりに、ランタイムに配置されています。文字列はファイル内で暗号化されています。

コードはControl Flow Flatteningを用いて難読化されており、次のように動作します。

1. 各ブロックには番号が割り当てられています。
2. 難読化モジュールには、どのブロックを実行すべきかを示すブロック番号変数が導入されています。
3. 各ブロックは、通常のように分岐命令で後続に制御を移すのではなく、ブロック番号変数を選択した後続に更新します。
4. 通常の制御フローは、ブロック番号変数に対するswitch文に置き換えられ、ループの中に格納されます。

"DeMotet "の紹介
Deep Instinct社は、以前からEmotetを注視していました。"DeMotet "は、このマルウェアに対して行われた調査を自動化するために開発されました。このツールは、Emotetローダーの最新バージョン用の静的アンパッカーです。このツールは、マルウェアを実行することなく、暗号化されたペイロードをリソースから抽出することができます。このツールには、Pythonスクリプトも含まれています。これらは、ペイロードが使用する隠れた文字列やAPIコールを明らかにします。1つ目はスタンドアロンのスクリプトで、多数のペイロードからこの情報を抽出するために使用できます。2つ目は、IDAのプラグインです。これは、この情報をコードのコメントとして追加します。

image.png

"DeMotet "は、マルウェアの新しい亜種を追跡するために使用できます。Emotetの新しいサンプルは、定期的にダウンロードされ、解凍されます。マルウェアの解凍プロセスが変更されると、このツールは失敗します。

これは新しい亜種であることを示しています。その後、その亜種を手動で分析してツールを更新し、自動化を復元できるようにします。また、ペイロードの中に新しい文字列やインポートされた関数を見つけることも、新機能であることを示しています。

このツールは、このGitHubリポジトリで公開されています。

まとめ
悪名高いボットネット「Emotet」が復活しました。作戦の進展に伴い、新たなトリックや回避技術がマルウェアに実装され、おそらく世界的に重要な脅威となって戻ってくることが予想されます。しかし、この記事で紹介した技術やツールを使用することで、マルウェアの分析を簡素化し、自動化することができます。

Deep Instinctは、世界初かつ唯一の目的を持って構築された深層学習サイバーセキュリティフレームワークを使用して、ランサムウェアやその他のマルウェアを阻止するために、予防を第一に考えたアプローチを取っています。既知の脅威、未知の脅威、ゼロデイの脅威を20ミリ秒以下で予測·防止します。これは、ランサムウェアが最速で暗号化する場合の750倍の速さです。

当社のマルウェア、ランサムウェア、ゼロデイ対策の詳細については、こちらからご依頼ください。
https://www.deepinstinct.com/ja/request-a-demo

IOC
Loaders SHA256
3b3b65d42e44bcc0df291ddab72f1351784f7e66357a4ec75ee5c982ef556149
6b477d63b3504c6eab3c35057b99d467039995783f5f14714ae6af4f83b9dcb3
442ff2de8a19c3f6cf793f9209ffd21da18aa7eb5b4c4c280222eb9f10a2c68a
9ac36258c63a5edfd29e3ed1882c61487ef2c70637192108cc84eb4ea27f7502
00ceb55abdb43042c6f7fabd327e6e1a6cdefed723dea6c4e90d159b9466518c