Back to Intelligence

Starland RAT + WLDR Implant & Spirals Ransomware: OTX Pulse Analysis — UAT-11795 ClickFix Campaign and Rust-Based Double Extortion Detection Pack

SA
Security Arsenal Team
August 15, 2026
11 min read

Two freshly published AlienVault OTX pulses expose parallel infostealer and extortion operations with direct relevance to enterprise credential security. The first, attributed to the financially motivated Russian-speaking actor UAT-11795, combines the ClickFix social-engineering technique with a Python-based RAT (Starland) and a bespoke in-memory PowerShell C2 implant (WLDR agent). The second documents Spirals, a previously unseen Rust-based ransomware deployed via compromised IIS servers against a South Asian IT services firm in a double-extortion play. Both campaigns converge on one objective: harvesting credentials and monetizing access.

Threat Summary

These two pulses collectively illustrate the modern access-to-extortion pipeline that dominates the current threat landscape:

  1. UAT-11795 (active since June 2025) is a Russian-speaking, financially motivated adversary targeting users in the United States, Germany, Romania, and Venezuela. The operation uses ClickFix-style lures — fake browser update and error-fix pages — to trick victims into executing malicious commands, delivering trojanized installers that stage the Starland RAT (Python) and the WLDR agent (PowerShell, in-memory C2). Post-compromise tooling includes CastleStealer and the commodity Remcos RAT, with objectives spanning credential harvesting and cryptocurrency theft.

  2. Spirals ransomware (observed June 2026) represents the downstream monetization of web-server access. An unknown actor breached an internet-facing IIS web server at a South Asian IT services company via an ASP.NET web shell, moved laterally using Chisel and revsocks tunneling, masked egress through Cloudflare Tunnel, performed credential dumping, and deployed the Rust-based Spirals payload with defense evasion, privilege escalation, and mass encryption — followed by double extortion.

Collective signal: initial access brokers and financially motivated crews are industrializing credential theft at both the endpoint (ClickFix/RAT delivery) and the perimeter (web-shell → tunnel → dump → encrypt). Stolen credentials from Starland/CastleStealer campaigns feed directly into the access market that ransomware operators like the Spirals crew consume. Enterprise identity infrastructure is the common target.

Threat Actor / Malware Profile

UAT-11795 Toolset

ComponentTypeBehavior
Starland RATPython-based remote access trojanCross-platform execution via Python interpreter; remote command execution, data staging
WLDR agentPowerShell C2 implantMemory-resident; avoids disk writes; beacons to actor-controlled C2 domains such as windowscreenrepairnearme.com and zynaris.io
CastleStealerInfostealerBrowser credential/cookie theft, cryptocurrency wallet targeting
Remcos RATCommodity RATFull remote control, keylogging, persistence via registry Run keys and scheduled tasks

Distribution method: ClickFix social engineering — victims are shown fake CAPTCHA, browser-error, or "fix" dialogs instructing them to paste attacker-supplied commands into a Run dialog or terminal. This delivers trojanized installers that chain the Starland loader into the WLDR memory implant.

C2 communication: The WLDR agent operates as an in-memory PowerShell implant beaconing over HTTPS to disposable actor-registered domains. Living-off-the-land use of powershell.exe with encoded commands is a hallmark.

Persistence: Registry Run keys, scheduled tasks, and — for Remcos — service installation. Python persistence via user-profile startup entries is common for interpreted RATs.

Anti-analysis: In-memory-only PowerShell execution leaves minimal disk artifacts; encoded/compressed script blocks evade signature scanning; trojanized installers abuse legitimate signing patterns and brand mimicry.

Spirals Ransomware

ComponentFunction
ASP.NET web shellInitial access on internet-facing IIS; dropped under C:\inetpub\wwwroot\ paths
Chisel / revsocksTCP tunneling and reverse SOCKS proxying for covert lateral movement
Cloudflare TunnelLegitimate-infrastructure C2/egress blending with allowed cloud traffic
Spirals payloadRust-based encryptor with defense evasion, privilege escalation, and multi-threaded encryption

