目次 |
原文のブログはこちらからご覧いただけます。
自動アップデートの機能は、ソフトウェアベンダーが自社製品へのパッチ適用を自動化し、既知の攻撃やセキュリティの脆弱性を予防することに役立ちます。しかし近年、LuoYu グループの脅威アクターがこの一般的な機能を武器に変え、被害者のマシンを侵害するため悪用しています。
この攻撃者は、NSA の離反者として知られる Edward Snowden 氏によるリーク文書に記載された「Quantum Insert」、別名 Man-on-the-Side(MotS)攻撃の手法を採用しています。この手法は Android の人気メッセージングアプリ上での水飲み場攻撃と組み合わされ、WinDealer を含むマルウェアの展開のため利用されています。
この記事で解説するような攻撃はこのところ東アジアで確認されていますが、脅威グループ LuoYu は攻撃対象を拡大し、反体制派の情報を窃取するという明確な動機のもと、他国の中国語話者にも狙いを定めています。
オペレーティングシステム

リスクと影響

脅威グループ LuoYu の背景情報
LuoYu は中国に関連する高度な APT(持続的標的型攻撃)グループであり、2008 年から活動しています。TeamT5 社の研究者によって初めて確認され、その名がつけられました。LuoYu の悪意のある活動やキャンペーンは主に東アジアに限って行われ、これまでに香港、日本、韓国、台湾、中国が標的となっています。
TeamT5 社によると、LuoYu は中国を活動の中心としており、メッセージングアプリを介して中国の反体制派を狙うという明確な目的を持っています。また、このグループは米国、ロシア、欧州の中国語話者にも攻撃を仕掛けています。当初の攻撃対象は中国と東アジアのテクノロジー、メディア、教育業界に絞られていましたが、LuoYu はのちに金融、政府、軍事、通信、運輸など、他の業界にも手を広げています。
Fortinet 社は 2019 年、(当時は特定されていなかった)ある脅威グループによる、米国でホストされる中国語ニュースサイトを狙った新たな攻撃キャンペーンを明らかにしました。このキャンペーンでは「PPTV(pplive)_forap_1084_9993.exe」というバックドアアプリケーションが使用されていました。そしてこれとまったく同じファイルが、同一のファイル名とホスティング先が組み合わさった形で、Kaspersky 社による最新の調査結果にも現れていました。この調査では脅威が WinDealer と特定され、マルウェアを配信する脅威アクターとして LuoYu が挙げられています。同じファイル、ファイル名、ホスティング先が確認され、標的の性質もよく似ていることから、先の中国語ニュースサイトへの攻撃の背後には LuoYu の存在があった可能性が高いと考えられます。
LuoYu は現在、さまざまな方法で多種多様なマルウェアを展開しています。インフォスティーラ(情報窃取型マルウェア)である Demsty と SpyDealer もまた、LuoYu の水飲み場攻撃によって展開されています。水飲み場攻撃とは、特定のグループのユーザーを標的とし、そのグループのメンバーがアクセスすることが知られている Web サイトや、メンバーがアクセスしていることを脅威グループが秘密裏に把握している Web サイトへの感染を介して行われる攻撃です。たとえば、企業の従業員が自社の Web サイトに頻繁にアクセスし、定期的に競合他社の Web サイトにもアクセスするであろうことは容易に推測できます。そのため、このような Web サイトがブラウザーやその他のソフトウェアのゼロデイ脆弱性を介して侵害されることになります。
LuoYu の水飲み場攻撃では、侵害されたニュースサイトのほか、WeChat、WhatsApp、QQ、Weibo といった Android 向けの人気メッセージングアプリの悪意のあるバージョンが使用されます。これらの手口は 2019 年、香港の逃亡犯条例改正案の撤回を求めるデモに対する人々の関心につけ込み、反体制派の疑いのある人物から情報を窃取するために用いられていました。
業界の研究者は、LuoYu が MotS の手法で WinDealer マルウェアを配信する方法を追い続けています。この記事では、最新版の WinDealer マルウェアの詳細と、新たな感染経路における注目すべき追加事項について解析していきます。
新たな攻撃経路
現在の LuoYu は、MotS 攻撃の手法で正規アプリケーションの自動アップデート機能を狙うようになっています。攻撃者が接続元クライアントとその宛先の中間ノードとして位置する Man-in-the-Middle(MitM)攻撃とは異なり、MotS では攻撃者がクライアントとサーバー双方からの応答を直接制御します。つまり、脅威アクターは要求または送信された情報に直接手を加えたり、メッセージを削除したり、応答を完全に拒否したりすることができます。この 2 つの攻撃手法の違いは、攻撃者が情報の流れをどのように制御するかにあります。
MotS 攻撃の場合、攻撃者は通信路の内容を読み取ることができるだけで、サーバーとクライアントの間で送信されるパケットの変更や削除はできません。この手法の狙いは、通信路上で正規のサーバー応答が返されるよりも前にメッセージを送信することです。このとき、正規のサーバー応答の先を越すためには攻撃者がタイミングを正確に計らなければなりません。
ここで自動アップデート機能が関わってきます。自動アップデートでは、ホスト側のソフトウェアに対する新しいアップデートを確認する目的で、サーバーへの要求が繰り返し送信される傾向があります。アプリケーションがこのように動作すると、攻撃者にとっては、侵害されたメッセージをクライアントに返す「競争」に勝つチャンスが増えます。自動アップデート機能が狙われやすくなっているのは、このような理由からです。
MotS 攻撃は Quantum Insert とも呼ばれています。これは 2014 年に Edward Snowden 氏がリークした NSA の文書で使用されていた用語で、攻撃手法自体は 2005 年から実用化されています。
技術的解析
WinDealer が正しく機能するためには、以下の 2 つのポータブル実行可能(PE)ファイルが必要です。いずれもホスト側の実行可能ファイル内で実行されます。
- メインの実行可能ファイル(SHA256:08530e8280a93b8a1d51c20647e6be73795ef161e3b16e22e5e23d88ead4e226)
このファイルは初期設定を行った後、埋め込まれたライブラリを復号します。 - 第 2 段階の実行可能ファイル(SHA256:aa7a43b30025e849a9912c873fb0225e8354fc895533fd8136af8379902aea27)
このファイルはリソースセクションのビットマップ(BMP)イメージの姿をしており、システムのメモリ上に読み込まれます。
これらのファイルは、以下に示す WinDealer の機能を実行するために使用されます。
- ファイルの操作
- レジストリの操作
- スクリーンショットの撮影
- プロセスの列挙
- ホスト環境の情報収集
- データの抜き出し
- キー操作の取得
- コマンドアンドコントロール(C2)用バックドアの設置
メインの実行可能ファイルは 32 ビットの Microsoft Visual C++ でコンパイルされたアプリケーションで、パック処理はされていません。このファイルは、商標である青い小文字の「e」アイコンに丸い金色の輪がついているなど、Microsoft 社の Internet Explorer を装っています。
ファイルの説明にある著作権情報には、著作権が「Mozille Developers」に属すると記載されています。このファイル自体は署名されておらず、図 1 に示すように、元のファイル名は「explorer.exe」となっています。

