INC Ransomware — SonicWall SMA 1000 Post-Exploitation Chain
Executive Summary
Scope note — how this pack differs from the existing CVE pack:
SonicWall-SMA1000-CVE-2026-15409-Hunt.html (published 2026-07-24) already covers the raw
CVE-2026-15409 / CVE-2026-15410 exploit chain — the /wsproxy SSRF bypass and the
remove_hotfix path-traversal privilege escalation — in detail. This pack does not
re-derive that content. It exists because, since the beginning of August 2026, INC Ransomware has
become the dominant actor weaponizing that chain, and the campaign carries its own named, previously
undocumented post-exploitation toolkit that the CVE pack has zero coverage of: the KNUCKLEBALL
Python loader, the Suo5 HTTP tunnel, the ORANGETAIL Behinder-class Java web
shell, in-memory JVM injection via the Java Attach API, MFA/TOTP seed theft, and the downstream ransomware
deployment chain. The CVE chain is cited below only as the initial-access vector.
Volexity tracks the pre-disclosure exploitation cluster as UTA0533, active from at least June 22, 2026 — three weeks before SonicWall's July 14, 2026 advisory (SNWLID-2026-0008). Rapid7 identified significant TTP overlap between its own incident-response engagements and the UTA0533 cluster. Resecurity subsequently linked the exploitation activity directly to an INC Ransomware affiliate, and by early August 2026 INC had accelerated its data-leak-site postings to the point that Resecurity and The Hacker News both describe it as the "dominant threat actor" now weaponizing this chain. INC claims 885+ victims to date; new victims added between July 17 and August 1, 2026 alone span the United States, Australia, the UAE, Colombia, and Switzerland, across both government and private sector.
The attacker's objective is not the appliance itself — it is what the appliance guards.
After chaining the two CVEs to root, UTA0533/INC deploys KNUCKLEBALL
(/usr/lib/python3.11/site-packages/deploy_new.py), a Python loader that uses the
Java Attach API to inject two Base64-encoded JAR payloads directly into the legitimate
SonicWall workplace.startup.CommandStartup JVM as instrumentation agents — no standalone binary
ever touches disk as the final payload. The first JAR is a modified Suo5 (open-source HTTP
forwarding proxy) providing covert tunneling; the second is ORANGETAIL, a custom Java
memory-resident web shell functionally similar to the well-known Behinder shell, with
AES-128-ECB encrypted, gated, reflection-based command execution. Both implants activate only behind a
deliberately implausible spoofed User-Agent (Chrome/149.0.0.1, Windows NT 11.0) —
itself a strong detection opportunity. From that foothold the actor harvests credentials, session databases,
and TOTP MFA seed configurations (per Rapid7), sniffs unencrypted LDAP traffic with
tcpdump, and pivots into the internal network to stage INC's Rust-based Windows/Linux/ESXi
ransomware encryptor — the actual monetization event.
The highest-value defensive angle is downstream, not on the appliance. The SMA 1000 is a
proprietary appliance with no Falcon sensor coverage, so KNUCKLEBALL/Suo5/ORANGETAIL are functionally invisible
to EDR telemetry — appliance-side detection depends entirely on the vendor's own logs
(extraweb_access.log, access_servers.log, ctrl-service.log), covered in
Section 7. Falcon-covered telemetry becomes relevant the moment the actor pivots off the appliance: lateral
movement (PsExec/RDP), RMM tool staging, EDR-tampering BYOVD drivers, Veeam credential dumping, and — the actual
ransomware event — INC's Rust encryptor executing with its distinctive --esxi/--motd
CLI flags and mass file modification. Sections 8–9 build that downstream detection surface.
Defender priority: treat every SMA 1000 appliance that was
internet-facing and unpatched at any point between June 22, 2026 and firmware
12.4.3-03453 / 12.5.0-02835 as compromised, not just exposed. Patching alone does not
evict an in-memory JVM implant or a setuid rootrun backdoor (/usr/bin/xzfind) —
factory-reset and reimage is the only reliable eviction path. Rotate every credential and reissue every
TOTP/MFA seed the appliance ever processed before the exposure window closes, and hunt the internal
network (Sections 8–9) for the lateral-movement and encryptor-staging behaviors that turn an appliance
compromise into an INC ransomware event.
Source Review & Web Hunter Notes
Eight sources were fetched and saved in full to INC-SonicWall-Hunt-sources/ for this pack.
Two sources returned by initial search (a rankiteo.com aggregator mirror and a socradar.io campaign card) were
excluded as low-value re-aggregations once the primary Volexity/Rapid7/Resecurity reporting was in hand. No
fetched source contained any text addressed to an AI agent, instructions to execute commands, or attempts to
redirect this research process — all eight are ordinary article/report content and are cited below.
| Tier | Source | Key Finding | Carry Forward |
|---|---|---|---|
| Primary | Volexity — Proxying to Compromise (2026-07-17) | Direct DFIR: UTA0533 attribution, exact log-line IOCs, KNUCKLEBALL/Suo5/ORANGETAIL file hashes, Java Attach API injection mechanics, gating User-Agent, YARA reference | yes |
| Primary | SonicWall PSIRT — Advisory SNWLID-2026-0008 | Authoritative CVSS scores, affected/fixed firmware versions, official remediation guidance | yes |
| Primary | Rapid7 — MDR SonicWall SMA1000 zero-day ETR | Independent confirmation of exploitation mechanics, ASN 206092 attacker infrastructure, log-pattern IOCs, TTP overlap assessment with UTA0533 | yes |
| Secondary | Resecurity — From WSProxy to Root (2026-08-01) | INC Ransomware attribution and acceleration, victim geography/count, extortion contact tradecraft (helprans[.]com, phone pretext), consolidated IOC/hash tables corroborating Volexity | yes |
| Secondary | The Hacker News (2026-08-03) | Cross-vendor synthesis; Rapid7 quote confirming single-actor correlation; MFA/TOTP seed theft detail attributed to Rapid7 | yes |
| Secondary | BleepingComputer — CISA KEV ransomware flag (2026-08-10) | CISA KEV catalog updated to flag both CVEs as ransomware-exploited; Shadowserver exposure count (~380 appliances); confirms Resecurity's INC affiliate attribution independently | yes |
| Secondary | Acronis TRU — INC Ransomware evolution report | Rust Windows/Linux/ESXi encryptor internals, Veeam salted-DPAPI credential dumper, BYOVD process-terminator tooling, CLI flags (--esxi, --motd, --file), ransom-note/printer behavior | yes |
| Secondary | Hexnode — INC Ransomware RaaS 2026 overview | Corroborates LOLBin lateral movement (RDP/PsExec), Cobalt Strike + RMM tool usage, BYOVD defense evasion as standing INC affiliate tradecraft | yes |
Decision: the appliance-side exploit mechanics (the SSRF/path-traversal internals) are intentionally kept brief here and referenced back to the existing CVE pack — full technical reconstruction of that chain is out of scope for this document. Everything from the malware toolkit onward (KNUCKLEBALL injection, Suo5/ORANGETAIL, MFA seed theft, and the INC ransomware deployment chain) is treated as primary content.
Hunt Brief & Attack Chain
Hypothesis: An INC Ransomware-affiliated actor (tracked upstream as UTA0533) has used, or is using, the SonicWall SMA 1000 CVE-2026-15409/15410 chain for initial access, has deployed KNUCKLEBALL to inject Suo5 and ORANGETAIL into the appliance JVM, has harvested credentials and MFA/TOTP seeds from the appliance, and is either staging or has already executed lateral movement and ransomware deployment against the internal network the appliance fronts. Steps 1–8 (appliance compromise) are summarized for context only — see the existing CVE pack for full exploit detail. Steps 9–15 (post-appliance-compromise) are this pack's primary focus.
| Step | Action | Telemetry | Hunt Angle |
|---|---|---|---|
| 1–2 | Unauthenticated /wsproxy request with spoofed User-Agent: SMA Connect Agent and bmID=-3389… opens a WebSocket tunnel to localhost-only services (CVE-2026-15409) | Appliance extraweb_access.log / access_servers.log | See existing CVE pack; Section 7 below for the log-line signatures |
| 3–7 | Tunnel reaches CouchDB (1050) and ctrl-service (8188); attacker stages /tmp/1234.sh, triggers remove_hotfix path traversal (CVE-2026-15410) to execute as root | Appliance ctrl-service.log | See existing CVE pack; Section 7 below |
| 8 | Root access used to write ROOTRUN (/usr/bin/xzfind, setuid backdoor) and KNUCKLEBALL (/usr/lib/python3.11/site-packages/deploy_new.py); persistence added to /etc/init.d/workplace | Appliance filesystem / init scripts (no Falcon coverage — appliance is not sensor-monitored) | Vendor compromise-assessment checklist, Section 7 |
| 9 | KNUCKLEBALL uses the Java Attach API to inject two Base64-decoded JARs (agent_wp8.jar is Suo5, agent_wp9.jar is ORANGETAIL) into the running workplace.startup.CommandStartup JVM as instrumentation agents; agent logs symlinked to /dev/null; NGINX Unit routes /__api__/login and /__api__/logout rewritten to the implants | Appliance memory/process (no Falcon coverage); NGINX Unit config /var/lib/unit/conf.json | NEW — this pack. Section 7 log signatures; behavioral IOC is the gating User-Agent string |
| 10 | Actor authenticates to the implants using the hardcoded gating User-Agent, issues encrypted commands via ORANGETAIL's find POST parameter, and tunnels further traffic through Suo5 | Appliance HTTP access logs (external-facing) | NEW. Web/proxy log hunt for the exact UA string in Section 7 |
| 11 | Credential harvesting: appliance credential store, active session databases, and TOTP MFA seed configurations extracted for long-term persistent access; unencrypted LDAP traffic sniffed via tcpdump (/var/tmp/lib.sh) on TCP/389 | Appliance process/network activity (no Falcon coverage on appliance itself) | NEW. Downstream: force LDAPS/StartTLS, force TOTP reseed — Section 12 |
| 12 | Lateral movement from the compromised appliance into the internal network using harvested/derived credentials — RDP, PsExec, and legitimate RMM tooling (AnyDesk/ScreenConnect/TeamViewer) consistent with standing INC affiliate tradecraft, plus Cobalt Strike in some incidents | Falcon ProcessRollup2/SyntheticProcessRollup2, NetworkConnectIP4 | NEW. Q1–Q4, Section 8 |
| 13 | Defense impairment: BYOVD process-terminator (drops filwfp.sys/filnk.sys/fildds.sys) or Sysinternals PsKill used to kill EDR/AV processes; Veeam backup credential dumper (salted-DPAPI aware) run to harvest backup-infrastructure creds | Falcon DriverLoad, ProcessRollup2 | NEW. Q5–Q7, Section 8 |
| 14 | INC's Rust-based Windows/Linux/ESXi encryptor executes (--esxi/--motd/--file/--dir flags), appends .INC to encrypted files, drops INC-README.txt/.html, and in some incidents automatically sends print jobs of the ransom note to networked printers | Falcon ProcessRollup2, CriticalFileModified | NEW. Q8–Q9, Section 8 |
| 15 | Extortion contact via data-leak-site posting, email (info@helprans[.]com), and phone pretext calls ("Andrew", +1 304-384-0401) pressuring victims before/alongside encryption | N/A — organizational/SOC process, not endpoint telemetry | Brief helpdesk/legal on the known pretext pattern; do not engage, contact law enforcement |
Consolidated IOC Table
| Type | Value | Confidence | Action | Context | Expiry |
|---|---|---|---|---|---|
| SHA256 | 81a9af3846bad3a1107164ff7cf0a08e020b31a3b32fd17866e17d4c1565f7f2 | high | detect | ROOTRUN / xzfind — setuid privilege-escalation backdoor | 2027-02-28 |
| SHA256 | 8c470301dcb7278f73e622f1950073567b34011c64b60cdfbb0f89803923a5a3 | high | detect | KNUCKLEBALL / deploy_new.py — Java Attach API loader | 2027-02-28 |
| SHA256 | 1e1e68bbb899450a57274a8b12082ed4e2040a2aae77014f20431689d2b4edee | high | detect | Suo5 agent — agent_wp8.jar | 2027-02-28 |
| SHA256 | ea9154e374e4f77bc2cf54282e23543573980342a85bc888cb23f20b8bbba081 | high | detect | ORANGETAIL agent — agent_wp9.jar | 2027-02-28 |
| Filename | xzfind | high | hunt | ROOTRUN binary path, /usr/bin/xzfind | 2026-11-28 |
| Filename | deploy_new.py | high | hunt | KNUCKLEBALL script, /usr/lib/python3.11/site-packages/ | 2026-11-28 |
| Filename | agent_wp8.jar / agent_wp9.jar | high | hunt | Decoded Suo5 / ORANGETAIL JARs staged transiently in /tmp | 2026-11-28 |
| Filename | 1234.sh / hypdate.b64 / lib.sh | high | hunt | Staged exploit/persistence artifacts in /tmp and /var/tmp | 2026-11-28 |
| Filename | filwfp.sys / filnk.sys / fildds.sys | medium | detect | BYOVD process-terminator vulnerable driver names (INC affiliate tooling) | 2027-02-28 |
| Filename | INC-README.txt / INC-README.html | high | hunt | INC ransom note filenames | 2027-02-28 |
| File extension | .INC | medium | hunt | Extension appended to encrypted files by INC's Rust encryptor | 2027-02-28 |
| User-Agent | Mozilla/6.0 (Windows NT 11.0; Win64; x64) AppleWebKit/1537.136 (KHTML, like Gecko) Chrome/149.0.0.1 Safari/1537.136 | high | detect | Gating UA required to reach Suo5/ORANGETAIL — internally inconsistent version numbers | 2027-02-28 |
| IPv4 | 42.200.172.14, 81.19.140.217, 89.117.20.1, 108.205.8.173, 147.45.51.19, 150.241.210.53, 202.8.105.201, 217.77.15.99 | high | detect | UTA0533 non-VPN source IPs observed against compromised appliances | 2026-11-28 |
| IPv4 / ASN | 45.131.194.0/24, 45.146.54.0/24, 63.135.161.0/24, 173.239.211.0/24 (ASN 206092, F.N.S Holdings Limited); 193.37.32.179, 193.37.32.214, 216.73.163.151, 216.73.163.158 | medium | hunt | Rapid7-observed attacker infrastructure — shared/bulletproof hosting ASN, correlate before blocking | 2026-11-28 |
| Domain | helprans[.]com | high | detect | INC extortion-contact domain; registered 2026-06-02 via a Chinese registrar accepting cryptocurrency, days before disclosure | 2027-02-28 |
| info@helprans[.]com | high | enrich | Extortion negotiation contact provided during phone pretext calls | 2027-02-28 | |
| Phone | +1 (304) 384-0401 | medium | enrich | Caller identifying as "Andrew," pressure-tactic pretext calls to victims | 2026-11-28 |
| Hostname | DESKTOP-5P0TSCP, DESKTOP-IC3C80F, DESKTOP-KRLUI3J, KALI | low | pivot | Attacker-side hostnames unintentionally leaked during lateral-movement authentication attempts | 2026-09-28 |
| CVE | CVE-2026-15409 (CVSS 10.0), CVE-2026-15410 (CVSS 7.2) | high | hunt | Initial-access chain — full detail in the existing CVE pack; cited here as context only | 2027-02-28 |
The ASN 206092 ranges are shared/bulletproof-hosting infrastructure per Rapid7 — correlate hits with appliance-adjacent authentication or Suo5/ORANGETAIL activity before actioning as a block, not on IP alone.
Affected Surface & Telemetry Matrix
| Surface | Required Telemetry | Priority | Gap Risk |
|---|---|---|---|
| SonicWall SMA 1000 (6210 / 7210 / 8200v / CMS) | Appliance-native logs only — extraweb_access.log, access_servers.log, ctrl-service.log; no Falcon sensor | CRITICAL | HIGH — zero EDR visibility, log-only |
| Internal Windows endpoints reachable from the appliance / VPN segment | Falcon ProcessRollup2, NetworkConnectIP4, DriverLoad, CriticalFileModified | CRITICAL | LOW if sensor deployed and healthy |
| Active Directory / Identity Provider (LDAP, TOTP/MFA issuance) | Falcon Identity Protection events; IdP/AD audit logs; LDAPS bind logs | HIGH | MEDIUM — depends on Identity Protection module + LDAPS enforcement |
| Backup infrastructure (Veeam and similar) | Falcon ProcessRollup2 on backup servers; Veeam audit/access logs | HIGH | MEDIUM — credential dumper targets are often lightly monitored |
| ESXi / virtualization hosts | ESXi syslog forwarding, vCenter audit events; limited native Falcon coverage on ESXi itself | HIGH | HIGH — ESXi has thin EDR coverage in most estates |
| Networked printers | Print-server spooler logs; network flow to printer ports (9100/515/631) | MEDIUM | MEDIUM — rarely instrumented |
ATT&CK Mapping
| Tactic | Technique | ID | Observed Behavior |
|---|---|---|---|
| Initial Access | Exploit Public-Facing Application | T1190 | /wsproxy pre-auth SSRF bypass (CVE-2026-15409) — see existing CVE pack |
| Privilege Escalation | Exploitation for Privilege Escalation | T1068 | remove_hotfix path traversal to root (CVE-2026-15410) — see existing CVE pack |
| Persistence | Boot or Logon Initialization Scripts: RC Scripts | T1037.004 | KNUCKLEBALL relaunch line appended to /etc/init.d/workplace |
| Persistence | Server Software Component: Web Shell | T1505.003 | ORANGETAIL — Behinder-class Java web shell injected into the workplace JVM |
| Defense Evasion | Process Injection | T1055 | KNUCKLEBALL uses the Java Attach API to inject Suo5/ORANGETAIL as instrumentation agents into a legitimate JVM |
| Defense Evasion | Indicator Removal | T1070 | Agent logs cleared and symlinked to /dev/null; deleted JARs post-injection |
| Defense Evasion | Impair Defenses: Disable or Modify Tools | T1562.001 | BYOVD process-terminator / PsKill used to kill EDR and AV processes on internal hosts |
| Command and Control | Protocol Tunneling | T1572 | Suo5 HTTP forwarding proxy tunneling through the compromised appliance |
| Command and Control | Proxy | T1090 | ORANGETAIL/Suo5 reachable only via /__api__/login and /__api__/logout NGINX route rewrites |
| Credential Access | Multi-Factor Authentication Interception | T1111 | TOTP/MFA seed configuration theft from the appliance (per Rapid7) |
| Credential Access | Unsecured Credentials: Credentials In Files | T1552.001 | Session databases and cached credential stores read from the appliance |
| Credential Access | OS Credential Dumping | T1003 | Modified Veeam credential-dumper targeting salted-DPAPI backup credentials |
| Credential Access | Network Sniffing | T1040 | tcpdump capture of unencrypted LDAP (TCP/389) via /var/tmp/lib.sh |
| Lateral Movement | Remote Services: Remote Desktop Protocol | T1021.001 | RDP used for lateral movement from the appliance/VPN segment into the corporate network |
| Lateral Movement | Remote Services: SMB/Windows Admin Shares | T1021.002 | PsExec-based remote execution, standing INC affiliate tradecraft |
| Command and Control | Remote Access Software | T1219 | AnyDesk, ScreenConnect, TeamViewer deployed to maintain access post-lateral-movement |
| Impact | Service Stop | T1489 | --esxi encryptor flag enumerates and shuts down running VMs before encryption |
| Impact | Data Encrypted for Impact | T1486 | INC Rust Windows/Linux/ESXi encryptor; .INC extension; INC-README.txt/.html notes |
| Impact | Financial Theft | T1657 | Double-extortion: data-leak-site posting plus phone/email pressure tactics |
Native Audit-Log Hunts
The SMA 1000 is a proprietary appliance with no Falcon sensor coverage. Every hunt in this section runs against the appliance's own logs (SSH to the appliance, or forward these logs to a SIEM) — none of it is CQL. This is where the KNUCKLEBALL/Suo5/ORANGETAIL detection actually has to happen.
extraweb_access.log — webshell access via the hijacked routes
Presence of successful (HTTP 200) access to /__api__/login or /__api__/logout from
an external source is a strong indicator of ORANGETAIL/Suo5 interaction, since these are legitimate SMA paths
that UTA0533 rewrote to proxy to the implants:
x.x.x.x - - [DD/Mon/YYYY:HH:MM:SS -0000] "POST /__api__/logout HTTP/1.1" 200 211602 "-" - x.x.x.x - - [DD/Mon/YYYY:HH:MM:SS -0000] "POST /__api__/login HTTP/1.1" 200 - "-" -
Filter for these paths from source addresses outside your known VPN client IP space, and separately for any
request whose User-Agent matches the ORANGETAIL/Suo5 gating string:
Mozilla/6.0 (Windows NT 11.0; Win64; x64) AppleWebKit/1537.136 (KHTML, like Gecko) Chrome/149.0.0.1 Safari/1537.136
— the version numbers (NT 11.0, Chrome 149.0.0.1) do not correspond to any real browser release.
ctrl-service.log — command execution and privilege escalation
Entries referencing hotfix removal with a path-traversal payload confirm CVE-2026-15410 was actually triggered (context only — see the existing CVE pack for the exploit detail):
YYYY-MM-DD HH:MM:SS,mmm - INFO - running hotfix removal for:../../../../../tmp/<staged-script>.sh YYYY-MM-DD HH:MM:SS,mmm - ERROR - Command '['/usr/local/bin/remove_hotfix', '../../../../../tmp/<staged-script>.sh']' exited with status '1'
Filesystem — KNUCKLEBALL / ROOTRUN / staged-artifact sweep
find / -perm -4000 -type f— flag any setuid binary outside the documented legitimate set (auth_pam_tool,ssh-keysign,umount,su,mount,newgrp,at,ping/ping6,sudo, and the appliance's own/usr/local/workplace/conf). A setuid/usr/bin/xzfindis ROOTRUN.- Check for
/usr/lib/python3.11/site-packages/deploy_new.py(KNUCKLEBALL) and any unexpected*.jarunder/tmp. - Check
/tmpand/var/tmpfor1234.sh,hypdate.b64,agent_wp8.jar,agent_wp9.jar,lib.sh, and any zero-byte root-owned file namedtxt. diffthe live/etc/init.d/workplaceand/var/lib/unit/conf.jsonagainst a known-good pre-June-2026 backup; look specifically for apython3 /usr/lib/python3.11/site-packages/deploy_new.pyline and for routes proxying/__api__/login//__api__/logouttohttp://127.0.0.1:8085.- Confirm against Volexity's published YARA signatures for ROOTRUN, KNUCKLEBALL, Suo5, and ORANGETAIL (linked in Section 18) if you have on-appliance or memory-image scanning capability.
LDAP-sniffing artifact
Check for an unexpected tcpdump-launching script (Volexity observed /var/tmp/lib.sh)
and any resulting .pcap-style capture files under /var/tmp dated after the appliance's
known exposure window. Presence confirms LDAP credential sniffing on TCP/389 — treat every account whose
credentials transited unencrypted LDAP during that window as compromised.
Identity Provider / MFA — TOTP seed reissuance validation (non-CQL)
Because MFA seed theft cannot be reliably detected after the fact from endpoint telemetry, this is a verification hunt, not a detection: for every account that authenticated through the appliance during the exposure window, confirm in the IdP admin console that its TOTP secret has been reissued (not merely that MFA is "enabled") and that no TOTP codes are being accepted from a seed generated before the rotation timestamp.
CrowdStrike LogScale CQL Hunt Queries
All nine queries below hunt downstream of the appliance — on Falcon-covered internal hosts, not on the SMA 1000 itself (see Section 7 for appliance-side log hunts). Set the console time picker to at least the June 22, 2026 exposure-window start when back-hunting.
Looks for: Falcon-covered hosts (internal servers/workstations, backup infrastructure, jump hosts) connecting to or from the eight non-VPN source IPs Volexity and Rapid7 observed interacting directly with compromised SMA 1000 appliances.
// HUNT: Network connections to published UTA0533 / INC Ransomware attacker IPs // MITRE: T1190, T1071 // CONF: high FP: low COST: low // REQUIRES: NetworkConnectIP4 // FALSE POSITIVES: none expected -- these are actor-attributed hosts, not shared cloud/CDN space #event_simpleName=NetworkConnectIP4 | RemoteAddressIP4=/^(42\.200\.172\.14|81\.19\.140\.217|89\.117\.20\.1|108\.205\.8\.173|147\.45\.51\.19|150\.241\.210\.53|202\.8\.105\.201|217\.77\.15\.99)$/ | table([ComputerName, UserName, RemoteAddressIP4, RemotePort, LocalAddressIP4, ContextBaseFileName, @timestamp])
Looks for: Connections into the four /24 ranges Rapid7 attributed to ASN 206092 (F.N.S Holdings Limited) plus the four individual IPs it published, used as staging/C2 infrastructure adjacent to the campaign. FP: ASN 206092 is bulletproof/shared hosting -- correlate hits with appliance-adjacent authentication or a Q1/Q3-Q9 hit before treating as confirmed, not on IP contact alone.
// HUNT: Traffic to Rapid7-attributed ASN 206092 attacker infrastructure // MITRE: T1071, T1090 // CONF: medium FP: medium COST: low // REQUIRES: NetworkConnectIP4 // FALSE POSITIVES: ASN 206092 is bulletproof/shared hosting -- unrelated tenants share these ranges // TUNING: correlate with Q1/Q3-Q9 hits or appliance-adjacent auth before actioning; do not auto-block on this alone #event_simpleName=NetworkConnectIP4 | cidr(RemoteAddressIP4, subnet=["45.131.194.0/24","45.146.54.0/24","63.135.161.0/24","173.239.211.0/24"]) | table([ComputerName, UserName, RemoteAddressIP4, RemotePort, ContextBaseFileName, @timestamp])
Looks for: PsExec client or service-side execution (psexec.exe / psexecsvc.exe), the standing INC affiliate lateral-movement LOLBin per Acronis and Hexnode reporting, on hosts reachable from the VPN/appliance segment. FP: IT operations and legitimate remote-admin tooling use PsExec routinely -- scope to hosts/segments reachable from the compromised appliance and correlate with the exposure window.
// HUNT: PsExec-based lateral movement (INC affiliate tradecraft) // MITRE: T1021.002, T1570 // CONF: high FP: medium COST: low // REQUIRES: ProcessRollup2, SyntheticProcessRollup2 // FALSE POSITIVES: legitimate IT operations and RMM platforms use PsExec for routine administration // TUNING: exclude known ITSM/automation service accounts and scheduled-maintenance windows; scope to hosts reachable from the compromised appliance segment #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^psexec(svc)?\.exe$/i | table([ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, @timestamp])
Looks for: First-run installs or silent launches of AnyDesk, ScreenConnect (ConnectWise Control), or TeamViewer -- the remote-access tooling Acronis observed INC affiliates deploying to maintain access after initial lateral movement. FP: Many MSPs and internal IT teams run these tools legitimately -- baseline approved installer hashes and exclude your organization's sanctioned RMM fleet.
// HUNT: Unauthorized RMM tool staging (AnyDesk / ScreenConnect / TeamViewer) // MITRE: T1219 // CONF: medium FP: medium COST: low // REQUIRES: ProcessRollup2, SyntheticProcessRollup2 // FALSE POSITIVES: legitimate MSP-managed or internal IT RMM deployments // TUNING: exclude approved RMM golden-image hashes and known MSP service accounts; alert only on first-seen installs per host #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^(anydesk|screenconnect|connectwisecontrol|teamviewer)\.exe$/i | table([ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, @timestamp])
Looks for: Load of the three vulnerable driver files (filwfp.sys, filnk.sys, fildds.sys) Acronis attributes to INC's custom process-terminator tool, dropped and installed as a service to kill EDR/AV before ransomware deployment.
// HUNT: BYOVD vulnerable driver load (INC process-terminator tool) // MITRE: T1562.001, T1068 // CONF: high FP: low COST: low // REQUIRES: DriverLoad // FALSE POSITIVES: none expected -- these driver filenames are not part of any legitimate software distribution #event_simpleName=DriverLoad | FileName=/^(filwfp|filnk|fildds)\.sys$/i | table([ComputerName, UserName, FileName, ImageFileName, @timestamp])
Looks for: Execution of the Sysinternals PsKill utility or the custom ProcessTerminator.exe tool, both observed terminating security-agent processes by PID or name via a -p argument in recent INC incidents.
// HUNT: EDR/security-process termination via PsKill / ProcessTerminator // MITRE: T1562.001 // CONF: high FP: low COST: low // REQUIRES: ProcessRollup2, SyntheticProcessRollup2 // FALSE POSITIVES: PsKill has legitimate sysadmin uses -- rare enough in most estates to keep FP low; validate against your own PsKill baseline if used internally #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^(pskill|processterminator)\.exe$/i | table([ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, @timestamp])
Looks for: PowerShell execution referencing Veeam credential-extraction functions or direct SQL queries against the Veeam configuration database's Credentials table -- Acronis's modified Veeam-Get-Creds.ps1 variant with salted-DPAPI support. FP: Legitimate Veeam backup-admin maintenance scripts can reference the same cmdlets/tables -- exclude signed, scheduled, backup-admin-owned tasks.
// HUNT: Veeam backup credential-dumper execution // MITRE: T1003, T1552.001 // CONF: medium FP: medium COST: low // REQUIRES: ProcessRollup2, SyntheticProcessRollup2 // FALSE POSITIVES: legitimate Veeam backup-admin maintenance scripts touch the same cmdlets and tables // TUNING: exclude signed, scheduled backup-admin tasks running under the documented Veeam service account #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^powershell(_ise)?\.exe$/i | CommandLine=/Veeam.*Get-Creds|Get-VBRCredential|dbo\.\[?Credentials\]?/i | table([ComputerName, UserName, ParentBaseFileName, CommandLine, @timestamp])
Looks for: Process command lines carrying INC's distinctive Rust-encryptor flags (--esxi, --motd, --skip, getallvms) or a direct reference to the INC-README ransom note, across Windows, Linux, and ESXi-adjacent hosts.
// HUNT: INC Rust encryptor CLI execution signatures // MITRE: T1486, T1489 // CONF: high FP: low COST: low // REQUIRES: ProcessRollup2, SyntheticProcessRollup2 // FALSE POSITIVES: none expected -- these flags and the INC-README string are campaign-specific, not generic admin tooling #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | CommandLine=/--esxi|--motd|--skip |getallvms|INC-README/i | table([ComputerName, UserName, FileName, CommandLine, @timestamp])
Looks for: A burst of critical-file-modification events on a single host in a short window -- the generic behavioral signature of a ransomware encryptor sweeping a filesystem, independent of the specific binary used. FP: Legitimate bulk operations (backup jobs, AV full scans, large file-copy/migration tasks, patch deployment) can also trigger high modification counts.
// HUNT: Mass critical-file modification (ransomware encryption behavior) // MITRE: T1486 // CONF: high FP: medium COST: medium // REQUIRES: CriticalFileModified // FALSE POSITIVES: backup jobs, AV full scans, large file-copy or migration tasks, patch deployment tools // TUNING: exclude known backup/AV/migration service accounts and their scheduled windows; tune the 50-event threshold to your environment's baseline #event_simpleName=CriticalFileModified | groupBy([ComputerName, UserName], function=[count(as=FilesModified)], limit=500) | FilesModified>50 | sort(FilesModified, order=desc, limit=100) | table([ComputerName, UserName, FilesModified])
CrowdStrike Custom IOA Recommendations
| IOA Name | Source Query | Pattern | Exclusions | Deployment Path |
|---|---|---|---|---|
| BYOVD Process-Terminator Driver Load | Q5 | DriverLoad where FileName matches filwfp.sys/filnk.sys/fildds.sys | None known | Promote directly to Custom IOA in Detect mode; escalate to Prevent after a 1-week burn-in with zero benign hits |
| PsKill / ProcessTerminator EDR-Kill Attempt | Q6 | Process creation matching pskill.exe or processterminator.exe | Add an exclusion for your own PsKill deployment if used by IT for legitimate remote process management | Custom IOA in Detect mode; review 30 days of history before enabling |
| INC Rust Encryptor CLI Flags | Q8 | Process command line matching --esxi, --motd, --skip, getallvms, or INC-README | None known — flags are campaign-specific | Promote to Prevent immediately — this is the last detection point before encryption completes |
| Non-VPN UTA0533/INC Attacker IP Contact | Q1 | NetworkConnectIP4 to the eight published non-VPN source IPs | None known — actor-attributed hosts | Custom IOA in Detect mode; also add to Falcon Firewall Management as a block rule |
Queries not listed above (Q2, Q3, Q4, Q7, Q9) remain investigate-only hunt queries — their FP profile (shared-hosting ASN, legitimate admin/backup/RMM tooling) makes them appropriate for scheduled hunting and analyst triage, but not for automated Prevent-mode blocking without environment-specific tuning first.
Machine-Readable IOC Appendix
type,value,action,severity,expiration,description,tags sha256,81a9af3846bad3a1107164ff7cf0a08e020b31a3b32fd17866e17d4c1565f7f2,detect,high,2027-02-28,ROOTRUN / xzfind setuid privilege-escalation backdoor,campaign:INC-SonicWall sha256,8c470301dcb7278f73e622f1950073567b34011c64b60cdfbb0f89803923a5a3,detect,high,2027-02-28,KNUCKLEBALL deploy_new.py Java Attach API loader,campaign:INC-SonicWall sha256,1e1e68bbb899450a57274a8b12082ed4e2040a2aae77014f20431689d2b4edee,detect,high,2027-02-28,Suo5 agent_wp8.jar HTTP tunnel implant,campaign:INC-SonicWall sha256,ea9154e374e4f77bc2cf54282e23543573980342a85bc888cb23f20b8bbba081,detect,high,2027-02-28,ORANGETAIL agent_wp9.jar Behinder-class web shell,campaign:INC-SonicWall ipv4,42.200.172.14,detect,high,2026-11-28,UTA0533/INC non-VPN attacker source IP,campaign:INC-SonicWall ipv4,81.19.140.217,detect,high,2026-11-28,UTA0533/INC non-VPN attacker source IP,campaign:INC-SonicWall ipv4,89.117.20.1,detect,high,2026-11-28,UTA0533/INC non-VPN attacker source IP,campaign:INC-SonicWall ipv4,108.205.8.173,detect,high,2026-11-28,UTA0533/INC non-VPN attacker source IP,campaign:INC-SonicWall ipv4,147.45.51.19,detect,high,2026-11-28,UTA0533/INC non-VPN attacker source IP,campaign:INC-SonicWall ipv4,150.241.210.53,detect,high,2026-11-28,UTA0533/INC non-VPN attacker source IP,campaign:INC-SonicWall ipv4,202.8.105.201,detect,high,2026-11-28,UTA0533/INC non-VPN attacker source IP,campaign:INC-SonicWall ipv4,217.77.15.99,detect,high,2026-11-28,UTA0533/INC non-VPN attacker source IP,campaign:INC-SonicWall domain,helprans.com,detect,high,2027-02-28,INC Ransomware extortion-contact domain,campaign:INC-SonicWall
Gating User-Agent (Suo5 / ORANGETAIL access): Mozilla/6.0 (Windows NT 11.0; Win64; x64) AppleWebKit/1537.136 (KHTML, like Gecko) Chrome/149.0.0.1 Safari/1537.136 -> internally inconsistent version numbers (NT 11.0 + Chrome 149.0.0.1); alert on exact match Hijacked NGINX Unit routes (appliance-side, /var/lib/unit/conf.json): /__api__/login -> proxied to http://127.0.0.1:8085 (ORANGETAIL/Suo5) /__api__/logout -> proxied to http://127.0.0.1:8085 (ORANGETAIL/Suo5) Encryptor CLI signatures (process command line): --esxi | --motd | --skip <id> | getallvms | INC-README Encrypted-file marker: filename ending in .INC ransom note: INC-README.txt / INC-README.html Extortion pretext (organizational, not endpoint): Caller name "Andrew", phone +1 (304) 384-0401 Negotiation email info@helprans[.]com
Named malware / tooling this campaign introduces: ROOTRUN -- setuid ELF backdoor, internal name "rootrun", path /usr/bin/xzfind KNUCKLEBALL -- Python loader, path /usr/lib/python3.11/site-packages/deploy_new.py Suo5 -- modified open-source HTTP forwarding proxy, injected as agent_wp8.jar ORANGETAIL -- custom Java web shell (Behinder-class), injected as agent_wp9.jar Staged/transient filesystem artifacts (appliance-side): /tmp/1234.sh -- reads hardware UUID, owned by couchdb /tmp/hypdate.b64 -- base64-encoded CVE-2026-15410 exploit /tmp/agent_wp8.jar -- Suo5 agent (transient, deleted after injection) /tmp/agent_wp9.jar -- ORANGETAIL agent (transient, deleted after injection) /var/tmp/lib.sh -- launches tcpdump against LDAP (TCP/389) /var/tmp/txt -- zero-byte, root-owned, post-exploitation marker Downstream INC affiliate tooling (internal network): PsExec / PsKill, ProcessTerminator.exe -p <PID|name> filwfp.sys / filnk.sys / fildds.sys (BYOVD vulnerable drivers) AnyDesk, ScreenConnect, TeamViewer, Cobalt Strike Modified Veeam-Get-Creds.ps1 (salted-DPAPI aware) Rclone (exfiltration)
SonicWall SMA 1000 patch / compromise-assessment checklist:
[ ] Confirm firmware >= 12.4.3-03453 (12.4.3 branch) or >= 12.5.0-02835 (12.5.0 branch)
[ ] find / -perm -4000 -type f -- flag any setuid binary outside the documented legitimate set
[ ] Check for /usr/bin/xzfind, /usr/lib/python3.11/site-packages/deploy_new.py
[ ] diff /etc/init.d/workplace and /var/lib/unit/conf.json against known-good pre-June-2026 backup
[ ] Sweep /tmp and /var/tmp for staged artifacts (see Behavioral Signatures block)
[ ] If ANY artifact found: factory reset + reimage -- do not trust patch-in-place
[ ] Rotate: admin passwords, LDAP/RADIUS bind creds, user passwords active during exposure window,
certificates/API keys, and every TOTP/MFA seed the appliance ever processed
[ ] Migrate directory-service traffic to LDAPS/StartTLS
Detection Validation Gates
| Gate | Requirement | Status Check |
|---|---|---|
| Telemetry ready | ProcessRollup2/SyntheticProcessRollup2, NetworkConnectIP4, DriverLoad, and CriticalFileModified flowing from every host reachable from the VPN/appliance segment, including backup infrastructure and, where sensor-compatible, ESXi management hosts | Confirm sensor health and event volume in Falcon Host Management before relying on Q1-Q9 |
| Benign baseline | Q3 (PsExec), Q4 (RMM), Q7 (Veeam scripts), and Q9 (mass file mod) run clean against 7-14 days of production traffic before enabling any alerting | Run each query with no time restriction beyond 14d; document expected baseline hit count per query |
| Positive tests | Q5 (BYOVD driver), Q6 (PsKill), Q8 (encryptor flags) validated against a lab/sandbox execution of the equivalent LOLBin behavior (do not execute a live sample) to confirm field names and event population | Lab-fire pskill.exe with a benign target PID and confirm Q6 fires; confirm Q8 fires against a synthetic process with --esxi in its command line |
| Promotion criteria | A query graduates from hunt-only to Custom IOA only after 7+ days with zero unexplained benign hits AND at least one successful lab-fire positive test | Track per Section 9; Q1, Q5, Q6, Q8 already meet this bar based on FP profile alone and are recommended for immediate IOA promotion |
Hardening — Tiered
- Patch every SMA 1000 appliance to firmware
12.4.3-03453+or12.5.0-02835+. (MITRE M1051 — Update Software; SonicWall PSIRT SNWLID-2026-0008.) - Assume compromise, not just exposure, for any appliance that was internet-facing on vulnerable firmware at any point since June 22, 2026. Run the compromise-assessment checklist in Section 10 before trusting a patched-in-place appliance. (MITRE M1013 — Application Developer Guidance / incident-response doctrine; Volexity/Resecurity guidance.)
- Rotate every credential and reissue every TOTP/MFA seed the appliance processed during the exposure window — admin passwords, LDAP/RADIUS bind credentials, user passwords, certificates, and API keys. A reused TOTP seed is not remediated by a firmware patch. (MITRE M1027 — Password Policies; Rapid7 MFA-seed-theft finding.)
- Migrate directory-service traffic to LDAPS/StartTLS. Observed LDAP sniffing (TCP/389,
via
tcpdump) only works against unencrypted binds. ⚠ best-practice, no single formal benchmark line item — cite CIS Benchmark for Active Directory §"Network security: LDAP" alongside vendor LDAPS guidance. (MITRE M1041 — Encrypt Sensitive Information.) - Deploy EDR tamper protection / anti-BYOVD driver blocking (Windows: enable Vulnerable Driver Blocklist / HVCI where hardware supports it; Falcon: enable Sensor Tampering Protection) to blunt the ProcessTerminator/PsKill defense-impairment step. (MITRE M1040 — Behavior Prevention on Endpoint; Microsoft Security Baseline — Device Guard/HVCI.)
- Restrict and segment appliance management. Place SMA 1000 management interfaces
behind a jump host or zero-trust gateway; restrict inbound
/wsproxyexposure to only what legitimate SMA Connect clients require. (MITRE M1030 — Network Segmentation; CIS Benchmark network security controls.) - Harden backup infrastructure. Enforce Veeam's salted-DPAPI credential storage, restrict backup-server network reachability, and enable immutable/offline backup copies so a credential dump does not translate into deletable recovery points. (MITRE M1053 — Data Backup; Veeam hardening guide.)
- Forward appliance logs to a SIEM with alerting on
/wsproxyaccess patterns, the ORANGETAIL/Suo5 gating User-Agent, and file-integrity changes to/etc/init.d/workplaceand/var/lib/unit/conf.json. ⚠ best-practice, no formal benchmark for this proprietary appliance — cite SonicWall's own recommendation plus general log-forwarding best practice (NIST SP 800-92). (MITRE M1047 — Audit.) - Re-evaluate edge-appliance exposure architecture broadly: reduce the set of internet-facing management/VPN concentrators, and require MFA reseeding as a standard step in every edge-device incident-response playbook, not just this one. (MITRE M1042 — Disable/Remove Feature or Program; general defense-in-depth doctrine.)
- Update IR playbooks to explicitly cover appliance root-compromise scenarios, including offline forensic imaging procedures and rapid credential/MFA-rotation workflows, so the next edge-device zero-day does not require building this response from scratch. (MITRE M1013.)
Deployable Playbooks
Playbook 1 — SonicWall SMA 1000 Patch + Compromise Assessment
PLAYBOOK 1 — SonicWall SMA 1000 patch + compromise assessment
Step 1. Verify current firmware version.
Prerequisites: MySonicWall admin access to the AMC/CMC console.
Command: AMC/CMC UI -> System Configuration -> Firmware & Settings -> confirm build number
Reboot required: No (read-only check)
Rollback: N/A
Step 2. Run the compromise-assessment sweep BEFORE patching (patching can disturb evidence).
Prerequisites: SSH/console access to the appliance as an administrative user.
Command:
find / -perm -4000 -type f
ls -la /usr/lib/python3.11/site-packages/deploy_new.py /usr/bin/xzfind 2>/dev/null
ls -la /tmp/1234.sh /tmp/hypdate.b64 /tmp/agent_wp8.jar /tmp/agent_wp9.jar /var/tmp/lib.sh 2>/dev/null
diff /etc/init.d/workplace /path/to/known-good-backup/etc/init.d/workplace
diff /var/lib/unit/conf.json /path/to/known-good-backup/var/lib/unit/conf.json
Reboot required: No
Rollback: N/A (read-only sweep)
Step 3a. IF NO artifacts found: apply the vendor hotfix.
Prerequisites: Maintenance window; current configuration backup taken AFTER Step 2 (never restore a
backup that predates confirmation of a clean state -- see Note below).
Command: AMC/CMC UI -> System Configuration -> Firmware & Settings -> Upload/Apply
12.4.3-03453 (12.4.3 branch) or 12.5.0-02835 (12.5.0 branch)
Reboot required: Yes -- appliance reboots automatically as part of firmware application.
Rollback: Revert to the pre-patch firmware image via AMC/CMC firmware rollback if the hotfix breaks
production VPN service; re-open the compromise-assessment question immediately if you roll back, since
reverting removes the patch that closes CVE-2026-15409/15410.
Step 3b. IF artifacts found: do not patch in place. Factory reset and reimage.
Prerequisites: Confirmed clean configuration backup taken BEFORE 2026-06-22 (the earliest observed
UTA0533 compromise date). If no such backup exists, rebuild configuration manually from documentation
rather than restoring any backup taken during or after the exposure window.
Command: Factory reset via AMC/CMC or physical reset per SonicWall's documented procedure, then reimage
with 12.4.3-03453+ / 12.5.0-02835+ firmware.
Reboot required: Yes (inherent to factory reset/reimage).
Rollback: None -- this IS the rollback/remediation step for a confirmed-compromised appliance. There is
no safe path back to the pre-reset state; the pre-reset state is the compromise.
Note: never restore a configuration backup dated after 2026-06-22 onto a reimaged appliance without first
auditing it for the persistence artifacts listed in Step 2 -- a restored backup can reintroduce the
attacker's init.d/conf.json modifications onto an otherwise-clean appliance.
Playbook 2 — Windows EDR Tamper Protection / Vulnerable-Driver Blocking (BYOVD)
PLAYBOOK 2 — Windows EDR tamper protection / vulnerable-driver blocking (BYOVD mitigation)
Step 1. Enable Falcon Sensor Tampering Protection (if not already enabled).
Prerequisites: Falcon console admin access; sensor policy edit rights.
Command: Falcon console -> Host Setup and Management -> Sensor Update Policies -> [policy] ->
enable "Sensor Tampering Protection"
Reboot required: No
Rollback: Disable the same toggle in the sensor policy if it causes conflicts with an approved
endpoint-management tool; document the exception and re-enable once resolved.
Step 2. Enable the Microsoft vulnerable-driver blocklist.
Prerequisites: Windows 10 2004+ / Windows 11 or Server 2022+; verify via
Get-CimInstance -Namespace root/Microsoft/Windows/DeviceGuard -ClassName Win32_DeviceGuard
that Device Guard / VBS is supported on target hardware.
Command (PowerShell, run as Administrator):
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\CI\Config" `
-Name "VulnerableDriverBlocklistEnable" -Value 1 -Type DWord -Force
Reboot required: Yes -- the blocklist is enforced by Code Integrity at boot.
Rollback:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\CI\Config" `
-Name "VulnerableDriverBlocklistEnable" -Value 0 -Type DWord -Force
then reboot. Roll back only if a legitimate, currently-required driver is blocklisted and no
updated/signed replacement is available yet.
Step 3. Verify enforcement with a benign lab test (do not test against production).
Prerequisites: Isolated lab VM, NOT a production host.
Command: Attempt to load a known-blocklisted test driver in the lab VM and confirm Code Integrity
event 3033/3034 is logged and the load is blocked.
Reboot required: No (lab VM already rebooted in Step 2)
Rollback: N/A (verification step only)
Playbook 3 — Credential and MFA/TOTP Seed Rotation
PLAYBOOK 3 — Credential and MFA/TOTP seed rotation (post-appliance-compromise)
Step 1. Enumerate every account that authenticated through the affected appliance during the exposure
window (2026-06-22 through the confirmed patch/reimage date).
Prerequisites: Appliance or SIEM-forwarded authentication logs covering the full window.
Command: grep/SIEM query against extraweb_access.log and access_servers.log for successful auth events
in the window; export the account list.
Reboot required: No
Rollback: N/A (data-gathering step)
Step 2. Force a password reset for every enumerated account.
Prerequisites: Domain admin or IdP admin rights; enumerated account list from Step 1.
Command (on-prem AD example):
Get-Content accounts.txt | ForEach-Object { Set-ADAccountPassword -Identity $_ -Reset
-NewPassword (ConvertTo-SecureString -AsPlainText "<temp-policy-compliant-password>" -Force) }
Set-ADUser -Identity $_ -ChangePasswordAtLogon $true
Reboot required: No
Rollback: N/A -- a forced reset is not reversible by design; if a reset locks out a legitimate user
before they can respond, use the organization's standard helpdesk re-provisioning process (not a
rollback of the reset itself).
Step 3. Reissue TOTP/MFA seeds for every enumerated account. This is the step most incident responses
skip -- a password reset alone does NOT invalidate a stolen TOTP seed.
Prerequisites: IdP admin console access (Entra ID, Okta, Duo, or equivalent).
Command: IdP admin console -> per user -> revoke existing MFA/authenticator enrollment -> require
re-enrollment on next login. For bulk operations, use the IdP's bulk MFA-reset API/PowerShell module.
Reboot required: No
Rollback: N/A -- do not roll back an MFA reseed. If users are locked out, re-provision through the
standard identity-verification helpdesk process.
Step 4. Confirm no TOTP codes generated from a pre-rotation seed are still being accepted.
Prerequisites: IdP audit log access.
Command: Review IdP sign-in logs for successful MFA challenges tied to the enumerated accounts;
confirm all post-rotation successes reference the new enrollment, not the old one.
Reboot required: No
Rollback: N/A (verification step)
Playbook 4 — Enforce LDAPS/StartTLS for Directory-Service Traffic
PLAYBOOK 4 — Enforce LDAPS/StartTLS for directory-service traffic
Step 1. Inventory current LDAP bind traffic and confirm which is unencrypted.
Prerequisites: Network visibility (packet capture or firewall flow logs) on TCP/389 and TCP/636.
Command: Review firewall/flow logs for TCP/389 traffic volume between the appliance/VPN segment and
domain controllers; any nonzero volume on 389 during the exposure window should be treated as
potentially sniffed per the LDAP-capture finding in Section 7.
Reboot required: No
Rollback: N/A (assessment step)
Step 2. Enable LDAPS (TCP/636) or StartTLS on the domain controllers.
Prerequisites: A valid server certificate installed on each domain controller for LDAPS; AD CS or an
equivalent PKI already issuing DC certificates.
Command (verify LDAPS is listening):
Test-NetConnection -ComputerName <dc-hostname> -Port 636
Reboot required: No (LDAPS listener activates once a valid certificate is present; no reboot needed on
modern Windows Server, though an LDS/AD DS service restart may be required on older builds).
Rollback: Remove/revoke the LDAPS certificate binding if it breaks a legacy LDAP client that cannot
negotiate TLS; re-enable plaintext LDAP only as a temporary bridge while that client is remediated,
and re-close it on a tracked deadline.
Step 3. Reconfigure the SonicWall SMA appliance's directory-service integration to use LDAPS instead of
plaintext LDAP.
Prerequisites: Step 2 complete and verified; SMA admin console access.
Command: AMC/CMC UI -> Authentication -> LDAP Configuration -> set port 636, enable "Use SSL/TLS"
Reboot required: No (configuration change only; connection re-establishes automatically)
Rollback: Revert the LDAP configuration to port 389 without TLS if directory lookups fail after the
change -- only as a temporary measure while troubleshooting the DC certificate, tracked to closure
within 48 hours.
Step 4. Disable plaintext LDAP (port 389) at the domain controller firewall once all clients are
confirmed migrated.
Prerequisites: All directory-integrated systems confirmed using LDAPS/StartTLS (repeat Step 1's traffic
review and confirm zero remaining plaintext bind volume).
Command: Firewall rule blocking inbound TCP/389 to domain controllers from all sources except an
explicitly documented legacy-system exception list.
Reboot required: No
Rollback: Re-open TCP/389 for a specific source if a previously-unidentified legacy client breaks;
add it to the documented exception list and schedule its LDAPS migration.
Containment Runbook
| Phase | Actions | Owner | Evidence to Preserve |
|---|---|---|---|
| ISOLATE | Pull the affected SMA 1000 appliance's WAN-facing interface (do not power off — memory-resident Suo5/ORANGETAIL evidence is lost on reboot). Isolate any internal host hit by Q1-Q9 via Falcon Network Containment. Disable the compromised appliance's LDAP/RADIUS bind account at the directory service. | Network/Infra + SOC | Live memory image of the appliance (Volexity Surge Collect Pro or equivalent) BEFORE any reboot; full packet capture if available; Falcon detection timeline for contained hosts |
| ERADICATE | Run the Section 10 compromise-assessment checklist. If any artifact is found, factory reset and reimage the appliance (Playbook 1, Step 3b) — do not patch in place. Remove any BYOVD driver, PsKill, RMM tool, or Cobalt Strike beacon found on internal hosts. Kill and remove any process matching Q5-Q8. | Infra + IR | Disk image of the appliance and any confirmed-compromised internal host prior to reimage/rebuild; hash and timestamp every removed artifact |
| RECOVER | Reimage/patch the appliance to 12.4.3-03453+ / 12.5.0-02835+. Execute Playbook 3 (credential + MFA seed rotation) for every account active during the exposure window. Execute Playbook 4 (LDAPS) before restoring directory-service connectivity. Restore any internal host from a known-good, pre-exposure-window backup — never from a backup created during the incident window. | Infra + Identity | Post-recovery validation report: patched firmware version, MFA-reset audit log, LDAPS enforcement confirmation, clean scan results on restored hosts |
| MONITOR | Run Q1-Q9 on a recurring schedule for 30 days post-recovery. Keep the gating-User-Agent behavioral signature (Section 10) active as a standing Falcon Firewall/proxy alert. Brief helpdesk on the "Andrew" / helprans[.]com extortion pretext so incoming pressure calls are logged and routed to legal/IR rather than engaged with directly. | SOC | 30-day hunt log; any recurrence immediately escalates back to ISOLATE |
Detection Coverage Map
| Technique | Behavior | CQL | IOA | Coverage |
|---|---|---|---|---|
| T1190 — Exploit Public-Facing App | /wsproxy SSRF bypass | — | — | GAP — no Falcon sensor on appliance; see existing CVE pack + Section 7 logs |
| T1068 — Priv Esc | remove_hotfix path traversal | — | — | GAP — appliance-only; Section 7 log hunt is the only coverage |
| T1055 — Process Injection | KNUCKLEBALL Java Attach API injection of Suo5/ORANGETAIL | — | — | GAP — appliance-only; no EDR visibility into the JVM. Behavioral signature (gating UA) is the sole detection surface |
| T1505.003 — Web Shell | ORANGETAIL implant | — | — | GAP — Section 7 web-log hunt on gating User-Agent is the only coverage |
| T1111 — MFA Interception | TOTP seed theft | — | — | GAP — undetectable after the fact from telemetry; Section 7 reissuance-verification hunt + Playbook 3 is the mitigation, not a detection |
| T1021.001/.002 — Remote Services | RDP / PsExec lateral movement | Q3 | — | Partial — FP med, hunt-only until tuned |
| T1219 — Remote Access Software | AnyDesk/ScreenConnect/TeamViewer staging | Q4 | — | Partial — FP med, hunt-only until tuned |
| T1562.001 — Impair Defenses | BYOVD driver load | Q5 | Recommended (S9) | Good |
| T1562.001 — Impair Defenses | PsKill/ProcessTerminator | Q6 | Recommended (S9) | Good |
| T1003 / T1552.001 — Credential Access | Veeam credential dumper | Q7 | — | Partial — FP med, hunt-only until tuned |
| T1486 / T1489 — Data Encrypted / Service Stop | INC Rust encryptor execution | Q8 | Recommended, Prevent (S9) | Good |
| T1486 — Data Encrypted (generic) | Mass file modification behavior | Q9 | — | Partial — FP med, hunt-only until tuned |
| T1071/T1090 — C2/Proxy | Known attacker IP/ASN contact | Q1, Q2 | Q1 recommended (S9) | Good (Q1) / Partial (Q2) |
| T1040 — Network Sniffing | tcpdump LDAP capture | — | — | GAP — appliance-only; Section 7 filesystem hunt + Playbook 4 (LDAPS) is the mitigation |
Validation gates: see Section 11 for the telemetry-readiness, benign-baseline, positive-test, and IOA-promotion criteria that back this map. Every row marked GAP reflects a genuine blind spot — the SMA 1000 has no Falcon sensor coverage — and is mitigated through vendor log hunting (Section 7) and hardening (Section 12), not through CQL.
Hunt Summary Ticket
TITLE: INC Ransomware post-exploitation hunt -- SonicWall SMA 1000 chain (KNUCKLEBALL / Suo5 / ORANGETAIL)
SEVERITY: Critical
SCOPE: SonicWall SMA 1000 appliances (6210/7210/8200v/CMS) exposed to the internet at any point since
2026-06-22 on firmware prior to 12.4.3-03453 / 12.5.0-02835; all internal hosts, backup infrastructure,
and identity systems reachable from the affected appliance's segment
HYPOTHESIS: An INC Ransomware-affiliated actor (UTA0533) chained CVE-2026-15409/15410 for root access,
deployed KNUCKLEBALL to inject Suo5 and ORANGETAIL into the appliance JVM, harvested credentials and
MFA/TOTP seeds, and has pivoted (or is staging to pivot) into the internal network toward ransomware
deployment.
QUERIES: Q1-Q9 (Section 8) + Section 7 native appliance log hunts
DO FIRST:
1. Confirm appliance firmware version; if pre-patch, treat as compromised until proven otherwise
2. Run Section 7 filesystem/log sweep BEFORE any patch or reboot (memory-resident evidence is volatile)
3. Run Q1 (known attacker IPs) and Q8 (encryptor CLI flags) across the full environment immediately --
these are the highest-confidence, lowest-FP signals for "is this already a live ransomware event"
FINDINGS: [populate during investigation]
GAPS: No Falcon sensor coverage on the SMA 1000 appliance itself (see Section 15 coverage map) --
KNUCKLEBALL/Suo5/ORANGETAIL detection depends entirely on appliance-native logs and vendor YARA
signatures, not EDR telemetry. MFA seed theft is not detectable after the fact; only reissuance
verification (Playbook 3) closes the exposure.
ACTIONS: Patch or reimage per Playbook 1; rotate credentials and MFA seeds per Playbook 3; enforce LDAPS
per Playbook 4; run Q1-Q9 on a 30-day recurring hunt schedule per the Containment Runbook MONITOR phase
OWNER: [assign — SOC/IR lead]
VERSION: v0.1 -- 2026-08-28
Changelog
References
| Tier | Source | Used For | Access Date |
|---|---|---|---|
| Primary | Volexity — Proxying to Compromise: SonicWall SMA 0-day Exploitation | UTA0533 attribution, KNUCKLEBALL/Suo5/ORANGETAIL hashes and injection mechanics, log-line IOCs | 2026-08-28 |
| Primary | SonicWall PSIRT — Advisory SNWLID-2026-0008 | Authoritative CVSS scores, firmware versions, remediation guidance | 2026-08-28 |
| Primary | Rapid7 — MDR Team Discovers New SonicWall SMA1000 Zero Days | Exploitation mechanics, ASN 206092 infrastructure, log-pattern IOCs | 2026-08-28 |
| Secondary | Resecurity — From WSProxy to Root: INC Ransomware and SonicWall SMA Exploit Chain | INC Ransomware attribution, victim geography, extortion tradecraft, consolidated IOCs | 2026-08-28 |
| Secondary | The Hacker News — INC Ransomware Emerges as Dominant Actor | Cross-vendor synthesis, MFA/TOTP seed theft detail, victim count | 2026-08-28 |
| Secondary | BleepingComputer — CISA: SonicWall SMA1000 Flaws Now Exploited by Ransomware Gangs | CISA KEV ransomware flag, exposure count, independent INC attribution confirmation | 2026-08-28 |
| Secondary | Acronis TRU — From Emerging Threat to Top-Tier RaaS: The Evolution of INC Ransomware | Rust encryptor internals, Veeam credential dumper, BYOVD tooling, CLI flags, ransom-note/printer behavior | 2026-08-28 |
| Secondary | Hexnode — INC Ransomware Emerges as a Major RaaS Threat in 2026 | LOLBin lateral movement, RMM/Cobalt Strike usage, BYOVD defense evasion corroboration | 2026-08-28 |
| Related pack | SonicWall-SMA1000-CVE-2026-15409-Hunt.html (published 2026-07-24) | Full exploit-chain technical detail for CVE-2026-15409/15410 — this pack does not duplicate that content | — |
All eight primary/secondary sources above were fetched in full and saved to
INC-SonicWall-Hunt-sources/ at research time for IOC provenance verification. None contained
any content addressed to an AI agent or attempting to redirect this research process.