FortiGuard Labs 脅威リサーチ

ゲームアプリケーションを利用したWinos4.0の拡散

投稿者 Cara Lin | 2024年12月6日
  • Article Contents
投稿者 Cara Lin | 2024年12月6日

影響を受けるプラットフォーム: Microsoft Windows
影響を受けるユーザー:     Microsoft Windowsユーザー
影響:             侵害されたマシンの脅威アクターによる乗っ取り
深刻度:            

Winos4.0は、広範な機能と安定的なアーキテクチャを備え、多数のオンラインエンドポイントを効率的に制御してさらに次の攻撃を実行する、高度なマルウェアフレームワークです。Gh0stratの改造版であるWinos4.0には複数のモジュール型コンポーネントが含まれ、それぞれが異なる機能を実行します。Winos4.0は、Silver Foxをはじめ、さまざまな攻撃キャンペーンで配信されています。

FortiGuard Labsは複数のサンプルを入手し、このマルウェアがインストールツールやスピードブースター、最適化用のユーティリティなど、ゲーム関連のアプリケーションに隠されていることを突き止めました。デコードしたDLLファイルを解析した結果、ファイルの説明が「校园政务(キャンパス管理)」であることから、教育機関が標的にされていると推察されます。このブログでは、ゲームアプリケーションを利用してWinos4.0を配信する攻撃手法を詳しく分析していきます。

図1:攻撃チェーン

ゲームアプリケーション

初期アクセスを行うために、最適化やインストール用のゲーム関連アプリケーションが配布されます。

図2:悪意あるゲーム関連アプリケーション

被害者がこのアプリケーションを実行すると、ad59t82g[.]comサーバーから偽のBMPファイルがダウンロードされます。BMPファイルはXORでデコードされ、DLLファイル「you.dll」が抽出されます。このDLLがエクスポート関数「you」を介して読み込まれ、攻撃は次の段階に進みます。

図3:ダウンロードされた「lon2.bmp」

図4:XORでデコードされた「lon2.bmp」が「you.dll」を取得

第1段階:「you.dll」

このDLLファイルは実行環境を設定します。まず、前段階でも使用されたリモートパス「hxxp://ad59t82g[.]com/1/」から3つのファイルをダウンロードします。そして、ランダムな名前を付けたフォルダを「C:\Program Files (x86)」に作成します。「text.bmp」を「t3d.tmp」、「d.bmp」を「t4d.tmp」、「t2.bmp」を「t5d.tmp」という名前にそれぞれ変更し、このフォルダに保存します。

図5:ランダムな文字列でフォルダを作成

次に、パスワード「lalala123%」を使って「t3d.tmp」を解凍し、「u72kOdQ.exe」、「MSVCP140.dll」、「VCRUNTIME140.dll」という3つの無害なファイルを取得します。さらに、XORキー「0x67080000」を使用して「t4d.tmp」をデコードし、メインの不正ファイル「libcef.dll」を取得します。解凍された3つのファイルは、「libcef.dll」を読み込んでシェルコードを注入するために使用されます。DLLファイルには「学籍系统」という名前が付けられています。これは「学生登録システム」を意味し、脅威アクターが教育機関を標的にしていることを示唆しています。

図6:解凍されたファイルとXORでデコードされたファイル

図7:libcef.dll

続いて、「Q360SafeMonClass」というクラス名を持つウィンドウの有無を確認します。該当するウィンドウが見つからない場合は、永続性の設定に進みます。そのために、レジストリキー「SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN」に実行ファイル「u72kOdQ.exe」を追加し、「WINDOWS」という名前を付けます。

図8:追加されたレジストリ

「Shell32」ライブラリを読み込み、「ShellExecuteA」を呼び出してu72kOdQ.exeを実行します。

図9:アプリケーション「u72kOdQ.exe」の実行