図 1 - メインの実行可能ファイル(SHA256:08530e8280a93b8a1d51c20647e6be73795ef161e3b16e22e5e23d88ead4e226)の詳細情報
実行されると、WinDealer はまず、 getenv() コマンドで被害者のマシンのユーザープロファイルを照会します。そして環境変数が見つかると、被害者を一意に識別するためのハッシュ値(識別子)を生成します。
この識別子はその後 CreateMutexA に渡され、名前つきミューテックスオブジェクトと共有リソースの両方として使用されます。ミューテックスは同期オブジェクトの一種で、複数のスレッドが 1 つのオブジェクトに同時にアクセスすることを防ぎます。これにより、2 つのスレッドが同時にデータを変更しようとするといった競合状態が回避できます。
ミューテックスに加えて、一意の識別子はレジストリ「\CurrentVersion\Internet Settings\5.0\User Agent\」にも保存されます。このキーは、アクセス先のサーバーホストサイトに対してブラウザーを識別させるために使用されます。
被害者の識別に用いるハッシュ値は MD5 形式で、システムの MAC アドレス、物理ドライブ情報、ユーザー名の組み合わせを基に生成されます。こうして生成される識別子は、下の図 2 に示す逆コンパイル結果でも確認できます。
WinDealer はホストマシンの「\SOFTWARE\Microsoft\CurrentVersion\Run\」キーを編集し、永続性を確保します。このレジストリキーはユーザーがシステムにログオンした際に読み込まれ、「firebrow.exe」というアプリケーションを実行します。
また、WinDealer にはバージョンを示す文字列がハードコードされています。今回解析したサンプルはバージョン「18.20.1225」でした。末尾の 4 桁の数値は作成日を示しており、今回の場合は 12 月 25 日です。中央の数値は 2 桁の年号で、2020 年となります。先頭の数値はこのバージョンの WinDealer のイテレーション番号であると考えられます。
図 2 - ミューテックスの生成とレジストリキーの操作を行う関数
ミューテックスを生成して永続性を確保した後、WinDealer は「C:\ProgramData\」フォルダーに 3 つのファイルを作成します。ファイル名は 1c76cbfe、923b5fd7、f46d373b で、WinDealer が C2 を構成する際に使用されます。以下の図 3 に示すように、構成設定には RemoteIP、RemoteDomain、Password、および構成用の変数 Remark があります。サーバーから受信した構成設定は前述の 3 つのファイルに保存されます。

