Back to Intelligence

ClingSTUN Mirai Botnet + Luna Moth Token Theft + Windows Webshell Campaigns: OTX Pulse Analysis — Enterprise Detection Pack

SA
Security Arsenal Team
November 13, 2026
10 min read

Threat Summary

Three concurrent threat campaigns are actively exploiting perimeter infrastructure, enterprise identity systems, and web server estates:

  1. ClingSTUN/Mirai Botnet Expansion — A Linux-based proxy backdoor is converting vulnerable IoT and edge devices into attacker-controlled relay nodes through exploitation of multiple CVEs (CVE-2025-34035, CVE-2024-23625, CVE-2022-36553, and legacy flaws dating to 2017). This campaign focuses on architectural persistence rather than immediate data theft, creating infrastructure for follow-on attacks including DDoS, anonymized C2, and lateral movement pivots.

  2. Windows Web Server Compromise Wave — Threat actors are systematically targeting IIS and Apache Tomcat environments through unpatched vulnerabilities (CVE-2019-18935 Telerik UI), misconfigurations, and weak service accounts. Attack chains involve Godzilla webshell deployment, Potato family privilege escalation (SweetPotato, PrintSpoofer), and proxy tool installation for persistence.

  3. Luna Moth (Silent Ransom Group) Social Engineering Resurgence — The extortion group is re-targeting law firms with a novel MFA bypass technique: impersonating IT support to trick victims into extracting Microsoft Graph access tokens from Microsoft 365 Copilot browser sessions. These tokens bypass Conditional Access and MFA since they inherit valid session context, enabling direct cloud data exfiltration without malware deployment.

Common Thread: All three campaigns exploit trust boundaries — edge device management interfaces, web server service accounts, and helpdesk social engineering — rather than relying on zero-day exploits. Organizations with unpatched edge infrastructure, internet-facing Windows servers, or legal sector exposure face immediate risk.

Threat Actor / Malware Profile

ClingSTUN Proxy Backdoor

Distribution: Exploitation of Internet-facing IoT devices and network appliances via CVE-2025-34035, CVE-2024-23625, CVE-2022-36553, and legacy vulnerabilities (CVE-2017-7921, CVE-2021-21974, CVE-2021-4034/PwnKit, CVE-2022-30190/Follina).

Payload Behavior: Multi-architecture Linux ELF binary (x86, ARM, MIPS). Functions as a back-connect SOCKS proxy allowing attackers to route traffic through compromised devices. Terminates competing malware processes and manipulates watchdog timers to maintain exclusivity.

C2 Communication: Abuses STUN (Session Traversal Utilities for NAT) protocol for NAT traversal and C2 resolution, blending with legitimate WebRTC/VoIP traffic. Back-connect architecture means infected devices initiate outbound connections to attacker infrastructure, evading inbound firewall rules.

Persistence: Boot persistence via init scripts, systemd service units, and cron jobs. Modifies system binaries and deploys kernel modules where possible.

Anti-Analysis: Process name masquerading as legitimate system services, watchdog manipulation to prevent automatic reboots into clean states, and traffic encryption over STUN channels.

Godzilla Webshell + Potato Privilege Escalation

Distribution: Upload via Telerik UI CVE-2019-18935 deserialization flaws, file upload vulnerabilities in WordPress plugins, or compromised FTP/RDP credentials.

Payload Behavior: Godzilla provides encrypted webshell communication with dynamic payload generation. SweetPotato and PrintSpoofer exploit Windows service permissions (SeImpersonatePrivilege) to escalate from IIS app pool identities to SYSTEM.

Persistence: Registry Run keys, WMI event subscriptions, and scheduled tasks disguised as system maintenance.

Luna Moth Social Engineering

Attack Vector: Vishing (voice phishing) combined with video call impersonation. Attackers guide victims to open browser Developer Tools (F12), navigate to Microsoft 365 Copilot, and extract Bearer tokens from the Authorization header or Local Storage.

Exfiltration: Stolen tokens used directly against Microsoft Graph API endpoints from attacker-controlled IP infrastructure (notably 104.37.184.195 and justsendtext.xyz). No malware deployed on endpoint — pure identity abuse.

IOC Analysis

Indicator Types

  • Network Infrastructure (Luna Moth): justsendtext.xyz (domain), 104.37.184.195 (IPv4, US-based, AS19318 Interserver)
  • Malware Hashes (Windows Campaign): MD5 and SHA1 hashes for Godzilla webshell components and privilege escalation tools
  • CVE References (ClingSTUN): 89 indicators spanning 2017–2025, indicating broad vulnerability scanning rather than targeted exploitation

