エグゼクティブ サマリー
Phantom Taurusは、中華人民共和国(PRC)の国益に合致したスパイ活動を行う、以前は文書化されていなかった国家アクターです。過去2年半にわたり、Unit 42の研究者は、アフリカ、中東、アジア全域の政府機関や通信機関を標的とするPhantom Taurusを観察してきました。
弊社の観察によると、Phantom Taurusの主な重点分野は、外務省、大使館、地政学的事件、軍事作戦などであり、グループの主な目的はスパイ活動となっています。その攻撃は、ステルス性、持続性、そして戦術、技術、手順(TTP)を素早く適応させる能力を特徴とします。
Phantom Taurusが中国の高度持続的脅威(APT)Nexusの他のアクターと異なるのは、その特徴的なTTPセットにあります。これらにより、グループは高度な秘密作戦を実施し、重要なターゲットへの長期的なアクセスを維持することに成功しています。本記事は、最近確認された脅威アクターのTTPにさらに光を当て、Phantom Taurusの武器庫にあるNET-STARと呼ばれる、これまで文書化されていなかったカスタム ツールを明らかにするものです。
弊社は、本活動クラスター(当初はCL-STA-0043として追跡)に関する最初の記事を2023年6月に発表しています。2024年5月、弊社はこのクラスターを一時的なグループに昇格させ、TGR-STA-0043と命名し、Operation Diplomatic Specter(外交的亡霊作戦)と愛称をつけました。グループに対する継続的な調査の結果、脅威アクターの活動に対する理解が深まり、中国とのつながりを特定することができました。この稀有なインサイトは、弊社チームが行った調査の深さと期間を裏付けるものです。
過去1年にわたる持続的な観察と情報収集の結果、弊社はこの一時的なグループを新たな脅威アクターとして分類するのに十分な証拠を集めることに成功しました。弊社の帰属分析およびクラスター昇格プロセスは、Unit 42の帰属分析フレームワークに基づいています。図1は、Phantom Taurusが活動のクラスターから正式に名指しされた脅威アクターに昇格する過程を示したものです。
図1は、Phantom Taurusが活動のクラスターから正式に名指しされた脅威アクターに昇格する過程を示したものです。

パロアルトネットワークスのお客様は、以下の製品を通じて、上記の脅威に対する確実な保護を構築いただけます。
情報漏えいの可能性がある場合、または緊急の案件がある場合は、Unit 42インシデント レスポンス チームまでご連絡ください。
Unit 42の関連トピック | Threat Actor Groups, TGR-STA-0043, CL-STA-0043 |
Phantom Taurus:脅威アクターの進化
Phantom Taurusは、重要な非公開情報を入手するために、価値の高いターゲットに対して長期的な情報収集活動を行うことで知られる中国のAPTグループです。
同グループは主に中東、アフリカ、アジア全域の政府機関や政府系サービス プロバイダーを対象としており、その標的パターンが、中華人民共和国(PRC)の経済的・地政学的利益と一貫して一致していることを特徴とします。私たちは、このグループが外交通信、防衛関連の情報、重要な政府省庁の運営に関心を寄せていることを観察しました。グループの活動のタイミングや範囲は、世界的な大事件や地域の安全保障問題と重なることが多いとされます。
弊社の技術的分析によると、このグループは独自に開発したツールを使用し、脅威の現場ではほとんど見られないテクニックを実践していることが分かりました。TTPのリストは付録Aに記載しています。
グループの特徴的な手口は、その先進的な活動手法と相まって、Phantom Taurusを他の中国のAPTグループとは一線を画すものとしています。このグループを独自の中国系APTとして特定する根拠は、図2が示す通り帰属のダイヤモンド モデルに示される複数の帰属要因によって裏付けられています。

