何が起きたのか
2025年7月から8月にかけて、攻撃グループTA415は米国政府、シンクタンク、学術機関を標的としたスピアフィッシング攻撃キャンペーンを実施しました。この攻撃では、おとりとして米中経済をテーマに利用しました。同グループは米国と中国共産党(CCP)との戦略的競争に関する特別委員会の現委員長や、米中ビジネス協議会になりすまし、主に米中関係、貿易、経済政策に関連する幅広い個人や組織を標的としました。
TA415のフィッシングキャンペーンは、Visual Studio (VS Code) Remote Tunnel の確立を試みる感染チェーンを展開しました。これにより、従来型のマルウェアを用いずに、脅威アクターが持続的なリモートアクセスを確立することが可能となりました。最近のTA415のフィッシング活動では、一貫して正規サービスをコマンド&コントロール(C2)に利用しており、その中には Google Sheets、Google Calendar、および VS Code Remote Tunnels が含まれています。これは、TA415が信頼されているこれらのサービスへの既存の正規トラフィックに紛れ込むための組織的な取り組みである可能性が高いです。
このTA415の活動は、米中経済・貿易関係の将来を巡る進行中の交渉と不確実性の最中に発生しています。プルーフポイントの脅威リサーチチームは、これらのキャンペーンの主な目的が、米中経済関係の動向に関する情報収集である可能性が高いと評価しています。この活動は、ウォール・ストリート・ジャーナルによる最近の報道とも一致しています。
TA415は中国政府が支援する脅威アクターであり、2020年に米国政府によって起訴されました。また、サードパーティによって APT41、Brass Typhoon、Wicked Panda として追跡されている脅威活動と重複しています。
マルウェアの配信
2024年8月に複数のフィッシングキャンペーンによって Voldemortバックドア が配信されたのを受けて、プルーフポイントはTA415が戦術、技術、手順(TTPs)を変更し、VS Code Remote Tunnelsの利用へと切り替えたことを確認しました。2024年9月を通じて、このグループは以前Voldemortを配信するために用いられたものと極めて類似した感染チェーンを利用し、難読化されたPythonローダー(プルーフポイントがWhirlCoilとして追跡しているもの)を介してVS Code Remote Tunnelsを展開しました。この活動は、航空宇宙、化学、保険、製造業の組織を標的とし、2024年10月初旬にCybleによって公表された活動と関連・重複しています。
2025年7月以降、プルーフポイントの脅威リサーチャーは、TA415が米国のシンクタンク、政府、学術機関を標的とする一連のキャンペーンを実施していることを観測しています。これは主に国際貿易、経済政策、米中関係を専門とする人物を対象としていました。これには、2025年7月に米中ビジネス協議会を装った電子メールが含まれており、その中で同グループは標的を米台および米中関係に関する非公開ブリーフィングに招待しました。

米中ビジネス協議会を装ったTA415のフィッシングメール
2025年7月および8月に実施された複数のTA415キャンペーンでは、米国下院議員であり、現在米国と中国共産党の戦略的競争に関する特別委員会の委員長を務めるJohn Moolenaarを装っていました。プルーフポイントは、国家と連携する脅威アクターが著名な人物を装い、その公的プロフィールに基づく信頼と信用を悪用する手法を定期的に観測しており、これらのなりすましをより説得力のあるものにするために、オープンソース情報を利用することが多くあります。これらのフィッシングメールは、特別委員会によって起草されているとされる対中包括的制裁枠組みに関する法案について、標的から意見を求める内容でした。
これらのフィッシングメールには通常、Zoho WorkDrive、Dropbox、OpenDriveといったクラウド共有サービスにホストされたパスワード保護付きのアーカイブへのリンクが含まれていました。Receivedヘッダー内の送信元IPアドレスの上流分析により、このグループがフィッシングメールの送信にCloudflare WARP VPNサービスを一貫して使用していたことも確認されました。
感染チェーン

TA415によるVS Code Remote Tunnelの感染チェーン。
ダウンロードされたアーカイブはパスワードで保護されており、Microsoftショートカット(LNK)ファイルと、 _MACOS_という名前の隠しサブフォルダ内に格納されたその他のファイルが含まれています。LNKファイルの役割は、隠しフォルダ内にある logon.bat というバッチスクリプトを実行し、OpenDrive上にホストされた破損したPDFをデコイ文書としてユーザーに表示することです。