Attack chain: web shell → credential dumping (LSASS/SAM) → tunneling tool deployment → lateral movement → Spirals execution → encryption + data exfiltration → double extortion.

IOC Analysis

The pulses contain 48 and 13 indicators respectively, dominated by:

  • File hashes (SHA256/SHA1/MD5) — the bulk of both sets. These represent Starland RAT binaries, WLDR loader stages, CastleStealer samples, Remcos payloads, the Spirals encryptor, and the ASP.NET web shell. Hashes are high-fidelity but low-durability (rebuilds change them); operationalize via EDR blocklists, threat-intel platform (TIP) ingestion, and retro-hunts in file-creation telemetry.
  • Domains (windowscreenrepairnearme.com, zynaris.io) — WLDR C2 infrastructure. Block at DNS/proxy and hunt for historical resolution in DNS and proxy logs. ClickFix campaigns rotate domains quickly, so pair domain blocking with the behavioral Sigma detections below.

SOC operationalization guidance:

  • Ingest all 61 indicators into your TIP and push hash blocklists to EDR (Defender, CrowdStrike, SentinelOne) and domain blocks to DNS filtering (Umbrella, Zscaler, internal resolvers).
  • Run retroactive hunts over 90 days of DNS, proxy, and file-creation telemetry — UAT-11795 has been active since June 2025, so infection may predate detection.
  • Use VirusTotal Enterprise / Hybrid Analysis to pivot on hashes for related samples; decode any captured PowerShell with CyberChef (Base64/gzip chains) to extract embedded C2.
  • Flag any internal host communicating with Cloudflare Tunnel endpoints (*.trycloudflare.com) that has no sanctioned tunnel deployment — a strong Spirals-stage egress indicator.

Detection Engineering

Sigma Rules

YAML
---
title: ClickFix-Style User-Executed Malicious Command
id: 7c3a1e90-starland-clickfix-001
status: experimental
description: Detects ClickFix social-engineering execution pattern where users paste attacker commands into Run dialog or terminal spawning PowerShell/mshta with encoded commands, as used by UAT-11795 to deliver Starland RAT and WLDR agent.
author: Security Arsenal Threat Intelligence
date: 2026/08/15
references:
    - https://blog.talosintelligence.com/uat-11795-deploys-novel-starland-rat-and-bespoke-wldr-c2-implant-in-financially-motivated-campaign/
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|endswith:
            - '\explorer.exe'
            - '\rundll32.exe'
    selection_child:
        Image|endswith:
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\mshta.exe'
            - '\wscript.exe'
    selection_flags:
        CommandLine|contains:
            - ' -enc '
            - ' -ec '
            - 'FromBase64String'
            - 'IEX'
            - 'Invoke-Expression'
            - 'DownloadString'
            - 'iwr '
            - 'Invoke-WebRequest'
    condition: selection_parent and selection_child and selection_flags
falsepositives:
    - Rare administrative automation launched interactively
level: high
tags:
    - attack.execution
    - attack.t1059.001
    - attack.t1204.002
---
title: WLDR Agent or Starland RAT C2 Beaconing to Known Infrastructure
id: 7c3a1e90-wldr-c2-002
status: experimental
description: Detects network connections from scripting or Python processes to UAT-11795 C2 domains associated with the WLDR PowerShell implant and Starland RAT campaign.
author: Security Arsenal Threat Intelligence
date: 2026/08/15
references:
    - https://blog.talosintelligence.com/uat-11795-deploys-novel-starland-rat-and-bespoke-wldr-c2-implant-in-financially-motivated-campaign/
logsource:
    category: network_connection
    product: windows
detection:
    selection_domain:
        DestinationHostname:
            - 'windowscreenrepairnearme.com'
            - 'zynaris.io'
    selection_process:
        Image|endswith:
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\python.exe'
            - '\pythonw.exe'
            - '\wscript.exe'
            - '\mshta.exe'
    condition: selection_domain and selection_process
falsepositives:
    - None expected; domains are actor-registered C2
level: critical
tags:
    - attack.command_and_control
    - attack.t1071.001
    - attack.t1059.001
