はじめに
広範な精査と公開報告にもかかわらず、商用監視ベンダーは支障なく事業を続けています。傭兵スパイウェアの世界で繰り返し浮上する有名な企業がIntellexaです。「Predator」スパイウェアで知られるこの企業は 米国政府によって制裁されました。Google脅威インテリジェンスグループ(GTIG)の新しい分析では、Intellexaが 制限を回避し、繁栄していることが明らかになっています。
Intellexaは適応し、制限を回避し、最高入札者にデジタル兵器を売り続けています。Recorded FutureとAmnestyの同僚による研究と並行して、このブログ投稿ではIntellexaの最近の活動を明らかにし、監視ツールの実世界への影響を示し、この業界に対して私たちが取っている行動の詳細を述べます。
ゼロデイ脆弱性の豊富な悪用が続く
過去数年間、Intellexaはモバイルブラウザに対するゼロデイ脆弱性を悪用する最も多作なスパイウェアベンダーの一つ、いや最も多作なベンダーとしての地位を確立しています。セキュリティ研究者とプラットフォームベンダーによる欠陥を特定してパッチを当てる一貫した努力にもかかわらず、Intellexaは新しいゼロデイエクスプロイトを確保または開発する能力を繰り返し実証し、顧客向けに迅速に適応して事業を続けています。
Intellexaは、Googleの脅威分析グループ(TAG)、現在はGTIGの一部である企業が長年にわたって特定した多数のゼロデイ脆弱性の責任を負っています。例として、2021年以降にTAGが発見・文書化した約70のゼロデイ脆弱性のうち、Intellexaはリモートコード実行(RCE)、サンドボックスエスケープ(SBX)、ローカル権限昇格(LPE)脆弱性を含む15個のユニークなゼロデイを占めています。これらのゼロデイはすべて各ベンダーによってパッチが当てられています。ゼロデイの悪用開発に加えて、Intellexaが外部エンティティからエクスプロイトチェーンのステップを購入しているという証拠がますます見られます。
|
CVE |
役割 |
ベンダー |
製品 |
種類 |
説明 |
|
SBX+LPE |
|
Android |
メモリ破損 |
Android RuntimeのUse-After-Free |
|
|
RCE |
|
Chrome |
メモリ破損 |
V8の型の混乱 |
|
|
RCE |
Apple |
iOS |
メモリ破損 |
WebKit JIT RCE |
|
|
SBX+LPE |
Apple |
iOS |
メモリ破損 |
カーネルIPCのUse-After-Free |
|
|
LPE |
Apple |
iOS |
コード署名のバイパス |
コード署名のバイパス |
|
|
LPE |
ARM |
Mali |
メモリ破損 |
不適切なGPUメモリ処理操作 |
|
|
RCE |
|
Chrome |
メモリ破損 |
V8の型の混乱 |
|
|
RCE |
|
Chrome |
メモリ破損 |
V8の型の混乱 |
|
|
SBX |
|
Skia |
メモリ破損 |
Skia SKSLの整数オーバーフロー |
|
|
RCE |
|
Chrome |
メモリ破損 |
V8の使用後解放 |
|
|
RCE |
|
Chrome |
メモリ破損 |
V8の不適切な実装 |
|
|
RCE |
|
Chrome |
ロジック/設計上の欠陥 |
Intentsの信頼できない入力の検証不足 |
|
|
SBX |
|
Chrome |
メモリ破損 |
memory_instrumentationの情報漏洩 |
|
|
SBX |
|
Chrome |
メモリ破損 |
PortalsのUse-after-free |
|
|
SBX+LPE |
|
Android |
メモリ破損 |
ep_loop_check_procの使用後解放 |
表1: 2021年以降のIntellexaに関連するゼロデイ
エクスプロイトチェーン
提携して、Citizen Labの同僚と2023年に、エジプトのターゲット に対して実際に悪用されていた完全なiOSゼロデイエクスプロイトチェーンをキャプチャしました。Intellexaが開発したこのエクスプロイトチェーンは、Predatorとして公に知られているスパイウェアをデバイスに秘密裏にインストールするために使用されました。メタデータによると、Intellexaはこのエクスプロイトチェーンを内部で「smack」と呼んでいました。
最初のステージ: JSKitフレームワークのデジャヴ
エクスプロイトチェーンの初期ステージは、Appleが CVE-2023-41993 として修正したSafari RCEゼロデイでした。エクスプロイトは「JSKit」と内部で呼ばれるフレームワークを活用していました。レンダラーの脆弱性のおかげで任意のメモリ読み取り・書き込みプリミティブが実現されると、この場合はCVE-2023-41993、フレームワークは最新のAppleデバイスでネイティブコード実行を実行するために必要なすべてのコンポーネントを提供します。
Intellexaは2021年以降、他の監視ベンダーと政府支援の攻撃者によって使用されているのと同じJSKitフレームワークが見られているため、外部エンティティからiOS RCEエクスプロイトを取得したと考えられます。2024年、ロシア政府支援の攻撃者がモンゴル政府ウェブサイトに対するウォーターホール攻撃で、この同じiOSエクスプロイトとJSKitフレームワークを使用しているキャンペーンについて公に報告しました。2022年にCVE-2022-42856を悪用する際に同じフレームワークを使用する別の監視ベンダーを含む、他のキャンペーンでも使用されているのが見られています。
JSKitフレームワークはよく保守され、幅広いiOSバージョンをサポートしており、異なるポインタ認証コード(PAC)バイパスとコード実行技法をサポートするのに十分なモジュール性を持っています。フレームワークはメモリ内のMach-Oバイナリを解析してカスタムシンボルを解決でき、最終的にはMach-Oバイナリをメモリから直接手動でマップして実行することができます。さらに、JSKitフレームワークは非常にロバストで、エンジニアリングもしっかりしており、悪用プロセスの各ステップは慎重にテストされています。現在まで、Androidのような同様のフレームワークは見られていません。