ダイヤモンド モデルの属性内訳
弊社は以下のダイヤモンド モデルの要素を総合的に分析し、Phantom Taurusの帰属を確立しました。
- インフラストラクチャ: Phantom Taurusは、Iron Taurus(別名APT27)、Starchy Taurus (別名Winnti)、Stately Taurus (別名Mustang Panda)など、中国の脅威アクターによって独占的に使用されてきた共有の中国APT運用インフラを使用しています。しかし、Phantom Taurusが使用する特定のインフラ コンポーネントは、他の脅威アクターによる作戦では観察されておらず、この共有エコシステム内で作戦が区分されていることが示されました。
- 被害者学: グループが一貫して、機密の非公開情報にアクセスできる価値の高い組織を標的にしていることが確認されています。ここ数年、Phantom Taurusは政府機関や通信セクター、特にサービスやインフラを提供する企業を標的にしています。グループは中東、アフリカ、アジアを中心に活動しており、中国の戦略的利益に沿った情報収集の優先順位が反映されていることが分かっています。
- 能力:Phantom Taurusは、他の脅威アクターと異なる一連のTTPを採用していることを特徴とします。これらのテクニックのうちいくつかは、他のグループによる作戦では観察されていない稀有なものであり、また他のものも、同様の方法を使用しているアクターがほんの一握りしか観察されていない、十分に稀なものです。このグループは、China Chopper、Potatoツール、Impacketなどの一般的なツールに加え、Specterマルウェア ファミリー、Ntospy、 NET-STARマルウェア スイートなど、カスタマイズされたツールを使用しています。これらは本記事の後半で説明します。
3つのノードを持つアトリビューションのダイヤモンド モデルを用いて、図2に示す通り、グループの他の脅威アクターとの類似点と重複点をマッピングしました。長期間にわたって活動を追跡した結果、私たちが観察した活動は新たな脅威アクターによって行われたことが明らかになりました。
電子メールからデータベースへの道筋を描く: Phantom Taurusの新しいデータ収集方法
Phantom Taurusの活動を継続的にモニタリングすることで、2025年初頭に初めて観測した戦術が進化していることが明らかになりました。2023年以降、Phantom Taurusはメールサーバーから機密性の高い特定の関心対象メールを窃取することに注力しており、これは以前の記事で説明した通りです。しかし、この度行った弊社の遠隔測定では、このEメール中心の手法から、データベースを直接ターゲットにする手法へのシフトが示されました。
Phantom Taurusがmssq.batというスクリプトを使って、標的のデータベースに接続し、データを収集するのを確認しました。
mssq.batスクリプトは次のように動作します:
- 指定されたサーバー名、sa(システム管理者)というユーザーID、攻撃者が事前に入手したパスワードでSQL Serverデータベースに接続する。
- グループの演算子がコマンドライン引数で指定したSQLクエリを読み込む。これによりテーブルや特定のキーワードの動的検索が可能になります
- 指定されたクエリを実行し、ユーザーの検索にマッチする結果を返す
- 結果をCSVファイルにエクスポートする
- データベース接続を閉じる
脅威アクターは、Windows Management Instrumentation (WMI)を利用して、リモートのSQL Server上でmssq.batスクリプトを実行しています。図3は、コマンドに埋め込みスクリプトと実行命令の両方が含まれていることを示したものです。

脅威アクターはこの手法で、アフガニスタンやパキスタンなど特定の国に関連する文書や情報を探していました。
新しいNET-STARマルウェア スイート
Phantom Taurusがデータベースからのデータ収集にシフトしていることに加え、最近の活動では、文書化されていない新しいマルウェア スイートを使用していることが確認されました。この新しいツールは、インターネット インフォメーション サービス(IIS) Webサーバーを標的にするように設計された.NETマルウェア スイートです。マルウェアのプログラム データベース(PDB)のパスにこの文字列が使用されていることから、私たちはこのスイートをNET-STARと名付けました。
- C:\Users\Administrator\Desktop\tmp\NETstarshard\ServerCore\obj\Release\ServerCore.pdb
- C:\Users\admin\Desktop\starshard\NETstarshard\ExecuteAssembly\obj\Debug\ExecuteAssembly.pdb
STAR文字列は、Base64エンコードされたデータでもデリミタとして表示されます。NET-STARマルウェア スイートは、Phantom Taurusの高度な回避技術と.NETアーキテクチャに対する深い理解を示しており、インターネットに面したサーバーにとって重大な脅威となっています。このスイートは、3つの異なるWebベースのバックドアで構成されており、それぞれ攻撃チェーンの中で特定の役割を果たしながら、標的のIIS環境内で持続性を維持します。
- IIServerCore: コマンドライン引数、任意のコマンド、ペイロードのメモリ内実行をサポートするファイルレス モジュラー バックドア
- アセンブリエグゼキュータV1: 追加の.NETペイロードをメモリにロードして実行します
- アセンブリエグゼキュータV2: AssemblyExecuter V1の強化版であり、アンチ マルウェア スキャンインターフェース(AMSI)およびWindowsイベントトレース(ETW)のバイパス機能も備えています
IIServerCore: モジュール式ファイルレスIISバックドア
IIServerCoreは、NET-STARマルウェア スイートの主要なWebベースのバックドア コンポーネントです。Webシェルローダーコンポーネントによってロードされた後、バックドアはw3wp.exe IISワーカープロセス内のメモリ内で完全に動作します。
IIServerCoreバックドアには、独自のモジュール式ファイルレス実行フローがあり、これにより以下のことが可能になります。
- 追加のペイロードと引数を受け取る
- メモリ内で実行する
- 結果を暗号化されたコマンド アンド コントロール(C2)通信チャネルで送信する
図4はその実行フローを示したものです。