図 3 - RemoteIP、Remark、RemoteDomain、Password を構成するコード
続いて、3 つのフォルダーが「C:\User\[hostname]\AppData\Local\Temp\」ディレクトリに作成されます。フォルダーは 8e98-fb8010fb、070a-cf37dcf5、28e4-20a6acec と名付けられ、標的のホストから窃取した情報を抜き出すために使用されます。
フォルダー 8e98-fb8010fb には、C:/、Program Files(x86)、OneDrive、Boot、Recycle Bin のディレクトリ情報のログがテキストファイルとして保存されます。フォルダー 070a-cf37dcf5 には 16 進数からなる「.S」ファイルがありますが、現時点ではこの .S ファイルの用途は不明です。
フォルダー 28e4-20a6acec には拡張子「.A」を持つ複数のファイルがあります。これらのファイルは鍵「YYYY」を用いた XOR で内容が難読化されており、この鍵でビット単位の XOR を計算すると .A ファイルの内容が復号できます。このディレクトリには 5 つの .A ファイルがあり、各ファイルはホストから抽出された特定のデータを含んでいます。.A ファイルが含むデータには、実行中のプロセスツリー、アダプタ情報、キー入力、ディスク情報、およびローカルエリアネットワークの構成などがあります。このうち、プロセスツリーを含むファイルを復号した結果を図 4 に示します。

図 4 - プロセスツリーを含むファイルを鍵「YYYY」で復号した結果
これらのデータをサーバーに抜き出すため、WinDealer は rand() を用いて通信用のランダムな IP アドレスを生成します。図 5 に示すように、アドレスの生成は 113[.]62[.]0[.]0 ~ 113[.]63[.]255[.]255 と 111[.]120[.]0[.]0 ~ 111[.]123[.]255[.]255 の範囲内で行われます。なお、この IP アドレスは利用可能な構成設定が存在しない場合に生成されます。

図 5 - IP アドレス生成関数のコードスニペット
IP アドレスの生成に加えて、今回解析したサンプルは存在しない URL である www[.]microsoftcom と icanhazip[.]com への接続も試みていました。また、これらの DNS クエリに紛れて、104[.]18[.]115[.]97 と 104[.]18[.]114[.]97 のいずれかからポート 80 への TCP/IP 接続も行われています。さらに、中国でホストされる ISP への接続もあり、その接続先は 122[.]112[.]245[.]55 のポート 6999 となっています。この通信のトラフィックを図 6 に示します。

図 6 – 中国でホストされる ISP へと向かうポート 6999 上の UDP トラフィック
IP アドレスを生成して接続を確立した後、WinDealer はホストからデータを抜き出す処理を開始します。
このとき、WinDealer は「\Microsoft\Windows\CurrentVersion\Internet Settings」のレジストリ値 ProxyEnable と ProxyServer にも修正を加えています。これらのキーはいずれも Windows デバイスからのプロキシ接続を補助するためのものです。
この処理を終えると、WinDealer は AppData\Local\Temp 内のファイルに保存されている被害者の情報を抽出し始めます。.A ファイルの内容は XOR 処理の後パケット化され、WinDealer が実行時に構成した IP アドレスへと送信されます。図 7 は、一部の情報を抜き出すための関数と、抜き出し対象となる情報のリストを示しています。