Operationalization Strategy

For Network Teams:

  • Block 104.37.184.195 and justsendtext.xyz at perimeter proxies and DNS resolvers
  • Alert on outbound STUN (UDP 3478) traffic to non-standard ports or unknown external IPs — legitimate STUN should only hit known VoIP providers
  • Flag HTTP/HTTPS traffic to justsendtext.xyz in proxy logs

For SOC Analysts:

  • Import MD5/SHA1 hashes into EDR blocklists and threat intelligence platforms
  • Hunt for Telerik UI exploitation attempts: URI patterns containing Telerik.Web.UI.WebResource.axd?type=rau or POST data with __VIEWSTATE deserialization payloads
  • Correlate Windows Event ID 4624 (Logon) Type 3 with subsequent 4672 (Special Privileges Assigned) events indicating Potato-style privilege escalation

Tooling:

  • MISP/OpenCTI: Import OTX pulses for automated SIEM correlation
  • Velociraptor/CHAINSAW: Hunt for Godzilla webshell artifacts (ASPX files with encrypted blobs, suspicious System.Web.UI usage)
  • Azure Sentinel: KQL queries against SigninLogs for impossible travel or token replay from 104.37.184.195

Detection Engineering

YAML
---
title: ClingSTUN Proxy Backdoor Persistence and Execution
id: 7f3a9b2e-4c1d-4e5f-8a9b-1c2d3e4f5a6b
status: experimental
description: Detects ClingSTUN malware persistence mechanisms and process termination behaviors on Linux systems
references:
    - https://blog.polyswarm.io/clingstun-turns-vulnerable-edge-devices-into-attacker-infrastructure
author: Security Arsenal Threat Intelligence
date: 2026/11/14
modified: 2026/11/14
tags:
    - attack.persistence
    - attack.t1543.002
    - attack.t1059.004
logsource:
    product: linux
    service: auditd
detection:
    selection_init:
        - type: 'execve'
          a0: '*sh*'
          a1: '*rc.local*'
        - type: 'execve'
          a0: '*systemctl*'
          a1: '*enable*'
          a2: '*.service'
    selection_pkill:
        type: 'execve'
        a0: '*pkill*'
        a1: '*-9*'
    selection_watchdog:
        type: 'execve'
        a0: '*echo*'
        a1: '*watchdog*'
    condition: 1 of selection_*
falsepositives:
    - System administration scripts
    - Docker container orchestration
level: high
---
title: Windows Godzilla Webshell with Potato Privilege Escalation
id: 8a4b5c6d-7e8f-9a0b-1c2d-3e4f5a6b7c8d
status: experimental
description: Detects Godzilla webshell execution followed by SweetPotato/PrintSpoofer privilege escalation attempts
references:
    - https://asec.ahnlab.com/ko/95811/
author: Security Arsenal Threat Intelligence
date: 2026/11/14
modified: 2026/11/14
tags:
    - attack.privilege_escalation
    - attack.t1068
    - attack.t1055
    - attack.t1505.003
logsource:
    category: process_creation
    product: windows
detection:
    selection_w3wp:
        ParentImage|endswith: '\w3wp.exe'
        Image|endswith:
            - '\cmd.exe'
            - '\powershell.exe'
            - '\rundll32.exe'
    selection_potato:
        Image|endswith:
            - '\SweetPotato.exe'
            - '\PrintSpoofer.exe'
            - '\Godzilla.dll'
        CommandLine|contains:
            - 'SeImpersonatePrivilege'
            - 'nc64.exe'
            - 'whoami /priv'
    timeframe: 5m
    condition: selection_w3wp and selection_potato
falsepositives:
    - Legitimate IIS debugging
    - System Center Operations Manager
level: critical
---
title: Luna Moth Microsoft Graph Token Theft via Browser DevTools
id: 9b5c6d7e-8f9a-0b1c-2d3e-4f5a6b7c8d9e
status: experimental
description: Detects suspicious browser DevTools usage targeting Microsoft 365 Copilot and subsequent Graph API access from anomalous locations
references:
    - https://reliaquest.com/blog/threat-spotlight-luna-moth-returns-re-targeting-law-firms-through-access-tokens/
author: Security Arsenal Threat Intelligence
date: 2026/11/14
modified: 2026/11/14
tags:
    - attack.credential_access
    - attack.t1552.001
    - attack.t1566
