FortiGuard Labs 脅威リサーチ

Warzone RATをドロップするハンガリー政府偽装メール

投稿者 Gergely Revay | 2023年1月18日

FortiGuard Labsは先日、ハンガリー政府を装って送信されたEメールを発見しました。メールの内容は、政府のポータルサイトにアクセスするための新しい認証情報が添付されているというものです。しかし、この添付ファイルはZIP圧縮された実行ファイルであり、これを実行するとメモリにWarzone RATが解凍され、実行されます。FortiGuard Labsによる最初の検知から数日後、ハンガリー国家サイバーセキュリティセンターがこの攻撃に関する警告を発表しました。このブログでは、実行ファイルの詳細な分析結果を報告します。

影響を受けるプラットフォーム: Microsoft Windows
影響を受けるユーザー:     Microsoft Windowsユーザー
影響:             攻撃者によるリモートアクセスが可能になる。
深刻度:            

感染ベクトル

最初の感染は、ハンガリー政府のポータルサイトを偽装したフィッシングメール(図1)を介して発生します。このポータルは、書類の提出やIDの発行などの公務をオンラインで行うために使用されています。

図1:Warzone RATマルウェアが添付された不正なEメール

このEメールは被害者に対し、認証情報が変更されたため新しい認証情報を添付すると伝えています。全文の翻訳を以下に示します。


件名:idp.gov.hu: 新しいログインデータ

登録ユーザー様、

ハンガリー政府はWebサイトのメンテナンスと更新を行っています。あなたの新しいログインデータを添付いたします。このパスワードをダウンロードし、保存しておいてください。ポータルのメンテナンス終了後、このパスワードが必要になります。

どうぞよろしくお願いいたします。


文体を見るとネイティブスピーカーが書いたもののようですが、このメールには公的な通信に求められる語法が使用されていませんでした。

添付ファイルはZIP圧縮されており、PDFに見せかけた実行ファイルが含まれています。図2のように、このファイルにはAdobe PDF Readerを模したアイコンが付けられています。ファイル名はpdfで終わっていますが、拡張子は.exeです。しかし、Windowsのデフォルト設定ではファイル拡張子が表示されないため、このファイルは本物のPDFファイルのように見えます。ユーザーが唯一予兆に気づくとすれば、File Explorerでファイルの[Type(タイプ)]が[Application(アプリケーション)]と表示される点でしょう。これは、そのファイルが文書ではなく実行ファイルであることを示しています。ただし、一般のユーザーがすぐに見抜けるものではありません。

図2:PDFに見せかけた実行ファイル

難読化のマトリョーシカ人形

Uj bejelentkezEsi adatai·pdf.exe'」の分析を開始して間もなく、私たちはそれがマトリョーシカ人形に似ていることに気づきました。ただし、1つ開けるたびにそれよりも小さい人形が出てくるのとは違い、.NETバイナリがどんどん難読化されていくのです。このセクションではその点について見ていきましょう。

Uj bejelentkezEsi adatai·pdf.exe」は32ビットの.NET実行ファイルです。FortiGuard Labsがdnspy(有名な.NETデコンパイラ)で逆コンパイルしたところ、シンプルな反面、奇妙でもあるソースコードを発見しました。このコードの全体構造を図3に示します。おそらくiANOが元のバイナリで、「Uj bejelentkezEsi adatai·pdf.exe」に名前変更されています。

図3:「Uj bejelentkezEsi adatai·pdf.exe」のプログラム構造

コードには、卓上ゲームBattleShipの実装と思われるBattleShipLiteLibraryの奇妙な組み合わせと、電卓が表示されています。図4は、電卓を実装するコードが実際にあることを示しています。

図4:電卓の実装

このコードは、場合によっては電卓のように見え、電卓のように動作します。しかしながら、電卓ではないのです。このコードでは、電卓用のユーザーインタフェースを設定しているように見えるInitializeComponent() 関数が、末尾でPerformLayout()関数も呼び出しています。そしてさらに、ResourceTemplateDefine()関数を呼び出しています(図5)。

図5:リソースからのコードの読み込み

ResourceTemplateDefine()関数は、「Web」というリソースを読み込みます。初めのうち、このリソースはビットマップとして解釈されるかに見えますが、最終的にはアセンブリに変換されます。バイナリエディタでこのリソースを開くと(図6)、ビットマップヘッダーが表示されます。しかし、もう少し詳しく見てみると、MZという文字も確認できます。これはPE(Portable Executable)ファイルのマジックナンバーです。そして一番下には、あの評判の悪い「This program cannot be run in DOS mode」(このプログラムはDOSモードで実行できません)の文字列まであります。これもPEファイルである証拠です。