---
title: Suspicious Tunneling Tool Execution on Web Server (Chisel / revsocks / Cloudflare Tunnel)
id: 7c3a1e90-spirals-tunnel-003
status: experimental
description: Detects execution of Chisel, revsocks, or cloudflared tunneling binaries on IIS web servers, a hallmark of the Spirals ransomware intrusion chain for covert C2 and lateral movement. Also flags suspicious child processes of w3wp.exe consistent with ASP.NET web shell activity.
author: Security Arsenal Threat Intelligence
date: 2026/08/15
references:
    - https://www.security.com/threat-intelligence/ransomware-spirals-extortion
logsource:
    category: process_creation
    product: windows
detection:
    selection_tunnel:
        Image|endswith:
            - '\chisel.exe'
            - '\revsocks.exe'
            - '\cloudflared.exe'
        CommandLine|contains:
            - 'trycloudflare.com'
            - 'chisel client'
            - 'chisel server'
            - '--socks5'
    selection_webshell:
        ParentImage|endswith: '\w3wp.exe'
        Image|endswith:
            - '\cmd.exe'
            - '\powershell.exe'
            - '\whoami.exe'
            - '\net.exe'
            - '\nltest.exe'
    condition: 1 of selection_*
falsepositives:
    - Sanctioned Cloudflare Tunnel deployments for internal apps (whitelist by path and hash)
    - Web application code legitimately spawning system tools (rare on IIS)
level: high
tags:
    - attack.command_and_control
    - attack.t1572
    - attack.t1090.001
    - attack.persistence
    - attack.t1505.003

Microsoft Sentinel KQL Hunt

KQL — Microsoft Sentinel / Defender
// UAT-11795 (Starland RAT / WLDR) + Spirals ransomware combined hunt
// Searches process, network, and file telemetry for campaign indicators and behaviors
let C2Domains = dynamic(["windowscreenrepairnearme.com", "zynaris.io"]);
let BadHashes = dynamic([
    "a6821c7e9bfe2e6af0f690d906ec6a26161e2198c256fb60f3b4731c317f3ad9",
    "162e436f18fe6099c57855c8d63fd747493624e87702dc749b242eb9a6b758ca",
    "17e41d66ebfd56edc960f58f4285697ceceaa812514bb15092672c747979896e",
    "1a01ad25712d306f27f526332fdccf959f2de53207b54e4e80f60faa804d6cb6",
    "0f9574dc38e5c34a31153f0bcc603c6ec29cb3bf65c3d25380dbe86d42573141",
    "4cab935d0ec400059a3fcdc95b6623efdd51a61dff401fba8d5da244cc2de649",
    "7f0d49b11d0a3697685622ce510c570199bf2dc76515b3f9a6b6735de8c9134b",
    "83a7e51f3787ac5a8a9884edd0a58ddbef380969aa6529d282a461a1a614a892",
    "84b9a9a1668145df04faa3d0e118e2f0acbebd3d9d260baf3a355b44c815c22d",
    "862a3ca7e944ccf0ff3a6d556b34faade4b68343015c35a014a43725ac14a2a1"
]);
union isfuzzy=true
    (DeviceNetworkEvents
    | where TimeGenerated > ago(90d)
    | where RemoteUrl in~ (C2Domains)
    | project Hit="C2_Beacon", TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteUrl, RemoteIP),
    (DeviceFileEvents
    | where TimeGenerated > ago(90d)
    | where SHA256 in~ (BadHashes) or MD5 in~ ("c33f097fdb2b69b4cbb1c3f29ae88b43", "26a15a6a9bea58e9ad2ada9a6c8606b5")
    | project Hit="Known_Malware_Hash", TimeGenerated, DeviceName, FileName, FolderPath, SHA256),
    (DeviceProcessEvents
    | where TimeGenerated > ago(90d)
    // ClickFix pattern: explorer-spawned encoded PowerShell
    | where (InitiatingProcessFileName =~ "explorer.exe"
             and FileName in~ ("powershell.exe", "pwsh.exe", "mshta.exe")
             and ProcessCommandLine has_any ("-enc", "-ec ", "FromBase64String", "IEX", "DownloadString"))
       // Spirals chain: w3wp spawning shells or tunneling tools
       or (InitiatingProcessFileName =~ "w3wp.exe"
           and FileName in~ ("cmd.exe", "powershell.exe", "whoami.exe", "net.exe"))
       or FileName in~ ("chisel.exe", "revsocks.exe", "cloudflared.exe")
       or ProcessCommandLine has_any ("trycloudflare.com", "chisel client", "--socks5")
    | project Hit="Behavioral", TimeGenerated, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessCommandLine, SHA256)