logsource:
    product: azure
    service: signinlogs
detection:
    selection_copilot:
        AppDisplayName: 'Microsoft 365 Copilot'
    selection_devtools:
        - UserAgent|contains: 'Mozilla'
        - IPAddress: '104.37.184.195'
    selection_suspicious:
        - ResultType: 0
        - RiskLevelDuringSignIn: 'high'
        - AuthenticationRequirement: 'singleFactorAuthentication'
    condition: selection_copilot and (selection_devtools or selection_suspicious)
falsepositives:
    - Developers testing Copilot integrations
    - VPN exit nodes
level: high
KQL — Microsoft Sentinel / Defender
// Hunt for Luna Moth token theft infrastructure and ClingSTUN C2 communications
let SuspiciousIPs = dynamic(["104.37.184.195"]);
let SuspiciousDomains = dynamic(["justsendtext.xyz"]);
union isfuzzy=true
    (DeviceNetworkEvents
    | where RemoteIP in~ (SuspiciousIPs) or RemoteUrl in~ (SuspiciousDomains)
    | project Timestamp, DeviceName, InitiatingProcessFileName, RemoteIP, RemoteUrl, RemotePort, Protocol
    | extend ThreatIndicator = "LunaMoth"),
    (DeviceNetworkEvents
    | where RemotePort == 3478 and Protocol == "Udp"
    | where not(RemoteIP has_any ("stun.l.google.com", "stun.services.mozilla.com", "global.stun.twilio.com"))
    | project Timestamp, DeviceName, InitiatingProcessFileName, RemoteIP, RemotePort, Protocol
    | extend ThreatIndicator = "ClingSTUN-STUN-Abuse"),
    (DeviceProcessEvents
    | where FileName =~ "w3wp.exe"
    | where ProcessCommandLine has_any ("SweetPotato", "PrintSpoofer", "Godzilla")
    | project Timestamp, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName
    | extend ThreatIndicator = "Potato-Godzilla")
| order by Timestamp desc
| take 100
PowerShell
# ClingSTUN & Luna Moth IOC Hunt Script - Run on endpoints and domain controllers
# Requires: Administrative privileges, PowerShell 5.1+

$ErrorActionPreference = "SilentlyContinue"
$ReportPath = "C:\Temp\ThreatHunt_$(Get-Date -Format 'yyyyMMdd_HHmmss').log"

function Write-Log {
    param([string]$Message, [string]$Level = "INFO")
    $Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    "$Timestamp [$Level] $Message" | Out-File -FilePath $ReportPath -Append
    Write-Host $Message
}

Write-Log "Starting threat hunt for ClingSTUN, Godzilla, and Luna Moth artifacts..."

# Check for ClingSTUN persistence (Linux artifacts if WSL present, otherwise check for suspicious services)
Write-Log "Checking for suspicious systemd services and init scripts..."
$SuspiciousServices = Get-Service | Where-Object {$_.Name -match "(stun|proxy|tunnel|cling)" -and $_.Status -eq "Running"}
if ($SuspiciousServices) {
    Write-Log "ALERT: Suspicious services detected: $($SuspiciousServices.Name -join ', ')" "WARNING"
}

# Check for Potato tool artifacts in common webshell locations
Write-Log "Scanning IIS directories for Godzilla/webshell indicators..."
$IISPaths = @("C:\inetpub\wwwroot", "C:\inetpub\wwwroot\aspnet_client", "C:\Windows\Temp")
$WebShellPatterns = @("*.aspx;*.asmx;*.ashx", "SweetPotato*", "PrintSpoofer*", "Godzilla*")

foreach ($Path in $IISPaths) {
    if (Test-Path $Path) {
        $Files = Get-ChildItem -Path $Path -Recurse -Include $WebShellPatterns -ErrorAction SilentlyContinue | 
                 Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-30)}
        if ($Files) {
            Write-Log "ALERT: Suspicious files in $Path : $($Files.FullName -join '; ')" "CRITICAL"
        }
    }
}

# Check for recent privilege escalation attempts
Write-Log "Checking Security Event Log for privilege escalation patterns..."
$Events = Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4672,4673; StartTime=(Get-Date).AddDays(-7)} -MaxEvents 100
$SuspiciousEvents = $Events | Where-Object {$_.Message -match "SeImpersonatePrivilege|SeDebugPrivilege"}
if ($SuspiciousEvents) {
    Write-Log "ALERT: Suspicious privilege assignments detected. Review Event IDs 4672/4673 for w3wp.exe or unexpected service accounts." "WARNING"
}