IIServerCore Under the Hood: Webシェル ローダーからファイルレス マルウェアへ
IIServerCoreの初期コンポーネントは、OutlookEN.aspxという名前のASPX Webシェルです。このWebシェルには、Base64で圧縮されたバイナリ、IIServerCoreバックドアが埋め込まれています。Webシェルが実行されると、バックドアをw3wp.exeプロセスのメモリにロードし、IIServerCoreのメイン関数であるRunメソッドを呼び出します。図5にWebシェルを示します。

検知回避を試みるため、脅威アクターはASPXファイルのタイムスタンプを操作し、オペレーティングシステム上で発見された別の古いASPXファイルのタイムスタンプと一致させました。脅威アクターはWebシェルだけでなく、NET-STARマルウェア スイートのバックドアもタイムススタンプしています。このアクターは、マルウェアの本当のコンパイル タイムスタンプを隠すために、コンパイル時刻をランダムな未来の日付に変更しました。
IIServerCoreはchangeLastModifiedというコマンドもサポートしています。これは、マルウェアが、セキュリティ アナリストやデジタル フォレンジック ツールを混乱させるために設計された、能動的なタイムストンプ機能を備えていることを示唆するものです。
IIServerCoreメソッドをメソッドごとに解剖
IIServerCoreバックドアは、ServerRunというクラスと11のメソッドで構成されています。これには、Runというメイン メソッドと、その他の機能を提供するいくつかのメソッドが含まれます。手法とその説明は付録Bでご確認ください。
メイン メソッドであるRunは、送られてくる通信を受け取り、すべてのマルウェア操作を処理するものです。このメソッドは以下の2種類のリクエストを処理します。
- C2サーバーとのセッションを確立するための最初のハンドシェイク要求
- その後のコマンド実行要求で.NETアセンブリを動的にロードして実行
図6はRunのメソッドを示してたものです。

