SOC Prime Bias: Critical

29 Dec 2025 12:55

Active Exploitation of Gladinet CentreStack/Triofox Insecure Cryptography Vulnerability

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Active Exploitation of Gladinet CentreStack/Triofox Insecure Cryptography Vulnerability
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Summary

Threat actors are actively exploiting weak cryptography in Gladinet CentreStack and Triofox. The chain leverages hard-coded AES keys to retrieve the web.config file and then pivots to ViewState deserialization attacks. In two incidents observed on December 15, PowerShell delivered via the IIS worker process was used to download and execute a malicious binary named conqueror.exe. The activity is potentially linked to the cl0p ransomware group.

Investigation

Huntress recorded PowerShell spawned by w3wp.exe that invoked a base64-encoded payload to fetch conqueror.exe from 185.196.11.207. The executable was saved to C:UsersPublicconqueror.exe and run for host enumeration. Follow-on behavior included a curl request to the same server and use of quser.exe to list active sessions. Event ID 1316 also captured exploitation attempts from 146.70.134.50 associated with CVE-2025-30406.

Mitigation

Gladinet released version 16.12.10420.56791, rotating static cryptographic keys and patching the ViewState deserialization weakness. Organizations should upgrade promptly and rotate existing machineKey values to invalidate prior exposure. Review web logs for the encrypted query string “vghpI7EToZUDIZDdprSubL3mTZ2” to identify probing or exploitation. Further reduce risk by disabling unnecessary IIS handlers and enforcing strict input validation.

Response

Alert on PowerShell with base64 payloads originating from w3wp.exe and on creation or execution of C:UsersPublicconqueror.exe. Isolate affected hosts, preserve IIS and endpoint telemetry, and block outbound traffic to the malicious IPs and URLs cited. Verify web.config integrity, rotate machine keys immediately, and conduct a forensic review of all CentreStack/Triofox systems to scope impact and remove artifacts.

"graph TB %% Class definitions classDef action fill:#99ccff classDef data fill:#ffeb99 classDef process fill:#ffcc99 classDef tool fill:#cccccc classDef file fill:#c2f0c2 classDef network fill:#d9b3ff %% Nodes action_exploit_public_facing["<b>Action</b> – <b>T1190 Exploit Public-Facing Application</b><br/><b>Description</b>: Exploits ViewState deserialization vulnerability in Gladinet CentreStack/Triofox to retrieve web.config."] class action_exploit_public_facing action data_webconfig["<b>Data</b> – web.config<br/><b>Contains</b>: Static machineKey (AES key and IV)."] class data_webconfig data action_data_from_config["<b>Action</b> – <b>T1602 Data from Configuration Repository</b><br/><b>Description</b>: Extracts static machineKey from web.config."] class action_data_from_config action action_obfuscation["<b>Action</b> – <b>T1027 Obfuscated Files or Information</b><br/><b>Description</b>: Uses hardu2011coded keys and Base64u2011encoded PowerShell to hide malicious activity."] class action_obfuscation action process_w3wp["<b>Process</b> – w3wp.exe (IIS worker)"] class process_w3wp process action_indirect_exec["<b>Action</b> – <b>T1202 Indirect Command Execution</b><br/><b>Description</b>: w3wp.exe launches cmd.exe which runs PowerShell."] class action_indirect_exec action process_cmd["<b>Process</b> – cmd.exe"] class process_cmd process action_powershell["<b>Action</b> – <b>T1059.001 PowerShell</b><br/><b>Description</b>: Executes Base64u2011encoded PowerShell that downloads conqueror.exe."] class action_powershell action tool_powershell["<b>Tool</b> – PowerShell"] class tool_powershell tool file_conqueror["<b>File</b> – C:\Users\Public\conqueror.exe"] class file_conqueror file action_data_encoding["<b>Action</b> – <b>T1132 Data Encoding</b><br/><b>Description</b>: Transmits PowerShell payload in Base64 to evade detection."] class action_data_encoding action action_file_discovery["<b>Action</b> – <b>T1083 File and Directory Discovery</b><br/><b>Description</b>: Uses quser.exe and enumerates Huntress directory and other paths."] class action_file_discovery action tool_quser["<b>Tool</b> – quser.exe"] class tool_quser tool action_remote_service["<b>Action</b> – <b>T1210 Exploitation of Remote Services</b><br/><b>Description</b>: Downloads payload from 185.196.11.207:8000 over HTTP."] class action_remote_service action network_endpoint["<b>Network</b> – 185.196.11.207:8000"] class network_endpoint network %% Connections action_exploit_public_facing –>|leads_to| data_webconfig data_webconfig –>|enables| action_data_from_config action_data_from_config –>|leads_to| action_obfuscation action_obfuscation –>|used_by| process_w3wp process_w3wp –>|executes| action_indirect_exec action_indirect_exec –>|spawns| process_cmd process_cmd –>|executes| action_powershell action_powershell –>|uses| tool_powershell action_powershell –>|produces| file_conqueror action_powershell –>|relies_on| action_data_encoding action_data_encoding –>|applies_to| action_powershell action_powershell –>|triggers| action_remote_service action_remote_service –>|connects_to| network_endpoint action_remote_service –>|downloads| file_conqueror action_powershell –>|calls| action_file_discovery action_file_discovery –>|uses| tool_quser "

Attack Flow

Simulation Execution

Prerequisite: The Telemetry & Baseline Pre‑flight Check must have passed.

Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic. Abstract or unrelated examples will lead to misdiagnosis.

  • Attack Narrative & Commands:

    An attacker, having identified the Gladinet CentreStack instance, crafts an encrypted payload that conforms to the vulnerable query format. Using a legitimate web client (e.g., curl or PowerShell Invoke-WebRequest), the attacker issues a GET request to the hidden endpoint /storage/filesvr.dn with the encrypted token that, when decrypted by the server, resolves to a request for web.config. The request is indistinguishable from normal traffic at the protocol level, but the unique ciphertext pattern is captured by the detection rule.

  • Regression Test Script:

    #!/usr/bin/env bash
    # ------------------------------------------------------------
    # Simulate Encrypted GET request for Gladinet CentreStack web.config
    # ------------------------------------------------------------
    
    # Target server (replace with actual hostname/IP)
    TARGET="http://target-server.example.com"
    
    # One of the known encrypted payloads from the rule (example)
    ENCRYPTED_PAYLOAD="/storage/filesvr.dn t=vghpI7EToZUDIZDdprSubL3mTZ2:aCLI:8Zra5AOPvX4TEEXlZiueqNysfRx7Dsd3P5l6eiYyDiG8Lvm0o41m:ZDplEYEsO5ksZajiXcsumkDyUgpV5VLxL%7C372varAu"
    
    # Issue the request
    curl -s -o /dev/null -w "%{http_code}n" "${TARGET}${ENCRYPTED_PAYLOAD}"
    # ------------------------------------------------------------
  • Cleanup Commands:

    # No persistent changes were made to the target; only network traffic was generated.
    # If a temporary firewall rule or network capture was started for the test, remove it:
    
    # Example: stop tcpdump (Linux) or remove WinPcap filter (Windows)
    # sudo pkill -f tcpdump