# Check network connections for Luna Moth IOCs
Write-Log "Checking active network connections for Luna Moth C2 (104.37.184.195)..."
$Connections = Get-NetTCPConnection -State Established | Where-Object {$_.RemoteAddress -eq "104.37.184.195"}
if ($Connections) {
    Write-Log "CRITICAL: Active connection to Luna Moth C2 detected!" "CRITICAL"
    $Connections | Format-Table | Out-File -FilePath $ReportPath -Append
}

# Check browser artifacts for token theft indicators (Edge/Chrome)
Write-Log "Checking browser history for Developer Tools usage targeting Microsoft 365..."
$BrowserPaths = @(
    "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\History",
    "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\History"
)

foreach ($Path in $BrowserPaths) {
    if (Test-Path $Path) {
        # Copy for analysis (browser locks DB)
        $TempCopy = "$env:TEMP\browser_history_$(Get-Random).db"
        Copy-Item $Path $TempCopy -Force
        
        # Simple string search for Copilot + F12 indicators
        $Content = Get-Content $TempCopy -Raw -ErrorAction SilentlyContinue
        if ($Content -match "copilot.microsoft.com" -and $Content -match "devtools") {
            Write-Log "WARNING: Possible Luna Moth social engineering - Browser history shows Copilot + DevTools usage" "WARNING"
        }
        Remove-Item $TempCopy -Force
    }
}

# Registry persistence check
Write-Log "Checking registry Run keys for suspicious entries..."
$RunKeys = @(
    "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",
    "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",
    "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
)

foreach ($Key in $RunKeys) {
    $Items = Get-ItemProperty -Path $Key -ErrorAction SilentlyContinue
    if ($Items) {
        $Props = $Items.PSObject.Properties | Where-Object {$_.Value -match "(powershell.*-enc|cmd.*start|wscript|mshta)"}
        if ($Props) {
            Write-Log "ALERT: Suspicious registry persistence in $Key : $($Props.Name -join ', ')" "WARNING"
        }
    }
}

Write-Log "Threat hunt completed. Report saved to $ReportPath"
Write-Host "`nHunt Summary Complete. Check $ReportPath for details." -ForegroundColor Green

Response Priorities

Immediate (0-4 hours)

  1. Network Isolation: Block 104.37.184.195 and justsendtext.xyz at all egress points. Implement DNS sinkhole for the domain.
  2. Edge Device Audit: Inventory all Internet-facing IoT/edge devices. Isolate devices vulnerable to CVE-2025-34035, CVE-2024-23625, or CVE-2022-36553. Disable STUN (UDP 3478) outbound unless specifically required for VoIP infrastructure.
  3. IIS/Exchange Review: Hunt for w3wp.exe spawning cmd.exe or powershell.exe in the last 72 hours. Check for unauthorized ASPX files in wwwroot and aspnet_client directories.

24 Hours

  1. Identity Verification (Critical for Luna Moth targets): Review Azure AD Sign-in logs for justsendtext.xyz or 104.37.184.195 source IPs. Force password resets and revoke all refresh tokens for users showing signs of Copilot token theft (impossible travel, token replay from foreign ASNs, or devtools usage patterns).
  2. Memory Forensics: Capture RAM from suspected ClingSTUN-infected Linux devices. Look for STUN protocol strings in process memory and unauthorized SSH keys in /root/.ssh/authorized_keys.
  3. Webshell Triage: If Godzilla indicators are found, assume full compromise. Isolate the web server, preserve C:\Windows\Temp and IIS logs, and review for lateral movement to SQL servers or domain controllers.

1 Week

  1. Architecture Hardening:

    • Implement strict egress filtering: deny all outbound traffic except explicitly allowed business services (prevents ClingSTUN back-connect proxies)
    • Deploy LSA Protection and Credential Guard to limit Potato-style privilege escalation impact
    • Enable Azure AD Conditional Access policies requiring compliant devices for Microsoft Graph API access (blocks token replay from unauthorized IPs)
  2. Social Engineering Defense: Conduct targeted awareness training for legal and finance teams regarding IT support impersonation. Establish out-of-band verification procedures for any request involving browser Developer Tools or token extraction.

  3. Vulnerability Management: Prioritize patching for CVE-2025-34035, CVE-2024-23625, CVE-2019-18935 (Telerik UI), and CVE-2022-36553. If patching is not immediately possible, implement virtual patching via WAF rules blocking exploitation patterns.

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.