図 7 - GetComputerName、UserProfile、CPU、Kernel32、およびネットワーク関連の関数呼び出し
このマルウェアには、検知を回避するためのステガノグラフィ技術を用いた DLL が埋め込まれています。ステガノグラフィとは、データを他のメッセージやオブジェクトの中に隠す手法です。今回の場合、実行可能ファイルのリソースセクションに格納されたビットマップイメージがこのオブジェクトに該当します。
このビットマップイメージ、つまり埋め込まれた DLL は、10 バイトの鍵を用いて XOR 処理されています。DLL が復号されると、GetProcAddress、LoadLibraryA、VirtuallAlloc が呼び出され、ライブラリがメモリ上に読み込まれます。関数呼び出しが目立たないよう、ライブラリの読み込みに関するコードは文字配列として構築され、16 進数で表記されています。図 8 は、ビットマップの .RSRC セクション、ライブラリを XOR 処理する関数呼び出しの逆コンパイル結果と、ライブラリを XOR 処理する関数のコードスニペットを示しています。

図 8 - 埋め込まれた DLL のビットマップと XOR 関連の関数
WinDealer は実行可能ファイルと DLL を組み合わせて使用し、C2 サーバーへの接続とデータの抜き出しを行います。読み込まれたライブラリは、データの窃取、ホストへのアクセス設定、被害者のデータを抜き出すためのスレッド生成に使用されています。
復号された DLL(SHA256:aa7a43b30025e849a9912c873fb0225e8354fc895533fd8136af8379902aea27)は「MozillaDll.dll」という名前で、AutoGetSystemInfo、GetConfigInfo、partInitOpt の 3 つの関数をエクスポートしています。
エクスポート関数 AutoGetSytemInfo は、被害者から情報を抜き出す処理を補助します。この関数は被害者のシステムを検索し、人気のチャットアプリケーションで使用されるレジストリキーや構成ファイルの有無を調べます。標的となるアプリケーションは、WeChat、WangWang、および Microsoft 社の Skype メッセンジャーです。
また、「My Documents」フォルダーのディレクトリ情報やその他のユーザー固有のコンテンツもログファイルに書き込まれ、同様に抜き出されます。このフォルダーで見つかるすべての情報は AppData\Local\Temp ディレクトリに書き込まれた後、攻撃者へと送信されます。図 9はAutoGetSystemInfo の逆アセンブル結果と、逆コンパイルから得た呼び出し元関数を並べて表示したものです。

図 9 - AutoGetSystemInfo が WeChat と MyDocuments を標的としている様子(左)と呼び出し元関数(右)
エクスポート関数 partInitOpt には、マルウェアの C2 関連の組み込み機能が含まれています。これらのコマンドにより、実行可能ファイルがホストの構成データを取得して攻撃者に送信できるようになります。利用できるコマンドには、セッションの変更、任意の USB ドライブの表示、セッションタイプの監視、ファイル名の変更、ディスク情報の取得などがあります。図 10 に示すように、このコマンドセットは実行可能ファイルとドロップされたライブラリの双方に分割されています。