Runメソッドは、クッキーを使ってセッションの状態を管理するものです。この動作により、メソッドは複数のWebリクエストにまたがるユーザーのセッション情報を追跡し、維持することができます。受信コマンドとペイロードを解読し、Base64エンコードされたアセンブリから.NETコードをロードし、データの暗号化をサポートします。
バックドアは、以下のような幅広い機能を提供する様々な組み込みコマンドをサポートしています。
- ファイル システム オペレーション
- SQLコマンドの実行を含むデータベースへのアクセス
- 任意のコード実行
- 複数のWebシェルをデプロイして管理するWebシェル管理
- ウイルス対策の回避: AMSIバイパス機能
- 暗号化されたC2通信(すべての通信のAES暗号化)
- メモリー オンリー実行: ペイロードをメモリーに直接ロード
コマンドの全リストは付録Cでご確認いただけます。
.NETマルウェア ローダーの2つの新種
NET-STARスイートの2番目のコンポーネントは、私たちがAssemblyExecuterと名付けたもう1つの.NET IISマルウェアです。調査中、私たちはAssemblyExecuterの以下の2つのバージョンを観察しました。
- 2024年頃に脅威アクターが最初に使用したと思われる古いバージョン(v1)
- 2025年に使用されたと思われる新しいバージョン(v2)
AssemblyExecuter V1
最初のAssemblyExecuterバージョンは、他の.NETアセンブリをディスクに書き込まずにメモリ内で直接実行するという、単一の特定の目的のために設計された.NETアセンブリです。
このコンポーネントにより、脅威アクターは侵害後に追加機能を動的にロードし、実行することができます。バックドアは、入力パラメータとしてアセンブリ バイトコードを受け入れ、.NET Assembly.Load()メソッドを使用してアセンブリをロードし、指定されたコマンドライン引数と共にアセンブリのエントリ ポイントを呼び出します。
当該コンポーネントのコード構造は一見無害に見えるため、本稿執筆時点においてVirusTotal上のアンチ ウイルス エンジンによるフラグ付けは最小限に留まっています。これは、脅威アクターが、検出システムによって悪意があると解釈される恐れのある、あからさまなコードを回避するツールを作成できるテクニックを持ち合わせていることを示すものです。
AssemblyExecuter V2
2番目のAssemblyExecuterバージョンは、その前身と同じコア目的を維持し、メモリ内で任意の.NETアセンブリを直接実行します。このバージョンでは、より厳しく監視された環境で活動できるよう、回避能力が強化されています。
基本的なアセンブリのロードと実行ロジックに変更はありませんが、AssemblyExecuter v2には、2つの重要なWindowsセキュリティメカニズム、AMSIとETWをバイパスするための専用メソッドが含まれています。このマルウェアは、入力パラメータに基づいて適用すべきバイパス技術を動的に決定するため、攻撃者は標的環境の構成に応じてセキュリティ制御を選択的に無効にすることができます。
図7は、攻撃者がバイパスを達成するために使用した入力パラメーターを示したものです。

結論
この記事では、活動クラスターCL-STA-0043が、正式に指定された脅威アクター「Phantom Taurus」にまで昇格されたことを詳述しました。また、NET-STARの詳細な技術的分析も解説しました。NET-STARは、これまで発見されていなかったマルウェア群であり、アクターのオペレーション能力の大きな進化が示されています。
弊社が収集した広範な証拠は、敵の持続性、適応性、進化の過程、戦略的意図について、短期的な分析では必ずしも捉えることのできない重要なインサイトを与えるものです。
Phantom Taurusの正式な指定は、持続的な脅威アクター追跡の価値を実証するものです。弊社の複数年にわたる調査は、長期的なモニタリングがいかに脅威アクターの進化と作戦能力を包括的に理解できるかを例証するものです。
パロアルトネットワークスの保護と緩和策
パロアルトネットワークスのお客様は、以下の製品を通じて、上記の脅威に対する確実な保護を構築いただけます。
あり
- Advanced WildFireの機械学習モデルと分析技術は、本研究で共有されたインジケーターに照らして見直され、更新されています。
- Advanced Threat Preventionには、エクスプロイトをリアルタイムで検出できる機械学習ベースの検出機能が組み込まれています。
- Cortex XDRおよび XSIAM
- エージェントは、最初のNET-STARマルウェアローダーから保護するように設計されており、この記事で概説した攻撃チェーンの実行を防ぎます。
- 図8は、ローダーコンポーネントの実行がウェブシェル保護モジュールによって検出され、阻止されたことを示したものです。

