正規のZoomインストーラーを装ってオープンソースのリモートアクセス型トロイの木馬(RAT)「Overlord」をmacOSおよびWindowsの両方に展開する、クロスプラットフォーム型のマルウェアキャンペーンが確認されました。
Jamfが報告したところによると、GoやRustを使ってクロスプラットフォーム対応を図ることが多いmacOSマルウェアの一般的な傾向とは異なり、今回のキャンペーンで使われた第1段階のダウンローダー(ZoomMeetingsという名前のmacOS ARM64 Mach-Oバイナリ)は、ランタイムを内部にバンドルした自己完結型の.NET 10シングルファイルアプリケーションとして構築されていました。
マルウェア除去サービス
.NETアセンブリはmacOS上であってもポータブル実行可能形式(PEフォーマット)を使用するため、研究者らはこのバイナリから34個の埋め込みDLLを抽出しました。そのうちの1つには、正規のZoomインストーラーを模したメタデータ(「Zoom Communications, Inc」)が偽装として付与されていました。
偽Zoomインストーラーが用いる.NETダウンローダー
VirusTotalで発見されたこの検体(SHA-256: 7a2318127cabf28552a8aeed14a8445c8f36fbda5e57d8b122cf6f1c6b51a52)は、静的なアンチウイルスエンジンでは検出されていませんでした。
コードはランダム化された識別子とbase64+XOR方式(キー0x94)を組み合わせて難読化されており、攻撃者のインフラ情報やペイロードURLを含む文字列を隠蔽していました。

このダウンローダーは.NETのRuntimeInformation APIを使ってOSとアーキテクチャを検出したうえで、cdn.zoom.com[.]kgからmacOS ARM64、macOS Intel、Windows x64のいずれかに応じたペイロードを取得します。各リクエストにはランダムに生成された6文字のトークンが含まれており、トークンを欠いたリクエストにはHTTP 401が返されます。
実行されると、マルウェアは第2段階のペイロードを/tmp/ZoomMeetingsに書き込み、親プロセスが終了しても生き残れるようバックグラウンド化したnohupプロセス経由で起動します。同時に、ペイロードの成否にかかわらず「Zoom Meetings Installed」と表示させる偽装を保つため、正規のZoomインストーラーも並行してダウンロードします。
第2段階は、オープンソースでWebSocketベースのクロスプラットフォームRATであるOverlordから構築されたMach-O ARM64バイナリで、GoReSymなどの解析ツールを無力化するgarble難読化を施してコンパイルされています。このビルドではC2としてhub.zoom.com[.]kg:5173がハードコードされており、TLS証明書検証は無効化(TLSInsecureSkipVerify: true)されています。

Overlordの機能には、キーロギング、画面・Webカメラのキャプチャ、マイクへのアクセス、ファイルシステムの完全な制御、プロセス管理、多言語スクリプト実行、ネイティブ/WASMプラグインローダー、自己アップデート、リモートデスクトップ配信、さらにオプションでSolanaブロックチェーンを利用したC2解決機能が含まれます。ただし今回の検体では、オンチェーン解決ではなくハードコードされたアドレスに依存していました。
LaunchAgentによる永続化はOVERLORD_ENABLE_PERSISTENCEフラグによって制御されており、主要な検体では発動していませんでしたが、2つ目の亜種では即座に発動し、~/Library/LaunchAgents/com.zoom.plistにLaunchAgentがインストールされていました。
Jamf Threat Labsの指摘によると、今回のマルウェアには、Contagious Interviewキャンペーンに関連する北朝鮮系マルウェアファミリー「FlexibleFerret」との重なりが見られ、同一のcom.zoomというLaunchAgentラベルを共有していたということです。
マルウェア除去サービス
Overlordは以前にも、Proofpointが北朝鮮の関与が濃厚とみているクラスター「UNK_DeadDrop」に関連するキャンペーンで確認されています。なお、Jamfは今回の特定のキャンペーンについて、いずれの攻撃者にも正式には帰属を認定していません。
今回のキャンペーンは、.NETがmacOSマルウェアのダウンローダーとして使われた初めての事例であり、脅威アクターがクロスプラットフォーム用ツールとして選ぶ選択肢に、GoやRustと並んで新たに加わった形です。Jamfは、同様のペイロードの実行をブロックするため、脅威防止機能とWeb保護機能の有効化を推奨しています。
IOC(侵害の痕跡)
| 種別 | 値 | 説明 |
|---|---|---|
| ドメイン | cdn.zoom.com[.]kg | 第2段階ペイロードのホスト。18.204.152[.]241に解決 |
| ドメイン | hub.zoom.com[.]kg | エージェントC2、ポート5173。18.204.152[.]241に解決 |
| ドメイン | dash.zoom.com[.]kg | 18.204.152[.]241に解決 |
| ドメイン | hub.zoom.com[.]lv | エージェントC2。以前は179.61.227[.]46に解決 |
| ファイルパス | /tmp/ZoomMeetings | ダウンローダーによって書き込まれる第2段階ペイロード |
| ファイルパス | ~/Library/Application Support/Overlord/com.zoom | Overlord亜種、自己インストール先パス |
| ファイルパス | ~/Library/LaunchAgents/com.zoom.plist | Overlord亜種、LaunchAgentによる永続化 |
| SHA-256 | 7a2318127cabf28552a8aeed14a8445c8f36fbda5e57d8b122cf6f1c6b51a522 | ZoomMeetings(.NETダウンローダー、難読化ビルド、macOS ARM64) |
| SHA-256 | d4cf150d6effeea315f136cdf448e32f4a8daac9e95f46def6a31ba18787dae3 | ZoomInstallerFull(.NETダウンローダー/ドロッパー、初期ビルド、macOS ARM64) |
| SHA-256 | b5f1a21dcd315676a4a9217a40ef830c159121528114c6436e671c2fa5455681 | a3d0b215f4541fbd0.dll(抽出されたペイロードDLL) |
| SHA-256 | 527f730d4ed6e9e23a971081f9e06691ac6e980bd06bb0b5f1091051d4631c5d | ZoomInstallerFull.dll(抽出されたペイロードDLL) |
| SHA-256 | 2c0bb97632bb9b90ee97be2ac350a557b08d84a7dad1f3ef63ffd83be1ab1f00 | ZoomMeetings(Overlord亜種、macOS ARM64) |
| SHA-256 | 9d8948e64f75c203e28f90f5bd7678dde6bd351c7507eecdaaeab2fbe4ec43bb | ZoomMeetings(Overlord亜種、macOS ARM64) |
| SHA-256 | 5334c468f0ffd5899a949ac3e0bc4665f80c658cb46e1a972df4e4ba0bb905f8 | ZoomMeetings(Overlord亜種、macOS x64) |
| SHA-256 | 7878031f2bd907e7300133b3e8ce640f3cdcba56686eaca3539d4c22773bc233 | ZoomMeetings(Overlord亜種、macOS ARM64) |
注記: IPアドレスおよびドメインは、誤って名前解決やハイパーリンク化されることを防ぐため、意図的に無害化表記(例: [.])にしています。再び有効な表記に戻す作業は、MISPやVirusTotal、SIEMなど管理された脅威インテリジェンス環境内でのみ行ってください。
ANY.RUNのブラウザ内データ検査機能で、検知・調査・対応をより迅速に。 フィッシングの可視性を完全に確保し、SOCを強化してMTTRを削減
安全なデータストレージ
翻訳元: https://gbhackers.com/fake-zoom-installer-uses-net-downloader/