図6:「Web」リソースの調査で隠されたPEファイルが判明

このPEファイルがリソースから読み込まれます。図7ではGetMethod(),を使用してメソッドが読み込まれ、そのうちのいずれか一つが呼び出されています。図8のデバッガーは、呼び出されたメソッドが「sk41Ua2AFu5PANMKit.abiJPmfBfTL6iLfmaW.Y5tFvU8EY()」であることを示しています。

図7:PEファイルからメソッドが読み込まれ呼び出される
図8:デバッガーに表示された呼び出し中のメソッド

KeyNormalize.dll

「Web」リソースにあるPEファイルの元の名前はKeyNormalize.dllです。呼び出された関数の名前から、ファイルが難読化されていることは想像がつきます。これも.NET実行ファイルであるため、dnspyやDetect It Easy(図9)でこのファイルを開くと、SmartAssemblyを使って難読化されていることがわかります。

図9:難読化ツールSmartAssemblyが使用されている

バイナリの難読化解除には、難読化解除ツールのDe4Dotを使用できます。ただし、難読化された文字列を解除することはできません。そのためFortiGuard Labsは、文字列の難読化を解除できるカスタムプログラムを作成しました。これについては別のブログ記事で解説します。

KeyNormalize.dllを静的分析した結果、リソースからさらに別のバイナリを読み込み、先に見たように関数を呼び出していることが判明しました(図10)。

図10:リソースからアセンブリを読み込み、いずれかの関数を呼び出している

ここでもデバッガーを使用してバイナリを復元し、呼び出された関数を確認できます。図11は変数「text6」内のデータで、base64でエンコードされています。これをデコードすると(図12)、もう一つのPEファイルであることがわかります。このPEファイルも.NET実行ファイルであり、元の名前は「Metall.dll」です。

図11:base64でエンコードされた変数「text6」内のデータ
図12:もう一つのPEファイルである「text6」内のデータ

デバッガーでは、新たに復元されたPEファイルで「OwbdG5aNVQQYu6X20i.o9pVsMvoTr75y5TrkE.V4j9c6YCwC()」関数が呼び出されていることも確認できます。

Metall.dll

図13は、このバイナリの分析を開始してから初めての私の反応です。

図13:Metall.dllによってコードの難読化がさらに進行

いうまでもなく、Metall.dllは制御フロー平坦化などの機能をバイナリに追加して難読化のレベルを上げていました。難読化ツールの目的がリバースエンジニアリングの妨害であることは、誰もが知るところです。この妨害は、ある程度までは有効です。しかし今回の場合、私たちはショートカットを作成するだけで、バイナリを自動的に実行し、最終ペイロードをメモリに読み込ませることができました。私たちはメモリの内容をファイルにダンプし、さらに分析を進めました。

Warzone RAT

Metall.dllによってメモリに読み込まれた最終ペイロードは、Warzone RAT(リモートアクセス型トロイの木馬)です。これはよく知られたマルウェアで、MaaS(Malware-as-a-Service)として動作します。Warzone RATはインターネットで一般に入手でき、サブスクリプションモデルを通じて誰でも利用することができます。現在の価格を図14に示します。

図14:Warzone RATの現在の価格

登録ユーザーに提供される機能は次のとおりです。

  • ネイティブな独立したスタブ
  • クッキーの復元
  • リモートデスクトップ
  • 非表示リモートデスクトップ - HRDP
  • 権限の昇格 - UACバイパス
  • リモートWebカメラ
  • パスワードの復元
  • ファイルマネージャー
  • ダウンロードと実行
  • ライブキーロガー
  • オフラインキーロガー
  • リモートシェル
  • プロセスマネージャー
  • リバースプロキシ
  • 自動タスク
  • 一括実行
  • スマートアップデーター
  • HRDP WAN直接接続
  • 永続性
  • Windows Defenderバイパス

図15の文字列がバイナリに表示されることから、Warzone RATはしばしば「Ave_Maria Stealer」とも呼ばれます。

図15:Ave_Maria Stealerの名前の由来となったバイナリの紛らわしい文字列

GitHubへの埋め込みリンクはまったく役に立ちません。おそらくこれも、リバースエンジニアリングを妨害する一つの手段でしょう。

Warzoneは、Windowsのバージョンに応じて複数の方法で権限を昇格させます。一つは同じバイナリに実装する方法、もう一つはWM_DSP(図16)というリソースとしてバイナリに追加する方法です。これは必要に応じて実行時に読み込まれ、実行されます。

図16:リソースとして確認された権限昇格のエクスプロイト