情報漏えいの可能性がある場合、または緊急の案件がある場合は、Unit 42インシデント レスポンス チームまでご連絡ください。
- 北米:フリーダイヤル: +1 (866) 486-4842 (866.4.UNIT42)
- 英国: +44.20.3743.3660
- ヨーロッパおよび中東: +31.20.299.3130
- アジア: +65.6983.8730
- 日本: +81.50.1790.0200
- オーストラリア: +61.2.4062.7950
- インド: 00080005045107
パロアルトネットワークスは、本調査結果をサイバー脅威アライアンス(CTA)のメンバーと共有しています。CTAの会員は、この情報を利用して、その顧客に対して迅速に保護を提供し、悪意のあるサイバー アクターを組織的に妨害しています。サイバー脅威アライアンスについて詳細を見る。
侵害のインジケーター
IIServerCoreのSHA256ハッシュ
- (ServerCore.dll)
- eeed5530fa1cdeb69398dc058aaa01160eab15d4dcdcd6cb841240987db284dc
AssemblyExecuter V1のSHA256ハッシュ
- (ExecuteAssembly.dll)
- 3e55bf8ecaeec65871e6fca4cb2d4ff2586f83a20c12977858348492d2d0dec4
AssemblyExecuter V2のSHA256ハッシュ
- (ExecuteAssembly.dll)
- afcb6289a4ef48bf23bab16c0266f765fab8353d5e1b673bd6e39b315f83676e
- b76e243cf1886bd0e2357cbc7e1d2812c2c0ecc5068e61d681e0d5cff5b8e038
その他の資料
- 正体を暴く:新たな中国関連APTグループの活動実態 - パロアルトネットワークス 英語ウェビナー
- 外交的亡霊作戦: 中東、アフリカ、アジアの政府機関を標的にした珍しいツールセットを活用した活発な中国のサイバー スパイ キャンペーン - Unit 42
- Cortex XDR レンズを通して: 中東およびアフリカの政府を標的とする新たな活動グループを発見 - パロアルトネットワークス
- 中東、アフリカ、米国の組織に対して使用される新たなツールセットを発見 - Unit 42
付録A - Phantom Taurusの主なTTP
ツール | マルウェア | 手法 |
|
|
|
---|
表1.Phantom Taurusの主なTTP。
付録 B - IIServerCoreの手法
メソッド名 | 説明 |
EncryptBase64 | プレーンテキスト文字列を受け取り、基本的なBase64エンコーディングを行う(名前に反し暗号化ではない)。この機能は、データ伝送を難読化するためにマルウェア全体で使用されている。 |
DecryptBase64 | Base64エンコードされた文字列を受け取り、それをデコードしてプレーンテキストに戻す。 |
暗号化 | 生のバイトデータと暗号化キー文字列を受け取る。その後、PKCS7パディングを用いたECBモードでAES暗号化を行う。提供されたキーでAES暗号を作成し、入力データを暗号化し、暗号化されたバイトを返す。このマルウェアは、C2との通信を確保するために本手法を使用している。 |
復号化 | 暗号化されたバイトデータと対応するキーを受け取る。次に、この関数は、同じECBモードとPKCS7パディング設定でAES復号を使用してデータを復号する。暗号化プロセスを逆転させて元のデータを復元し、マルウェアが攻撃者からの暗号化されたコマンドを処理できるようにする。 |
圧縮 | バイト配列のデータを受け取り、Gzip を使って圧縮する。入力データの圧縮バージョンを作成し、マルウェアとC2サーバー間で送信するデータのサイズを小さくすることで、ネットワークトラフィックを目立たなくする。 |
解凍 | Gzip で圧縮されたバイトデータを受け取り、それを解凍して元の形式に戻す。 |
GetContext | 完全なリクエストデータを含む文字列を受け取る。次にこの関数は、ペイロード部分を抽出し、実際の悪意のあるペイロードを含むBase64エンコードされたペイロードデータのみを返す。 |
ConvertToSpecialString | それぞれが文字列のキーと値のペアを含む辞書のリストを受け取り、それらをカスタムフォーマットの文字列に変換する。この文字列は、SetContext関数がコマンドの実行結果を準備するために使用される。 |
SetContext | ConvertToSpecialStringから構造化された出力を受け取り、多層エンコーディング(圧縮、暗号化、Base64)を適用する。 |
GetMd5Hash | 文字列入力を受け取り、そのMD5ハッシュを計算する。 |
Run | HTTPコンテキストを受け取り、すべてのマルウェア操作を処理するメイン実行関数。 |
付録C - 組み込みコマンド
以下のコマンドはIIServerCoreバックドアに埋め込まれていたものです。
- fileExist
- listDir
- createDir
- renameDir
- fileRead
- deleteFile
- Dictionary
- createFile
- changeLastModified
- code_self
- code_pid
- run_code
- addshell
- bypassPrecompiledApp
- listShell
- removeShell
- executeSQLQuery
- ExecuteNonQuery