Espionage

潜伏する脅威:中国APT「TA415」がVS Code Remote Tunnelsを悪用し米中経済関係を攻撃

Share with your network!

何が起きたのか 

2025年7月から8月にかけて、攻撃グループTA415は米国政府、シンクタンク、学術機関を標的としたスピアフィッシング攻撃キャンペーンを実施しました。この攻撃では、おとりとして米中経済をテーマに利用しました。同グループは米国と中国共産党(CCP)との戦略的競争に関する特別委員会の現委員長や、米中ビジネス協議会になりすまし、主に米中関係、貿易、経済政策に関連する幅広い個人や組織を標的としました。  

TA415のフィッシングキャンペーンは、Visual Studio (VS Code) Remote Tunnel の確立を試みる感染チェーンを展開しました。これにより、従来型のマルウェアを用いずに、脅威アクターが持続的なリモートアクセスを確立することが可能となりました。最近のTA415のフィッシング活動では、一貫して正規サービスをコマンド&コントロール(C2)に利用しており、その中には Google SheetsGoogle Calendar、および VS Code Remote Tunnels が含まれています。これは、TA415が信頼されているこれらのサービスへの既存の正規トラフィックに紛れ込むための組織的な取り組みである可能性が高いです。  

このTA415の活動は、米中経済・貿易関係の将来を巡る進行中の交渉と不確実性の最中に発生しています。プルーフポイントの脅威リサーチチームは、これらのキャンペーンの主な目的が、米中経済関係の動向に関する情報収集である可能性が高いと評価しています。この活動は、ウォール・ストリート・ジャーナルによる最近の報道とも一致しています。 

TA415は中国政府が支援する脅威アクターであり、2020年に米国政府によって起訴されました。また、サードパーティによって APT41Brass TyphoonWicked 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 phishing email

米中ビジネス協議会を装ったTA415のフィッシングメール 

2025年7月および8月に実施された複数のTA415キャンペーンでは、米国下院議員であり、現在米国と中国共産党の戦略的競争に関する特別委員会の委員長を務めるJohn Moolenaarを装っていました。プルーフポイントは、国家と連携する脅威アクターが著名な人物を装い、その公的プロフィールに基づく信頼と信用を悪用する手法を定期的に観測しており、これらのなりすましをより説得力のあるものにするために、オープンソース情報を利用することが多くあります。これらのフィッシングメールは、特別委員会によって起草されているとされる対中包括的制裁枠組みに関する法案について、標的から意見を求める内容でした。 

これらのフィッシングメールには通常、Zoho WorkDrive、Dropbox、OpenDriveといったクラウド共有サービスにホストされたパスワード保護付きのアーカイブへのリンクが含まれていました。Receivedヘッダー内の送信元IPアドレスの上流分析により、このグループがフィッシングメールの送信にCloudflare WARP VPNサービスを一貫して使用していたことも確認されました。
 

感染チェーン 

ta415 attack chain

TA415によるVS Code Remote Tunnelの感染チェーン。

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

Figure 3

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

Figure 4

TA415が使用した logon.bat スクリプトの例
 

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

whirlcoil

難読化されたWhirlCoil Pythonローダーの抜粋
 

WhirlCoilローダーは、IIIllIIIIlIlIIlIII のような繰り返し使われる変数名や関数名によって難読化されたPythonスクリプトです。スクリプトはまず正規のMicrosoftソースからVSCodeコマンドラインインターフェイス(CLI)のzipをダウンロードし、zipを %LOCALAPPDATA%\Microsoft\VSCode に展開します。次に、Pythonの関数呼び出し ctypes.windll.shell32.IsUserAnAdmin() を使用してユーザーが管理者かどうかをチェックします。持続性(永続化)のために、通常 GoogleUpdateGoogleUpdated、または 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 

Email 

Malware Delivery 

July 2025 

johnmoolenaar[.]mail[.]house[.]gov@zohomail[.]com 

Email 

Malware Delivery 

August 2025 

john[.]moolenaar[.]maii[.]house[.]gov@outlook[.]com 

Email 

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 DNS Query to VSCode Hosting Domain (vscode .download .prss .microsoft .com) - 2064184 

ET INFO Observed VSCode Hosting Domain (vscode .download .prss .microsoft .com in TLS SNI) - 2064185