図1: シェルコード実行のテストと検証の例
Intellexaが使用したエクスプロイトは、RCEエクスプロイトのエントリーポイントのデバッグ文字列に従うと、内部的には「エクスプロイト番号7」として追跡されていたようです。これは、エクスプロイトを提供する外部エンティティがおそらく幅広いバージョンをターゲットとする大量のiOSエクスプロイトを所有していることを示唆しています。

図2: 複数のiOSエクスプロイトを示唆するデバッグ文字列
Chrome悪用に関しては、IntellexaはレンダラーからTheHoleマジックオブジェクトをリークできる任意の脆弱性からコード実行を得るために必要なすべての機能を備えたカスタムフレームワークを使用しています。彼らは最初にこのフレームワークをCVE-2021-38003で使用し、次にCVE-2023-4762、CVE-2023-3079、CVE-2023-2033で使用し、最近2025年6月にサウジアラビアで観察されたCVE-2025-6554で使用しました。この最新のCVE-2025-6554は、ChromeのV8エンジンの型の混乱エラーでした。Chromeは設定変更で全Chromeユーザーに対する問題を迅速に軽減し、その後バージョン138.0.7204.96でバグを修正しました。これらのCVEはすべてTheHoleオブジェクトをリークするために使用できるV8の脆弱性です。
後続ステージ: ヘルパーの監視
第2ステージはチェーンの最も技術的な部分であり、その機能のすべてを説明するには別のブログ投稿全体が必要になるでしょう。本質的に、このステージはSafariサンドボックスを破壊し、カーネル脆弱性CVE-2023-41991およびCVE-2023-41992を悪用して信頼できない第3ステージペイロードをシステムとして実行する責任があります。この第2ステージは第1ステージと通信してプリミティブの一部(例えば、PACバイパス)を再利用し、第3ステージにカーネルメモリ読み取り/書き込み機能を提供します。
第3ステージ(GTIGによってPREYHUNTERとして追跡)は、私たちがキャプチャした最後のステージであり、「helper」と「watcher」と呼ばれる2つのモジュールで構成されています。
watcherモジュールは、主に感染デバイスが疑わしい動作を示さないことを確認します。そのような動作が検出された場合、通知が生成され、悪用プロセスが終了します。このモジュールはクラッシュの監視も担当しています。
以下の動作が検出されます:
-
security.mac.amfi.developer_mode_status経由の開発者モード -
diagnosticd経由でコンソールが接続されている
-
電話にUS またはILロケールが設定されている
-
Cydiaがインストールされている
-
Bash、tcpdump、frida、sshd、またはcheckrainプロセスが現在電話上で実行されている
-
McAfee、AvastMobileSecurity、またはNortonMobileSecurityが電話にインストールされている
-
カスタムHTTPプロキシ設定
-
カスタムルートCAがインストールされている
helperモジュールは /tmp/helper.sockのUnixソケットを経由してエクスプロイトの他の部分と通信しています。AndroidのALIENマルウェアと同様に、モジュールはDMHookerおよびUMHookerと呼ばれるカスタムフレームワークを使用してさまざまな場所をフックする機能を持っています。これらのフックにより、モジュールは以下のような基本的なスパイウェア機能を実行できます:
-
VOIP通話の記録(
/private/var/tmp/l/voip_%lu_%u_PART.m4aに保存) -
キーロガーの実行
-
カメラからの画像のキャプチャ
このモジュールはまた、上記のアクションによって引き起こされるユーザー通知を隠すためにSpringBoardにフックしています。これらの機能は、感染デバイスが正しいデバイスであることを確認した後、Predatorなどのより洗練されたスパイウェアをデプロイするためのオペレーターに提供されていると考えられます。
バイナリはコンパイルアーティファクト(以下のエクスプロイトチェーンの名前を含むビルドディレクトリなど)を残しました。
/Users/gitlab_ci_2/builds/jbSFKQv5/0/roe/ios16.5-smackjs8-production/.
全体的に、これらのエクスプロイトは特に洗練度の低いスパイウェアステージャーと比較して高い洗練度を持っており、エクスプロイトがおそらく別の当事者から取得されたという私たちの評価をサポートしています。
新しい配信機能の破壊
Intellexaのエクスプロイトの主要な配信メカニズムは、引き続きエンドツーエンド暗号化されたメッセージングアプリケーション経由でターゲットに直接送信される1回限りのリンクです。しかし、いくつかの顧客では、ユーザーをフィンガープリントし、ターゲットユーザーをIntellexaのエクスプロイト配信サーバーにリダイレクトするために、第三者プラットフォーム上の悪意のある広告を使用する別の戦術も観察しています。
このキャンペーンは、商用監視ベンダーが悪用配信のために広告を悪用する別の例であると考えられており、Intellexaは2025年初頭からこのスペースにますます関わるようになっています。パートナーと協力して、Intellexaが広告エコシステムに浸透するために作成した企業を特定し、それらのパートナーはその後彼らのプラットフォームからアカウントをシャットダウンしました。
Intellexaの活動の脅威に対処する
認識を高めるためのコミュニティ努力は、国際政策対応に向けた勢いを構築しました。Googleはポールモール・プロセスへの献身的な参加者であり、スパイウェア業界からの害を制限することに向けて合意とプログレスを構築することを目指しています。また、これらの強力なテクノロジーの悪用を制限し、世界中で人権を保護することに焦点を当てています。これらの努力は、政府によるアメリカ合衆国を含む以前の政府行動の上に構築されており、とられた手段によってスパイウェアの政府使用を制限し、同様の努力に対する 初の国際的なコミットメント。
Intellexaの活動の特に重大で広範な性質を認識し、2023年以来Intellexaの顧客に関連するすべての既知のターゲットアカウントに対して政府支援の攻撃警告を同時に配信する決定を下しました。この取り組みはパキスタン、カザフスタン、アンゴラ、エジプト、ウズベキスタン、サウジアラビア、タジキスタンを含むさまざまな国全体の数百のアカウントを網羅し、リスク中のある個人がこれらの洗練された脅威を認識するようにしています。
私たちの開示ポリシーに従い、生態系全体で認識と セキュリティを向上させるために研究を共有しています。また、さらなる悪用からユーザーを保護するために、特定されたすべてのウェブサイトとドメインをセーフブラウジングに追加しました。ユーザーと組織がパッチを迅速に適用し、ソフトウェアを完全に最新の状態に保つことをお勧めします。Googleは、ゼロデイの悪用の検出、分析、および防止、ならびに発見時にベンダーへの脆弱性の報告に焦点を当て続けます。
侵害の指標(IOC)
このブログ投稿で概説されている活動を捜索し特定するのに役立つように、登録ユーザーのためにGTIコレクションにIOCを含めました。
ファイル指標
- 85d8f504cadb55851a393a13a026f1833ed6db32cb07882415e029e709ae0750
- e3314bcd085bd547d9b977351ab72a8b83093c47a73eb5502db4b98e0db42cac
YARAルール
このルールはPREYHUNTERマルウェアを識別するための捜索努力の開始点として機能することを目的としていますが、時間の経過とともに調整が必要になる場合があります。
rule G_Hunting_PREYHUNTER_IOSStrings_1 {
meta:
author = "Google Threat Intelligence Group (GTIG)"
strings:
$ = "/Users/gitlab_ci_2/builds/jb"
$ = "/roe/ios1"
$ = "-production/libs/Exploit" ascii wide
$ = "/private/var/tmp/l/voip_%lu_%u_PART.m4a" ascii wide
$ = "/private/var/tmp/etherium.txt" ascii wide
$ = "/private/var/tmp/kusama.txt" ascii wide
$ = "_gadget_pacia" ascii wide
$ = "ZN6Helper4Voip10setupHooksEvE3$_3" ascii wide
$ = "Hook 1 triggered! location:" ascii wide
$ = "KernelReaderI11CorelliumRWE" ascii wide
$ = "NSTaskROP20WithoutDeveloperMode" ascii wide
$ = "UMHookerI14RemoteTaskPort" ascii wide
$ = "callFunc: building PAC cache for" ascii wide
$ = "select tset FROM tsettings WHERE INSTR(tset, ?)" ascii wide
$ = "select * from tsettings WHERE length(sha256) > ?" ascii wide
$ = "isTrojanThreadERK" ascii wide
$ = "getpid from victim returned:" ascii wide
$ = "victim task kaddr:" ascii wide
condition:
1 of them
}
謝辞
Citizen LabとAmnesty Internationalの協力とパートナーシップを認め、感謝したいと思います。
翻訳元: https://cloud.google.com/blog/topics/threat-intelligence/intellexa-zero-day-exploits-continue/