ウィンドウ「Q360SafeMonClass」がある場合は、スケジュール済みタスクの設定に移ります。エンコードされたもう一つのファイル「hxxp://ad59t82g[.]com/1/h[.]bmp」をダウンロードします。これをXORでデコードし、MSILファイルを取得します。ここにはBase64でエンコードされたコマンドが埋め込まれています。デコードされたコマンドの目的は、「Window Defender Uqdata」というスケジュール済みタスクの作成です。このタスクは、現在時刻から1分後に所定のコマンドを実行します(「u72kOdQ.exe」の実行)。これは1分間隔で繰り返され、必要に応じて最大3回リスタートするよう設定されています。このタスクは最大権限(RunLevel 1)で実行されます。

図10:XORでデコードされた「h.bmp」

図11:Base64でデコードされたコマンド

永続性の設定後、悪意あるDLL「libcef.dll」はXORキー「0x67080000」を使って「t5d.tmp」をデコードします。そして、抽出したシェルコードを注入し、侵害された環境内での攻撃準備を整えます。

図12:XORでデコードされた「t5d.tmp」とシェルコードの注入

第2段階:シェルコード

図13に示すように、このシェルコードは動的にAPIを読み込みます。

図13:解決されたAPI

シェルコードは、マーカー文字列「codecode」を検索してコンフィギュレーションデータを取得します。旧バージョンでは「codemark」が使用されていましたが、こちらに変更されました。

図14:「codecode」のデータ

図15:コンフィギュレーションデータ

Winos4.0はC2アドレス「202[.]79[.]173[.]4」とポート80を取得し、TCPプロトコル(t1:1)を使用して接続を確立します。そして、モジュールをダウンロードするためC2に「x32」を送信します。これは被害者のチェックインに使用されます。ダウンロードされたモジュールは、サイズが0x4B00Eの暗号化データで構成されています。

図16:C2から取得したX32オンラインモジュール

このデータは、キー値0x2Bを使用した単純なXOR演算で復号されます。復号された32ビットモジュールは「上线模块.dll」です。このモジュールが実行され、攻撃は次の段階に進みます。

図17:オンラインモジュール(上线模块)のエクスポートテーブル

以下のセクションで説明するモジュールは、すべてWinos4.0のコンポーネントです。これらのモジュールは、サーバーへのログインやチェックインなどのオンライン機能をサポートします。また、C2コマンドの取得やモジュールのダウンロードも可能です。

第3段階:上线模块.dll

このモジュールはまず、関数を呼び出して、レジストリキーの値「HKEY_CURRENT_USER\\Console\\IpDate」が有効かどうかを確認します。この値は、後でC2からダウンロードされる後続のペイロード内のメインサーバーアドレスを更新するために使用されます。

図18:コンフィギュレーションデータの更新

C2サーバーに到達可能であることを確認したら、エンコードされたデータをC2からダウンロードします。このデータをXORでデコードし、結果をレジストリ「HKEY_CURRENT_USER \\Console\\0\\ d33f351a4aeea5e608853d1a56661059」に保存します。

図19:ログインモジュールの取得(キー0x2b181a012b2b2b2b2bf5)

図20:レジストリへのログインモジュール(登录模块)の保存

次の段階で使用するモジュールが構成されると、C2サーバーのアドレス情報がレジストリキー「HKEY_LOCAL_MACHINE\\SOFTWARE\\IpDates_info」に保存されます。

図21:レジストリに保存されたC2情報

図22:メモリの書き込みとスレッドの再開

最終段階:登录模块.dll

このモジュールは、情報収集と環境チェックを行うほか、コアなバックドアとして動作します。以下のような機能が含まれています。

  • クラッシュリスタートを有効にする(SetUnhandledExceptionFilter)。
  • クリップボードを記録するための新しいスレッドを作成する。
図23:クリップボードデータの取得
  • ウィンドウのタイトルバーのテキストを確認する。システムモニタリングに関連する次のソフトウェアの有無を確認します:「流量」、「ApateDNS」、「Malwarebytes」、「TCPEye」、「TaskExplorer」、「CurrPorts」、「Port」、「Metascan」、「Wireshark」、「任务管理器」、「资源监视器」、「网络分析」、「Fiddler」、「火绒」、「Capsa」、「Sniff」、「Process」、「提示符」
図24:システムモニタリングに関連するアプリケーションの確認
  • システム情報を収集する。IPアドレス、コンピュータ名、オペレーティングシステム、CPU、ディスク、ネットワークカード、ディレクトリ名、時刻などのホスト情報を収集します。