Warzoneはウイルス対策ソフトウェアを回避するために、自身をWindows Defenderの除外リストに追加しようとします(図17)。

図17:Warzoneが自身をアンチウイルス除外リストに追加

また、以下のパスに自身をコピーして永続性を確保します。

C:\Users\Admin\Documents\Adobe5151.exe

さらには、C2サーバーとの通信を暗号化します。これまでは、暗号化のパスワード / キーに文字列「warzone160\x00」が使用されていました。今回のサンプルでは、文字列が「nevergonnagiveyouup」に変更されています(図18)。つまり、被害者は知らないうちにリックロールされているのです。

図18:暗号化に使用される新しいパスワード

動的分析の結果、C2サーバーのアドレスは171.22.30.72:5151であると判明しました。このIPとポート番号をフォーティネットの社内システムで調べたところ、図19のような図が示されました。この図から、Warzoneの関与する攻撃が2022年6月20には始まっていたことがわかります。

図19:アドレス171.22.30.72:5151へのアクセスに関するインテリジェンス

結論

攻撃者は、政府を装って巧妙に細工したEメールをおとりに使用し、添付したマルウェアを実行します。このおとりは非常によく考えられています。なぜならその内容が、オンラインの行政ポータルを利用するすべてのハンガリー人に関係しているからです。このようなおとりや、Eメールで使用されている言語の正確さは、ハンガリー国内の攻撃者が関与している可能性を示唆しています。

埋め込まれた.NETバイナリはマトリョーシカ人形のように、難読化が徐々に複雑さを増していきます。これは、攻撃者が最新の難読化手法への依存を強める傾向にあることを裏付けています。結果として、リバースエンジニアがマルウェアの難読化解除や分析に費やす時間が増大しています。

最終ペイロードとしてWarzone RATが使用されていることから、サイバー犯罪者のMaaSへの依存度も高まっています。ランサムウェアのサンプルでも同様の傾向が見られ、Ransomware-as-a-Service(サービスとしてのランサムウェア)プロバイダーの人気が拡大しています。こうした傾向については、最新のFortiGuard Labs脅威レポートで取り上げています。

フォーティネットのソリューション

Fortinetアンチウイルスエンジンは、以下のシグネチャを使用して上記のすべてのバイナリに対応しています。

MSIL/Kryptik.AGIJ!tr – Uj bejelentkezEsi adatai·pdf.exe
W32/PossibleThreat – KeyNormalize.dll
MSIL/Agent.UDJ!tr – Metall.dll
W32/Agent.TJS!tr – Warzoneペイロード
W32/AntiAV.NIZ!tr – 権限昇格ペイロードWM_DSP

C2サーバーは、FortiGuard Webフィルタリングサービスによって「不正」に分類されており、適宜ブロックされます。

FortiMailとFortiSandboxは、この攻撃の不正な添付ファイルを検知して隔離し、フォーティネットのCDR(コンテンツ無害化)サービスがそれを無効化します。

FortiEDRは、添付された悪意ある実行ファイルとWarZone RATペイロードを、その振る舞いに基づいて「不正」として検知します。

これらの保護機能に加えて、フォーティネットはフィッシング攻撃の検知 / 理解に関するユーザートレーニングも支援します。

FortiPhishフィッシングシミュレーションサービスでは、実際の攻撃をシミュレーションし、フィッシングの脅威に対するユーザーの認識や備えをテストするほか、フィッシング攻撃を受けた場合の適切な対処方法を訓練および強化できます。

フォーティネットが無償で提供するNSEトレーニングプログラム:NSE 1 – 情報セキュリティ意識向上には、インターネットの脅威に関するモジュールが含まれ、エンドユーザーはフィッシング攻撃を識別して自らを保護する方法を学習できます。

IOC(Indicators of Compromise:侵害指標)

ファイル名

 sha256ハッシュ

Uj bejelentkezEsi adatai·pdf.exe

21d09c77de01cc95209727752e866221ad3b66d5233ab52cfe5249a3867ef8d8

KeyNormalize.dll

8b533ffaed24e0351e489b14aaac6960b731db189ce7ed0c0c02d4a546af8e63

Metall.dll

66319bf905acac541df26fecc90843a9a60fdbc1a8a03e33f024088f586cb941

<Warzoneサンプル>

27743b5b7966384cc8ef9cfef5c7a11c8b176123b84c50192926c08ab7e6d7d7

ネットワークアドレス

タイプ

171[.]22[.]30[.]72:5151

C2サーバー

ATT&CKフレームワークのTTP

Warzone RATのTTPの詳細については、https://attack.mitre.org/software/S0670/でご確認いただけます。