TA415が配信したサンプルアーカイブの内容

TA415が使用した logon.bat スクリプトの例
バッチスクリプトは、隠しフォルダ内にある埋め込みPythonパッケージに同梱された pythonw.exe を介して、WhirlCoil Pythonローダー(update.py)を実行します。感染チェーンの初期のバリエーションでは、WhirlCoil PythonローダーをPastebinなどのPasteサイトからダウンロードし、Pythonパッケージを公式のPythonサイトから直接取得していましたが、今回のバリエーションではローカルにバンドルされています。

難読化されたWhirlCoil Pythonローダーの抜粋
WhirlCoilローダーは、IIIllIIIIlIlIIlIII のような繰り返し使われる変数名や関数名によって難読化されたPythonスクリプトです。スクリプトはまず正規のMicrosoftソースからVSCodeコマンドラインインターフェイス(CLI)のzipをダウンロードし、zipを %LOCALAPPDATA%\Microsoft\VSCode に展開します。次に、Pythonの関数呼び出し ctypes.windll.shell32.IsUserAnAdmin() を使用してユーザーが管理者かどうかをチェックします。持続性(永続化)のために、通常 GoogleUpdate、GoogleUpdated、または MicrosoftHealthcareMonitorNode といった名前のスケジュールタスクが作成され、WhirlCoil Pythonスクリプトを2時間ごとに実行します。ユーザーが管理者権限を持っている場合、そのタスクは最高権限のSYSTEMとして実行されます。
WhirlCoilスクリプトはその後、VS Codeのコマンド code.exe tunnel user login --provider github --name <COMPUTERNAME> を実行して、GitHub経由で認証されたVS Codeリモートトンネルを確立します。戻り値の検証コードを含む文字列を output.txt というファイルに書き込みます。その後、スクリプトはシステム情報(Windowsのバージョン、ロケール、コンピュータ名、ユーザー名、ドメインなど)および様々なユーザーディレクトリの内容を収集します。
この情報は、無料のリクエストログサービス(例:requestrepo[.]comなど)へのPOSTリクエストで送信されます。最近観測されたバリエーションでは、URLは <timestamp>_<base64(COMPUTERNAME) のように付加され、リクエストの本文は、収集されたシステム情報とVS Code Remote Tunnelの検証コードを含むbase64エンコードされたデータになります。この検証コードを用いて、脅威アクターはVS Code Remote Tunnelを認証し、標的ホストのファイルシステムへリモートアクセスし、組み込みのVisual Studioターミナルを介して任意のコマンドを実行することが可能になります。
アトリビューション
米国政府の起訴状によると、TA415は中国・成都に拠点を置く民間請負業者として活動しており、Chengdu 404 Network Technology という会社名で事業を行ってきました。Chengdu 404は、i-Soonを含む中国のサイバー諜報エコシステム内で活動する他の民間請負業者とビジネス関係を持ってきた歴史があり、また起訴されたグループのメンバーは、中国の民間対外情報機関である国家安全部(MSS)との関係を持つと報告されています。プルーフポイントは、本レポートで詳述した活動や、カスタムVoldemortバックドアを使用した過去の活動を、既知のTA415インフラとの複数の独立した一致点、使用されたTTPs、そして中国の国家的利益と一致する一貫した標的パターンに基づき、高い確度でTA415にアトリビューションしています。
重要性
フィッシング脅威の状況において、国家と連携する脅威アクターによる確立された標的パターンの変化は、しばしば興味深い分析上の疑問を投げかけます。これらの変化の正確な要因は多くの場合不透明ですが、任務要件の進化や、より広範な地政学的展開によって形作られた優先事項の変化を示唆しています。今回の場合、標的となった多くの組織は既知の中国の情報収集の優先事項と一致しています。しかし、TA415がこれらの標的に方向転換したタイミングは、米国と中国の間で進行中の経済・外交関係の複雑な変化を考慮すると、特に注目に値します。
IoC (Indicators of compromise / 侵害指標)
|
Indicator |
Type |
Context |
First Seen |
|
uschina@zohomail[.]com |
|
Malware Delivery |
July 2025 |
|
johnmoolenaar[.]mail[.]house[.]gov@zohomail[.]com |
|
Malware Delivery |
August 2025 |
|
john[.]moolenaar[.]maii[.]house[.]gov@outlook[.]com |
|
Malware Delivery |
August 2025
|
|
https://www.dropbox[.]com/scl/fi/d1gceow3lpvg2rlb45zl4/USCBC_Meeting_Info_20250811.rar?rlkey=hg5kja70lgn6n2lozb2cjr1l5&st=2gj6un0k&dl=1 |
URL |
Malware Delivery |
July 2025 |
|
https://od[.]lk/d/OTRfMTA3OTczMjQwXw/USCBC_20250811_Meeting_Info.7z |
URL |
Malware Delivery |
July 2025 |
|
https://workdrive.zoho[.]com/file/pelj30e40fd96a6084862bef88daf476dac8d |
URL |
Malware Delivery |
August 2025 |
|
https://workdrive.zoho[.]com/file/f8h84a6732545e79d4afdb5e6d6bcaa343416 |
URL |
Malware Delivery |
August 2025 |
|
https://pastebin[.]com/raw/WcFQApJH |
URL |
Malware Delivery |
July 2025 |
|
29cfd63b70d59761570b75a1cc4a029312f03472e7f1314c806c4fb747404385 |
SHA256 |
USCBC_Meeting_Info_20250811.rar |
July 2025 |
|
660ba8a7a3ec3be6e9ef0b60a2a1d98904e425d718687ced962e0d639b961799 |
SHA256
|
Draft_Legislative_Proposal.zip |
August 2025
|
|
b33ccbbf868b8f9089d827ce0275e992efe740c8afd36d49d5008ede35920a2e |
SHA256
|
US_Strategic_Competition_Sanctions_Act_Draft.zip |
August 2025 |
|
32bf3fac0ca92f74c2dd0148c29e4c4261788fb082fbaec49f9e7cd1fda96f56 |
SHA256 |
USCBC_Meeting_Info_20250811.lnk |
July 2025 |
|
ae5977f999293ae1ce45781decc5f886dd7153ce75674c8595a94a20b9c802a8 |
SHA256 |
Legislative_Proposal_Comprehensive_Sanctions_Framework_Targeting_the_PRC.lnk |
August 2025 |
|
d12ce03c016dc999a5a1bbbdf9908b6cfa582ee5015f953a502ec2b90d581225 |
SHA256
|
US_Strategic_Competition_Sanctions_Act_Draft.lnk |
August 2025 |
|
10739e1f1cf3ff69dbec5153797a1f723f65d371950007ce9f1e540ebdc974ed |
SHA256 |
logon.bat |
July 2025 |
|
674962c512757f6b3de044bfecbc257d8d70cf994c62c0a5e1f4cb1a69db8900 |
SHA256
|
logon.bat |
August 2025 |
|
8d55747442ecab6dec3d258f204b44f476440d6bb30ad2a9d3e556e5a9616b03 |
SHA256 |
update.py |
August 2025 |
|
4b2a250b604ca879793d1503be87f7a51b0bde2aca9642e0df5bb519d816cd2c |
SHA256
|
update.py |
July 2025 |
|
d81155fa8c6bd6bd5357954e2e8cae91b9e029e9b1e23899b882c4ea0fffad06 |
SHA256 |
update.py |
August 2025 |
|
http://requestrepo[.]com/r/2yxp98b3/ |
URL |
C2 |
July 2025 |
|
https://1bjoijsh.requestrepo[.]com/ |
URL |
C2 |
August 2025 |
|
https://6mpbp0t3.requestrepo[.]com/ |
URL |
C2 |
August 2025 |
ET rules
ET MALWARE TA415 CnC Host Profile Exfiltration (POST) - 2064403
ET HUNTING GitHub Authentication via client_id in HTTP POST - 2064186
ET INFO Observed VSCode Hosting Domain (vscode .download .prss .microsoft .com in TLS SNI) - 2064185