図25:システム情報の収集
  • 暗号ウォレット拡張機能を確認する。Chromeの拡張機能である暗号ウォレットのフォルダ(OKX Wallet、MetaMask)の有無を確認します。フォルダの存在を確認したら、関連する情報を収集し保続します。
図26:特定のChrome拡張機能の取得
  • アンチウイルスアプライアンスの有無を確認する。実行中のプロセスを取得し、次の実行ファイルの名前と一致するかどうかを確認します:360Safe.exe, 360Tray.exe, 360tray.exe, ZhuDongFangYu.exe, 360sd.exe, kxetray.exe, KSafeTray.exe, kscan.exe, kwsprotect64.exe, kxescore.exe, QQPCRTP.exe, QMDL.exe, QMPersonalCenter.exe, QQPCPatch.exe, QQPCRealTimeSpeedup.exe, QQPCTray.exe, QQRepair.exe, HipsTray.exe, HipsMain.exe, HipsDaemon.exe, BaiduSd.exe, baiduSafeTray.exe, KvMonXP.exe, RavMonD.exe, QUHLPSVC.EXE, mssecess.exe, cfp.exe, SPIDer.exe, acs.exe, V3Svc.exe, avgwdsvc.exe, f-secure.exe, avp.exe, avpui.exe, Mcshield.exe, egui.exe, knsdtray.exe, TMBMSRV.exe, avcenter.exe, ashDisp.exe, rtvscan.exe, remupd.exe, vsserv.exe, PSafeSysTray.exe, ad-watch.exe, K7TSecurity.exe, and UnThreat.exe.
  • ログインメッセージを送信する。環境情報のデータをXORキーでエンコードし、C2サーバーに送信します。
図27:エンコードしたシステム情報をC2に送信
  • ハートビートによってC2サーバーとの接続を維持し、次のコマンドを待機する。

我々は今回の攻撃で、レジストリキー「HKEY_CURRENT_USER\\Console\\0Console\\0」に保存される2つのプラグインをC2サーバーから取得しました。これらのモジュールは、スクリーンショットの取得と文書管理に特化して設計されています。C2サーバーから指令を受信すると、2つのプラグインは侵害されたシステムから文書をアップロードします。これにより、攻撃者は機密情報を収集し、ユーザーの操作を密かに監視できるようになります。

図28:すべてのモジュールが保存されたレジストリ

図29:画面キャプチャ用のモジュール

図30:文書管理用のモジュール

結論

Winos4.0は、Cobalt StrikeやSliverとよく似た強力なフレームワークで、多数の機能を備え、侵害したシステムを容易に制御できます。この攻撃では、ゲーム関連のアプリケーションを利用して、被害者が警戒することなくマルウェアをダウンロードして実行するよう誘導し、システムを広範囲に制御します。インジェクションを実行するために、攻撃チェーン全体に多数の暗号化データとC2通信が組み込まれています。ユーザーは新しいアプリケーションの発信元を必ず確認し、正規の発信元からのみソフトウェアをダウンロードすることが求められます。

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

FortiGuardアンチウイルスは、このブログで解説したマルウェアを以下の不正プログラムとして検知しブロックします。

W32/Agent.HUJ!tr.dldr
W32/Agent.NJD!tr
Data/Agent.3A23!tr
W32/Agent.501F!tr
MSIL/Agent.93AB!tr
W32/Agent.DCO!tr
W32/Agent.SS!tr

FortiGate、FortiMail、FortiClient、FortiEDRは、FortiGuardアンチウイルスサービスをサポートしています。これらの各ソリューションには、FortiGuardアンチウイルスエンジンが含まれています。したがって、最新の保護機能を備えたこれらの製品をお使いのお客様は、脅威から保護されています。

FortiGuard Webフィルタリングサービスは、C2サーバーとダウンロードURLをブロックします。

フォーティネットでは、無料でご利用いただけるNSEトレーニングモジュール:Fortinet Certified Fundamentals(FCF)もお勧めしています。このモジュールでは、エンドユーザーがフィッシングキャンペーンを識別し、自分自身を守る方法を習得できます。