| sort by TimeGenerated desc

PowerShell IOC & Artifact Hunt Script

PowerShell
# Security Arsenal - UAT-11795 (Starland/WLDR/Remcos) & Spirals Hunt Script
# Run elevated on endpoints and web servers. Outputs findings to console and CSV.

$findings = @()

# --- 1. Known malicious file hashes (OTX pulses) ---
$badHashes = @(
    "a6821c7e9bfe2e6af0f690d906ec6a26161e2198c256fb60f3b4731c317f3ad9",
    "162e436f18fe6099c57855c8d63fd747493624e87702dc749b242eb9a6b758ca",
    "17e41d66ebfd56edc960f58f4285697ceceaa812514bb15092672c747979896e",
    "1a01ad25712d306f27f526332fdccf959f2de53207b54e4e80f60faa804d6cb6",
    "0f9574dc38e5c34a31153f0bcc603c6ec29cb3bf65c3d25380dbe86d42573141",
    "4cab935d0ec400059a3fcdc95b6623efdd51a61dff401fba8d5da244cc2de649",
    "7f0d49b11d0a3697685622ce510c570199bf2dc76515b3f9a6b6735de8c9134b",
    "83a7e51f3787ac5a8a9884edd0a58ddbef380969aa6529d282a461a1a614a892",
    "84b9a9a1668145df04faa3d0e118e2f0acbebd3d9d260baf3a355b44c815c22d",
    "862a3ca7e944ccf0ff3a6d556b34faade4b68343015c35a014a43725ac14a2a1"
)
$scanPaths = @("$env:TEMP", "$env:APPDATA", "$env:LOCALAPPDATA", "$env:USERPROFILE\Downloads", "C:\ProgramData", "C:\inetpub\wwwroot")
foreach ($p in $scanPaths) {
    if (Test-Path $p) {
        Get-ChildItem -Path $p -Recurse -File -ErrorAction SilentlyContinue | ForEach-Object {
            $h = (Get-FileHash -Path $_.FullName -Algorithm SHA256 -ErrorAction SilentlyContinue).Hash
            if ($h -and ($badHashes -contains $h.ToLower())) {
                $findings += [pscustomobject]@{Type="MaliciousHash"; Detail="$($_.FullName) SHA256=$h"}
            }
        }
    }
}

# --- 2. Persistence artifacts: Run keys and scheduled tasks (Remcos / Starland / WLDR) ---
$runKeys = @(
    "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run",
    "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
)
foreach ($rk in $runKeys) {
    Get-ItemProperty -Path $rk -ErrorAction SilentlyContinue | Get-Member -MemberType NoteProperty | ForEach-Object {
        $val = (Get-ItemProperty -Path $rk -Name $_.Name -ErrorAction SilentlyContinue).($_.Name)
        if ($val -match "powershell|python|mshta|wscript|-enc|FromBase64String") {
            $findings += [pscustomobject]@{Type="SuspiciousRunKey"; Detail="$rk\$($_.Name) = $val"}
        }
    }
}
Get-ScheduledTask -ErrorAction SilentlyContinue | Where-Object {
    $_.Actions.Execute -match "powershell|python|mshta|wscript" -and
    $_.Actions.Arguments -match "-enc|-w hidden|IEX|DownloadString"
} | ForEach-Object {
    $findings += [pscustomobject]@{Type="SuspiciousScheduledTask"; Detail="$($_.TaskName): $($_.Actions.Execute) $($_.Actions.Arguments)"}
}