図 10 - 実行可能ファイルとライブラリに分割された C2 機能のコマンドセット(左:実行可能ファイル「explorer.exe」、右:「MozillaDLL.dll」)
エクスポート関数 GetConfigInfo は、マルウェアの構成を取得するために使用されます。ホスト側の実行可能ファイルによって設定されたコードデータをコピーする機能と、作成済みの構成ファイルの情報に基づいて構成設定を行う機能が含まれています。なお、構成設定はマルウェアの C2 関連機能による接続を介して行うこともできます。
まとめ
WinDealer は Windows ベースのマルウェアであり、2 つの実行可能ファイルに機能を分割しています。片方はトロイの木馬の .EXE ファイルで、インストールとネットワーク構成、および C2 コマンドの一部を担っています。実行時にドロップされる暗号化済みの DLL は、構成設定と大部分のデータ抽出、および C2 コマンドの残りの部分を担っています。WinDealer は窃取したデータを XOR で処理した後、ポート 6999 の TCP 接続を介して外部に送信します。
この脅威を背後で操るグループの LuoYu は、MotS 攻撃を採用し、通信路にアクセスできるあらゆる標的に対して WinDealer を配信しようとしています。このグループは自動アップデート機能を狙うことで、被害者から潜在的な機密データを抜き出すことに成功するまで攻撃を持続させます。
現在では正規のアプリケーションの多くがデフォルトで自動アップデート機能を有効化しているため、この種の攻撃は今後ますます頻繁に行われる恐れがあります。また、このように巧妙で複雑な攻撃を持続的かつタイムリーに実施できる他の高度な APT グループにとっても、自動アップデート機能は格好の標的となる可能性があります。
主な標的
WinDealer は APT グループ LuoYu と関連しているため、中国本土の標的に展開されることがほとんどです。時には米国、ロシア、インドといった他の国でも感染が起きる可能性もあります。中国国外での感染事例では、中国語話者の個人が標的となっている場合が多いと考えられます。影響を受ける業界としては、テクノロジー、メディア、教育、政府、通信、運輸などが挙げられます。
被害軽減のためのヒント
- リモートターミナルセッションの IP トラフィックを監視します(https://d3fend.mitre.org/technique/d3f:RemoteTerminalSessionDetection/)。
- 抽出されたファイルの IP トラフィックを監視します(https://d3fend.mitre.org/technique/d3f:FileCarving/)。
- WinDealer が生成する IP アドレスからのトラフィックとすべての接続試行に対し、フィルターを適用します(https://d3fend.mitre.org/technique/d3f:ConnectionAttemptAnalysis/)。
YARAルール
以下の YARA ルールは、この記事で説明した脅威を捕捉するために BlackBerry の Research & Intelligence Team が作成しました。
rule Windealer_executable{
condition: |
侵入の痕跡(IOC)
Explorer.exe - 08530e8280a93b8a1d51c20647e6be73795ef161e3b16e22e5e23d88ead4e226 MozillaDLL.dll - aa7a43b30025e849a9912c873fb0225e8354fc895533fd8136af8379902aea27 |
参照資料
LuoYu: The Eavesdropper Sneaking in on Multiple Platforms(LuoYu:複数のプラットフォームに忍び込む盗聴者) (PDF)
Malware WinDealer Used by LuoYu Attack Group(攻撃グループ LuoYu が使用するマルウェア WinDealer)
LuoYu: Continuous Espionage Activities Targeting Japan With the New Version of WinDealer in 2021(LuoYu:新型 WinDealer を用いた日本を狙う 2021 年のスパイ活動) (PDF)
WinDealer Dealing on the Side(側面からの攻撃を仕掛ける WinDealer)
Tricky Chinese-Targeted Trojan Bypasses Authentication(中国を狙う巧妙なトロイの木馬による認証回避の手口)
BlackBerry によるサポート
もし WinDealer のような脅威にさらされているなら、BlackBerry にお任せください。現在 BlackBerry 製品を利用していなくても問題ありません。
BlackBerry のインシデント対応チームは、世界的に活躍するコンサルタントから構成され、ランサムウェアや持続的標的型攻撃(APT)など、さまざまなインシデントへの対応と封じ込めのサービスを専門としています。
弊社はグローバルコンサルティングチームを常に待機させており、ご希望があれば、24 時間サポートと現地支援を提供できます。次の URL からご相談ください。 https://www.blackberry.com/ja/jp/forms/enterprise/contact-us
参考ブログ
- ウクライナ情勢につけ込む中国の攻撃者たちによる新たなバックドア
- 中国APTグループ間のコネクション・マッピング(英語)
- BlackBerry、APTによるLinuxサーバーの脆弱性に関する調査を報告(英語)
- 中国のサイバー戦争はウイグル族をターゲットにしている(英語)
- スパイ活動やマルウェアなどに役立つSteganography(英語)
- お問い合わせ:https://www.blackberry.com/ja/jp/forms/enterprise/contact-us
- サイバーセキュリティチームによるコンサルティング: https://www.blackberry.com/ja/jp/services/blackberry-cybersecurity-consulting/overview
- BlackBerry Japan:https://www.blackberry.com/ja/jp
- FaceBook(日本語): https://www.facebook.com/watch/BlackBerryJPsec/
- Twitter(日本語): https://twitter.com/BlackBerryJPsec
- LinkedIn: https://www.linkedin.com/company/blackberry/
- Youtube(日本語): https://www.youtube.com/channel/UCT2VHYwfUVC4V0AnkVZ2QIg/videos