FortiGuard IPレピュテーションおよびアンチボットセキュリティサービスは、フォーティネット分散ネットワークから入手した不正送信元IPデータを集約し、攻撃をプロアクティブにブロックします。この分散ネットワークでは、脅威センサー、CERT、MITER、協力関係にある他社、その他のグローバルソースが連携し、悪意ある送信元に関する最新の脅威インテリジェンスを提供しています。

組織がWinos4.0やその他のサイバーセキュリティ攻撃を受けていると思われる場合は、フォーティネットのグローバルFortiGuardインシデントレスポンスチームまでご連絡ください。

IOC(Indicators of Compromise:侵害指標)

URL

hxxp://ad59t82g[.]com/1/lon2[.]bmp
hxxp://ad59t82g[.]com/1/text[.]bmp
hxxp://ad59t82g[.]com/1/d[.]bmp
hxxp://ad59t82g[.]com/1/t2[.]bmp
hxxp://ad59t82g[.]com/1/h[.]bmp

IPアドレス / ホスト名

ad59t82g[.]com
202[.]79[.]173[.]4

SHA256Hash

c9817d415d34ea3ae07094dae818ffe8e3fb1d5bcb13eb0e65fd361b7859eda7 NetDiagnotor.exe (天谕客户端检测工具)
284cf31ebb4e7dc827374934ad0726f72e7aaef49cadc6aa59d2a2ff672d3fe8 gpatchex.exe (梦幻西游更新程序)
b2a3aaf4eb4deb85462e1ee39c84caf2830091c1bff8014ad13147897b25e24c Duoyi (战盟安装程序)
b763d77b7aaa83d6c4a9e749cd3c7638127e755d3dc843b15b6c4afce1f468b5 劲舞团联合登录器.exe (窗口化)
dcdbc3b246233befa25b67909a01b835f1875f4047875ef13f1b801cd2da6fcd Duoyi (战盟安装程序)
3fae0495fd0acc7722c2482c0ef3c6ab9ee41acbcaac46a8933c7b36b8896378 crashreporter.exe
f41236ab5ceffc5379fcf444de358cbc6f67beb31d0e0fd3f7ed0f501eb740ff yxqxunyou.exe (英雄联盟优化)
80b1d6411e29e51e54f20f46856d31b28e087e9244693e65d022b680c4ba00ce 劲舞团联合登录器.exe (窗口化)
1a48347f5fc7c63cc03f30810f961133bd3912caf16ac403e11bc3491117181d manualupdate.exe (天谕手动更新工具)
8748bb7512f16f8122779171686abe0fa0060f1126298290e240457dc90d0aa7 MatRepair.exe (反恐行动客户端修复程序)
1354796b44239eef177431584848029161c232401a9580481dbfb5196465250e you.dll
bef32532923903b12f04b54dd06ec81661f706c3b1397bc77c45492db3919248 you.dll
033965f3063bc2a45e5bd3a57ffce098b9308668d70b9b3063f066df5f3e55dd you.dll
922512203c7b9fa67e8db2f588ff4945f63e20c4bc0aafccdba749a442808ace you.dll
04edb6585118d09205ee693a54249ed68ebbf68b3fc3d711d2aa0c815b7b3a23 shellcode
51c7f320b95a64bcff050da86c7884bb4f89a5d00073d747f0da7345c8a4501f 学籍系统.dll
ff0c28c81cd0afd78f78c79863c9f4c8afd9d3877a213dfc2dbb55360b7d93ab ConsoleApp2.exe
a27dc6e5aea0c3168117cfde2adb01f73f20881fc6485b768915216c46115064 差异屏幕.vll
8f0079a41a262536f502b4b57473effd6ab7955bc2d6e99e0910df18e990a9f6 文件管理.vll
37104f3b3646f5ffc8c78778ec5fdc924ebb5e5756cb162c0e409d24bedf406d 上线模块.dll (online module)
a30b68ed39c1517d10b747c2fcd7a72cb12dc8f434203243e7c50df0e56d17d0 登录模块.dll (login module)