# --- 3. Network connections to WLDR C2 domains and tunneling processes ---
$c2Domains = @("windowscreenrepairnearme.com", "zynaris.io")
foreach ($d in $c2Domains) {
    $resolved = Resolve-DnsName -Name $d -ErrorAction SilentlyContinue
    if ($resolved) { $findings += [pscustomobject]@{Type="C2DomainResolves"; Detail="$d -> $(($resolved.IPAddress) -join ',')" } }
}
Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue | ForEach-Object {
    $proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
    if ($proc.ProcessName -match "powershell|python|chisel|revsocks|cloudflared") {
        $findings += [pscustomobject]@{Type="SuspiciousConnection"; Detail="$($proc.ProcessName) (PID $($_.OwningProcess)) -> $($_.RemoteAddress):$($_.RemotePort)"}
    }
}

# --- 4. Tunneling binaries and ASP.NET web shells (Spirals chain) ---
Get-Process -ErrorAction SilentlyContinue | Where-Object { $_.ProcessName -match "chisel|revsocks|cloudflared" } | ForEach-Object {
    $findings += [pscustomobject]@{Type="TunnelingProcess"; Detail="$($_.ProcessName) PID=$($_.Id) Path=$($_.Path)"}
}
if (Test-Path "C:\inetpub\wwwroot") {
    Get-ChildItem "C:\inetpub\wwwroot" -Recurse -Include *.aspx,*.asp,*.ashx -ErrorAction SilentlyContinue | Where-Object {
        (Get-Content $_.FullName -Raw -ErrorAction SilentlyContinue) -match "ProcessStartInfo|cmd.exe|eval\(|Request\[|runat=.server"
    } | ForEach-Object {
        $findings += [pscustomobject]@{Type="PossibleWebShell"; Detail="$($_.FullName) LastWrite=$($_.LastWriteTime)"}
    }
}

# --- Output ---
if ($findings.Count -gt 0) {
    $findings | Format-Table -AutoSize
    $findings | Export-Csv -Path ".\UAT11795_Spirals_Hunt_$(Get-Date -Format 'yyyyMMdd_HHmm').csv" -NoTypeInformation
    Write-Host "[!] $($findings.Count) findings — escalate to IR immediately." -ForegroundColor Red
} else {
    Write-Host "[+] No Starland/WLDR/Spirals artifacts found on this host." -ForegroundColor Green
}

Response Priorities

Immediate (0–4 hours)

  • Block at the edge: Push windowscreenrepairnearme.com and zynaris.io to DNS filtering and web proxies; block all 61 file hashes in EDR and email gateways; restrict or alert on *.trycloudflare.com egress absent sanctioned Cloudflare Tunnel use.
  • Hunt execution artifacts: Run the Sigma rules and KQL query across 90 days of telemetry. ClickFix infections depend on user action — search for explorer-spawned encoded PowerShell and Python processes under user profiles.
  • Isolate any host with confirmed Starland/WLDR/Remcos execution or web shells under C:\inetpub\wwwroot.

24 Hours

  • Credential theft is confirmed in this activity (CastleStealer, Starland, credential dumping in the Spirals chain). Treat every credential on any confirmed-compromised host as exposed: force password resets, revoke active sessions and tokens, and rotate service accounts.
  • Audit MFA posture — infostealer-harvested session cookies bypass password-only controls; invalidate remembered devices and enforce phishing-resistant MFA (FIDO2) for remote access and privileged accounts.
  • Check identity providers (Entra ID, Okta) for anomalous sign-ins from affected users, particularly impossible-travel logins from the targeted geographies.

1 Week

  • ClickFix hardening: Deploy browser-based protections and user guidance against paste-into-Run attacks; consider AppLocker/WDAC policies blocking user-profile script execution and restricting powershell.exe, mshta.exe, and python.exe for standard users.
  • Web server hardening: Patch and audit internet-facing IIS; deploy file-integrity monitoring on web roots; remove unused ASP.NET handlers; segment web servers from internal AD to break the web-shell → credential-dump → lateral-movement path.
  • Tunneling controls: Block unsanctioned tunneling tools via application control and egress filtering; alert on w3wp.exe child processes and any cloudflared/chisel execution anywhere in the estate.

Related Resources

Security Arsenal Incident Response

Managed SOC & MDR Services

AlertMonitor Threat Detection

From The Dark Side Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.