SonicWall SMA1000 Zero-Day RCE Chain — CVE-2026-15409 + CVE-2026-15410

Unauthenticated SSRF chained to code injection for admin-level command execution on internet-facing SMA 1000 SSL-VPN appliances — exploited in the wild, CISA KEV.
Threat
SMA1000 RCE chain
Severity
EXPLOITED ITW
Type
CVE · edge appliance
Access
Unauth → admin RCE
CVSS
10.0 / 7.2
CISA KEV
2026-07-14
Version
v0.2 · 2026-07-15
Author
HuntPack
Confidence
Medium-High
01

Executive Summary

SonicWall confirmed on 2026-07-14 that two SMA 1000 Series flaws are being exploited in tandem as zero-days. CVE-2026-15409 (CVSS 10.0) is an unauthenticated server-side request forgery (SSRF) in the SMA1000 Appliance Work Place interface; CVE-2026-15410 (CVSS 7.2) is a post-authentication OS command injection in the Appliance Management Console (AMC). Chained, an unauthenticated remote attacker reaches the AMC via the SSRF and injects commands, achieving arbitrary OS command execution with administrative privileges on the appliance. CISA added both to the KEV catalog on 2026-07-14 with a BOD 26-04 federal remediation deadline of 2026-07-17. Fixed builds are v12.4.3-03453 and v12.5.0-02835 (hotfix via SonicWall Support).

The SMA1000 is an SSL-VPN concentrator: a compromise hands the attacker a trusted network position, active VPN sessions, and cached/relayed credentials. The appliance itself does not run a Falcon sensor, so this pack hunts the post-exploitation blast radius on Falcon-covered internal hosts — the appliance acting as a network pivot, first-seen remote logons from the VPN segment, credential access, discovery, ingress tooling, tunneling, and outbound C2 from hosts reachable through the appliance.

As of publication, neither SonicWall PSIRT nor Volexity (Sean Koessel, Steven Adair — credited reporters) has released public atomic IOCs (attacker IPs, webshell hashes). SonicWall is distributing a customer-run IOC script and KB. This pack is therefore behavior-led; the atomic IOC blocks ship as placeholders to fill from the SonicWall KB / your incident.

Defender priority: Treat every internet-exposed SMA1000 as potentially compromised until the hotfix is applied and logs are reviewed. Patching alone does not evict an attacker who already has admin. Hotfix → run SonicWall's IOC script → rotate all appliance admin + VPN + reachable-domain credentials → then hunt the internal segment with Q1–Q8 below.

02

Source Review & Web Hunter Notes

TierSourceKey FindingCarry Fwd
1SonicWall PSIRT product notice (kA1VN000001nv6D0AQ)Both CVEs exploited in the wild; hotfix builds v12.4.3-03453 / v12.5.0-02835; customer IOC script offeredyes
1CISA KEV catalog (added 2026-07-14)CVE-2026-15409 & CVE-2026-15410 added; BOD 26-04 deadline 2026-07-17yes
2Volexity (Koessel & Adair) via SecurityWeek / THNConfirmed active exploitation; "patching alone is not sufficient — review logs"yes
2Help Net Security (2026-07-14)SSRF (10.0) + code injection (7.2) chained by unauth attacker to admin command execyes
2BleepingComputer (2026-07-14)Zero-day attacks; contact SonicWall Support for hotfix; disconnect if unpatchableyes

Intel gap: No public atomic IOCs at publication. Reporters withheld attacker infrastructure and webshell hashes; SonicWall's detail lives in a customer KB + IOC script. Detection here is behavior-first; enrich the IOC appendix from the SonicWall KB and your own appliance logs.

03

Hunt Brief & Attack Chain

The appliance is off-sensor, so hunt the seam where the attacker steps from the appliance into Falcon-covered infrastructure. Every hypothesis below assumes you can supply the appliance's internal interface IP and the VPN client subnet.

Attack chain

#StepTelemetry (where visible)Hunt Angle
1Unauth SSRF on Work Place interface (CVE-2026-15409)Appliance / WAF / proxy logs (off-Falcon)Appliance making unexpected internal/loopback requests; Q1 flags the resulting pivot traffic on internal hosts
2SSRF reaches AMC → command injection (CVE-2026-15410)Appliance AMC logs (off-Falcon)Native audit hunt §7 — review AMC logins & config changes via SonicWall script
3Appliance as network pivot into the LANNetworkConnectIP4Q1 — inbound connections sourced from the appliance IP to internal hosts
4Valid-account / VPN-session abuse → remote logon to serversUserLogonQ2 — first-seen network/RDP logons from the VPN segment
5Credential access on reachable hostsProcessRollup2Q3 — LSASS dump tradecraft
6Lateral tooling: remote service / task creationProcessRollup2, service/task eventsQ4 — service/task-install spawns after inbound pivot
7Hands-on-keyboard discoveryProcessRollup2Q5 — recon command burst from one host
8Ingress tool transferProcessRollup2Q6 — LOLBin downloaders
9Tunneling / proxy to extend accessProcessRollup2Q8 — ngrok/plink/chisel-class tools
10Outbound C2 / exfilNetworkConnectIP4Q7 — rare-destination beaconing from the reachable segment

Hypotheses (fidelity-ordered)

  1. H1 (high): Post-compromise the appliance initiates connections to internal hosts it never normally talks to.
  2. H2 (high): Credential-dump tradecraft (comsvcs MiniDump / procdump on lsass) appears on a host reachable from the VPN segment.
  3. H3 (medium): A first-seen admin remote logon arrives from the VPN client subnet to a server.
  4. H4 (medium): Tunneling/proxy binaries run on internal hosts to relay the attacker deeper.
  5. H5 (medium): A single host emits a tight discovery burst (whoami/nltest/net) consistent with hands-on-keyboard.
  6. H6 (medium): LOLBin ingress-tool-transfer downloads land on reachable hosts.
  7. H7 (medium): Remote service/scheduled-task creation follows an inbound pivot connection.
  8. H8 (low): Rare-destination outbound beaconing from the reachable subnet indicates staged C2.
04

Consolidated IOC Table

No vendor-published atomic IOCs exist at publication. The table below is the analyst-supplied and behavioral indicator set that drives the hunt; fill the atomic rows from the SonicWall KB / IOC-script output and your incident.

TypeValueConfidenceActionContext
CVECVE-2026-15409highpatchUnauth SSRF, SMA1000 Work Place interface, CVSS 10.0
CVECVE-2026-15410highpatchPost-auth OS command injection, AMC, CVSS 7.2
Fixed buildv12.4.3-03453 / v12.5.0-02835highenrichPatched hotfix versions — anything below is vulnerable
host-ipREPLACE_WITH_SMA1000_APPLIANCE_IPhighhuntInternal interface IP of your SMA1000 — pivot source in Q1
ip-rangeREPLACE_WITH_VPN_CLIENT_SUBNETmediumhuntVPN client pool — logon-origin scope in Q2
behaviorAppliance-sourced inbound connections to new internal hostsmediumhuntNetwork pivot from compromised appliance
ip / hashREPLACE_WITH_KB_IOCmediumdetectPopulate from SonicWall KB / IOC script when released
05

Affected Surface & Telemetry Matrix

SurfaceRequired TelemetryPriorityGap Risk
SMA 1000 Series appliance (12.4.x / 12.5.x)Appliance syslog, AMC audit, WAF/proxy logsCriticalHigh — off-Falcon; needs syslog to SIEM
Internal hosts reachable from VPN segmentNetworkConnectIP4, ProcessRollup2, UserLogonCriticalLow — Falcon-covered
Domain controllers / identityUserLogon, UserLogonFailed, AD auditHighMedium — ensure DCs report
Egress from appliance mgmt interfaceFirewall / NGFW connection logsHighMedium — SSRF pivot detection
06

ATT&CK Mapping

TacticTechniqueObserved BehaviorQuery / Control
Initial AccessT1190 Exploit Public-Facing ApplicationSSRF + command injection chain on SMA1000Patch · §7
Command & ControlT1090 Proxy / T1572 Protocol TunnelingAppliance / internal host relays attacker trafficQ1 · Q8
Lateral MovementT1210 Exploitation of Remote ServicesAppliance-sourced connections to internal hostsQ1
Lateral MovementT1021 Remote Services (SMB/RDP/WinRM)First-seen remote logon from VPN segmentQ2
Credential AccessT1003.001 LSASS Memorycomsvcs MiniDump / procdump on lsassQ3
Defense Evasion / PersistenceT1543.003 Service · T1053.005 Scheduled TaskRemote service/task creation for footholdQ4
DiscoveryT1087 / T1082 / T1018Recon command burst from one hostQ5
Command & ControlT1105 Ingress Tool TransferLOLBin downloaders pull attacker toolingQ6
Command & ControlT1071 Application Layer ProtocolRare-destination outbound beaconingQ7
Credential Access / Defense EvasionT1078 Valid AccountsAbuse of VPN/session credentialsQ2 · §12
07

Native Audit-Log Hunts (non-CQL)

The highest-value evidence for steps 1–2 lives on the appliance, not in Falcon. Run these directly:

  • SonicWall IOC script: obtain and run the customer IOC script from SonicWall Support / KB on every SMA1000. This is the authoritative check for on-appliance compromise.
  • AMC audit review: inspect Appliance Management Console access logs for unexpected admin logins, config exports, or new local admin accounts around the exposure window.
  • Work Place / proxy logs: look for anomalous internal or loopback request targets originating from the appliance (SSRF fingerprints), and for unusual outbound requests from the management interface.
  • Firmware version audit: confirm every appliance is at v12.4.3-03453 / v12.5.0-02835 or later; treat anything below as vulnerable and potentially breached.
  • VPN session review: enumerate active/recent VPN sessions and OTP bindings; look for sessions from unexpected geographies or impossible-travel patterns.
08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.

Every query needs one analyst input: replace REPLACE_WITH_SMA1000_APPLIANCE_IP / REPLACE_WITH_VPN_CLIENT_SUBNET with your values before running. Start with Q1 and Q3 — highest fidelity.

Q1 · Appliance-sourced pivot connections to internal hosts
CONF HIGHFP MEDCOST LOW

Looks for: internal hosts receiving connections whose remote peer is the SMA1000 appliance — the appliance acting as a pivot after compromise. FP: legitimate appliance health checks / auth callbacks to known backends (RADIUS/LDAP/DC) — exclude those hosts/ports.

// HUNT: SMA1000 appliance acting as network pivot into the LAN
// MITRE: T1210, T1090 | CONF: high  FP: med  COST: low | REQUIRES: NetworkConnectIP4
// FALSE POSITIVES: appliance auth callbacks to RADIUS/LDAP/DC backends
// TUNING: exclude known backend hosts and ports 389/636/1812/1813
#event_simpleName=/NetworkConnectIP4/
| RemoteAddressIP4="REPLACE_WITH_SMA1000_APPLIANCE_IP"
| RemotePort!="389" | RemotePort!="636" | RemotePort!="1812"
| groupBy([ComputerName, aid, LocalPort, RemotePort], function=count(as=conns))
| table([ComputerName, aid, LocalPort, RemotePort, conns], limit=200)
Q2 · First-seen remote logons from the VPN segment
CONF MEDFP MEDCOST LOW

Looks for: network/RDP logons (types 3 and 10) whose source falls in the VPN client pool, surfacing accounts and targets touched via the appliance. FP: routine remote-worker VPN logons — baseline normal users, then investigate admin accounts / new user↔host pairs.

// HUNT: remote logons originating from the VPN client subnet
// MITRE: T1021, T1078 | CONF: med  FP: med  COST: low | REQUIRES: UserLogon
// FALSE POSITIVES: normal remote-worker VPN logons
// TUNING: keep LogonType 3/10; exclude service accounts; focus admin group members
#event_simpleName=/UserLogon/
| LogonType="3" | RemoteAddressIP4="REPLACE_WITH_VPN_CLIENT_SUBNET"
| groupBy([UserName, ComputerName, LogonType], function=count(as=logons))
| table([UserName, ComputerName, LogonType, RemoteAddressIP4, logons], limit=200)
Q3 · LSASS credential-dump tradecraft
CONF HIGHFP LOWCOST LOW

Looks for: comsvcs.dll MiniDump, procdump against lsass, and rundll32 MiniDump on reachable hosts — classic credential access after an appliance breach.

// HUNT: LSASS memory dump via comsvcs/procdump/rundll32
// MITRE: T1003.001 | CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2
// FALSE POSITIVES: sanctioned DFIR memory capture — confirm operator + change ticket
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| CommandLine=/(comsvcs\.dll.{0,40}MiniDump|procdump.{0,20}lsass|rundll32.{0,40}MiniDump)/i
| table([ComputerName, aid, UserName, FileName, ParentBaseFileName, CommandLine], limit=200)
Q4 · Remote service / scheduled-task install for foothold
CONF MEDFP MEDCOST LOW

Looks for: sc.exe / schtasks / PsExec-style service creation, a common lateral-foothold step. FP: software deployment and RMM agents install services — exclude known deployment accounts and RMM parent processes.

// HUNT: service / scheduled-task creation (lateral foothold)
// MITRE: T1543.003, T1053.005, T1569.002 | CONF: med  FP: med  COST: low | REQUIRES: ProcessRollup2
// FALSE POSITIVES: SCCM/Intune/RMM software deployment
// TUNING: exclude deployment service accounts and known RMM ParentBaseFileName
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(sc|schtasks|psexesvc|paexec)(\.exe)?$/i
| CommandLine=/(create|\/tn |binpath|start= auto)/i
| table([ComputerName, aid, UserName, FileName, ParentBaseFileName, CommandLine], limit=200)
Q5 · Hands-on-keyboard discovery burst
CONF MEDFP MEDCOST LOW

Looks for: a cluster of built-in recon utilities on one host in a short window — the fingerprint of interactive post-exploitation. FP: admin/login scripts and inventory tools run these too — the value is many distinct recon binaries on one host, not a single run.

// HUNT: discovery command burst from a single host
// MITRE: T1087, T1082, T1018, T1016 | CONF: med  FP: med  COST: low | REQUIRES: ProcessRollup2
// FALSE POSITIVES: logon scripts, asset-inventory agents
// TUNING: alert when distinct recon binaries on one host in 10m is high; exclude inventory service accounts
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(whoami|nltest|net1?|systeminfo|ipconfig|arp|route|quser|tasklist|nltestrk)(\.exe)?$/i
| groupBy([ComputerName, aid], function=count(field=FileName, as=recon, distinct=true))
| table([ComputerName, aid, recon], limit=200)
Q6 · LOLBin ingress tool transfer
CONF MEDFP MEDCOST LOW

Looks for: certutil urlcache, bitsadmin transfer, curl to http, and PowerShell download cradles fetching second-stage tooling. FP: admin scripts and updaters use these — pair with an external destination and an unusual parent.

// HUNT: LOLBin downloaders pulling attacker tooling
// MITRE: T1105 | CONF: med  FP: med  COST: low | REQUIRES: ProcessRollup2
// FALSE POSITIVES: legitimate admin/update scripts
// TUNING: require external URL; exclude patch-management ParentBaseFileName
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| CommandLine=/(certutil.{0,30}urlcache|bitsadmin.{0,30}transfer|curl\s.{0,40}http|Invoke-WebRequest|DownloadString|DownloadFile|wget\s.{0,40}http)/i
| table([ComputerName, aid, UserName, FileName, ParentBaseFileName, CommandLine], limit=200)
Q7 · Rare-destination outbound beaconing from reachable hosts
CONF MEDFP HIGHCOST MED

Looks for: internal hosts making outbound connections to a small set of external peers — candidate staged C2. FP: very noisy; CDNs, SaaS, and updaters dominate — treat as a triage pivot, rank by rarity and non-browser parent, never alert alone.

// HUNT: rare external destinations from the reachable segment
// MITRE: T1071, T1571 | CONF: med  FP: high  COST: med | REQUIRES: NetworkConnectIP4
// FALSE POSITIVES: CDNs, SaaS, software updaters
// TUNING: allowlist corporate egress ranges/known SaaS; keep non-browser ContextBaseFileName
#event_simpleName=/NetworkConnectIP4/
| ConnectionDirection="0"
| RemotePort=/^(443|8443|53|4443|8080|1194|1080)$/
| groupBy([RemoteAddressIP4, RemotePort, ContextBaseFileName], function=count(field=ComputerName, as=hosts, distinct=true))
| table([RemoteAddressIP4, RemotePort, ContextBaseFileName, hosts], limit=200)
Q8 · Tunneling / proxy tooling on internal hosts
CONF HIGHFP LOWCOST LOW

Looks for: ngrok, plink, chisel, frpc, gost, ssf and similar reverse-tunnel/proxy binaries used to extend access from a compromised edge.

// HUNT: reverse-tunnel / proxy tooling
// MITRE: T1572, T1090 | CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2
// FALSE POSITIVES: sanctioned admin tunnels (plink for jump hosts) — confirm operator
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(ngrok|plink|chisel|frpc|frps|gost|ssf|nps|netsh)(\.exe)?$/i
| table([ComputerName, aid, UserName, FileName, ParentBaseFileName, CommandLine], limit=200)
09

CrowdStrike Custom IOA Recommendations

IOA NamePatternExclusionsDeployment
LSASS MiniDump via comsvcs/rundll32Process create, CommandLine contains comsvcs.dll + MiniDumpSanctioned DFIR hostsPromote Q3 — high fidelity, low FP
Reverse-tunnel binary executionImageFileName matches ngrok/chisel/frpc/gost/ssfApproved admin-tunnel hostsPromote Q8 — Detect/Prevent on servers
Appliance-IP inbound pivotNetwork connect where remote peer = SMA1000 IP to non-backend portKnown auth backends/portsInvestigate-only — env-specific, keep as scheduled search Q1

Q2, Q5, Q6, Q7 stay investigate-only hunt/scheduled searches — too environment-dependent for a low-FP IOA without local tuning.

10

Machine-Readable IOC Appendix

No vendor atomic IOCs at publication — the CSV ships with placeholders. Fill from the SonicWall KB / IOC-script output, then bulk-import.

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
ipv4,REPLACE_WITH_ATTACKER_IP,detect,critical,2027-01-15,SMA1000 exploit source,campaign:SMA1000-RCE
sha256,REPLACE_WITH_WEBSHELL_SHA256,prevent,critical,2027-01-15,SMA1000 dropped tooling,campaign:SMA1000-RCE
domain,REPLACE_WITH_C2,detect,high,2026-10-15,SMA1000 post-exploit C2,campaign:SMA1000-RCE
Behavioral Signatureshunt logic
- Appliance-IP as source of inbound LAN connections (Q1)
- LSASS MiniDump via comsvcs/procdump/rundll32 (Q3)
- Reverse-tunnel binaries: ngrok/chisel/frpc/gost/ssf (Q8)
- Discovery burst: many distinct recon LOLBins on one host (Q5)
- First-seen admin remote logon from VPN subnet (Q2)
Named Tooling / Versionsreference
CVE-2026-15409  SSRF  CVSS 10.0  SMA1000 Work Place
CVE-2026-15410  OS command injection  CVSS 7.2  AMC
Vulnerable: SMA 1000 Series below v12.4.3-03453 / v12.5.0-02835
Fixed: v12.4.3-03453 , v12.5.0-02835
Patch / Exposure Auditchecklist
[ ] Inventory all SMA 1000 Series appliances + firmware build
[ ] Confirm build >= v12.4.3-03453 or v12.5.0-02835
[ ] Run SonicWall customer IOC script on each appliance
[ ] Confirm AMC not reachable from the internet
[ ] Rotate appliance admin + VPN + reachable-domain creds
[ ] Reset OTP/MFA seeds; review active VPN sessions
11

Detection Validation Gates

GateCheckPass Criteria
Telemetry readyNetworkConnectIP4, ProcessRollup2, UserLogon present for the reachable segment + DCsAll three event types returning in last 24h
Inputs suppliedAppliance IP + VPN subnet substituted into Q1/Q2/Q7No REPLACE_WITH_ tokens left in the run
Benign baselineRun Q1 over 7 days pre-incidentKnown appliance backends catalogued & excluded
Positive testIn a lab, run comsvcs MiniDump on a covered hostQ3 fires
PromotionQ3 & Q8 tuned FP-clean for 1 weekPromote to Custom IOA per §9
12

Hardening — Tiered & Deployable

Immediate (this week — no compatibility risk)
  • Apply the hotfix (v12.4.3-03453 / v12.5.0-02835) on every SMA1000, or disconnect the appliance if it cannot be patched. M1051 SonicWall PSIRT notice.
  • Run SonicWall's IOC script and rotate all appliance admin, VPN, and reachable-domain credentials; reset OTP/MFA seeds. M1027
  • Remove AMC from internet exposure — restrict the Appliance Management Console to a management VLAN / jump host only. M1035 Limit Access to Resource Over Network.
Near term (1–4 weeks — pilot first)
  • Egress-filter the appliance so it can only reach known auth backends — neutralises the SSRF pivot. M1037 Filter Network Traffic.
  • Enforce phishing-resistant MFA on all VPN portals and admin logins. M1032 Multi-factor Authentication.
  • Segment the VPN-reachable zone; ensure Falcon on every reachable host; enable LSASS protection / Credential Guard + ASR credential-theft rule. M1043 M1038
  • Ship SMA1000 syslog to the SIEM; alert on AMC logins and config changes. M1047 Audit.
Strategic (1–3 months — architectural)
  • Move to ZTNA / identity-aware remote access, retiring the internet-facing legacy SSL-VPN portal. M1030 Network Segmentation.
  • Edge-device patch SLA aligned to BOD 26-04; subscribe to SonicWall PSIRT; auto-track firmware currency.
  • Deploy a canary/decoy in the VPN segment and continuously monitor internet-facing attack surface. M1056
13

Deployable Playbooks

1 · Restrict SMA1000 management + egress (NGFW policy, pseudo-config)

# Allow AMC (mgmt console) only from the admin jump subnet
access-rule from ADMIN_JUMP to SMA1000_MGMT service HTTPS action allow
access-rule from ANY        to SMA1000_MGMT service HTTPS action deny log
# Constrain appliance egress to known auth backends only (kills SSRF pivot)
access-rule from SMA1000 to AUTH_BACKENDS service LDAP,LDAPS,RADIUS action allow
access-rule from SMA1000 to ANY service ANY action deny log

2 · Enable LSASS protection + Credential Guard on reachable Windows servers (PowerShell)

# RunAsPPL — protect LSASS from userland dumping
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" `
  -Name RunAsPPL -Value 1 -PropertyType DWORD -Force
# Credential Guard via VBS (requires reboot; pilot on a ring first)
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" `
  -Name EnableVirtualizationBasedSecurity -Value 1 -PropertyType DWORD -Force
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" `
  -Name LsaCfgFlags -Value 1 -PropertyType DWORD -Force

3 · ASR rule — block credential theft from LSASS (GPO / PowerShell)

# Defender ASR: Block credential stealing from lsass.exe
Add-MpPreference -AttackSurfaceReductionRules_Ids `
  9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 `
  -AttackSurfaceReductionRules_Actions Enabled

4 · Post-hardening CQL spot-check

# Re-run Q3 after RunAsPPL/ASR rollout — expect zero successful lsass dumps
# Any hit post-deployment = tampering or a gap; escalate immediately.
14

Containment Runbook

PhaseActionsOwnerEvidence
IsolateApply hotfix or take appliance offline; block AMC at the perimeter; if compromise confirmed, network-contain reachable hosts flagged by Q1–Q8Network / IRFirmware build, firewall change ticket, Falcon containment log
EradicateRun SonicWall IOC script; rebuild/reimage a confirmed-compromised appliance from clean firmware; rotate all appliance admin, VPN, and exposed domain credentials; reset OTP/MFA seeds; remove attacker services/tasks/tooling found on internal hostsIR / IAMIOC-script output, credential-rotation record, host remediation notes
RecoverRestore patched appliance behind MFA + restricted AMC; re-enable VPN with egress filtering; monitor Q1–Q8 for 30 days; confirm syslog to SIEMNetwork / SOCValidation-gate results, 30-day monitoring dashboard
15

Detection Coverage Map

TechniqueBehaviorCQLIOACoverage
T1190 Exploit Public-Facing AppSSRF + injection on applianceGAP — off-Falcon; §7 native + patch
T1210 / T1090 PivotAppliance-sourced LAN connectionsQ1InvestigatePartial — needs appliance IP
T1021 / T1078 Remote logonFirst-seen logon from VPN subnetQ2Partial — baseline-dependent
T1003.001 LSASS dumpcomsvcs/procdump/rundll32Q3YesGood
T1543.003 / T1053.005 FootholdService/task installQ4Partial
T1087/T1082/T1018 DiscoveryRecon burstQ5Partial
T1105 Ingress tool transferLOLBin downloadersQ6Partial
T1071/T1571 C2Rare-destination beaconingQ7Weak — high FP, pivot only
T1572/T1090 Tunnelingngrok/chisel/frpc/gostQ8YesGood

Validation: the on-appliance exploitation itself (steps 1–2) is a permanent Falcon gap — cover it with appliance syslog + the SonicWall IOC script (§7). Falcon coverage is strongest on the credential-access and tunneling stages; the pivot/logon queries are high-value but require the analyst to supply the appliance IP and VPN subnet and to baseline first.

16

Hunt Summary Ticket

TITLE:      SonicWall SMA1000 Zero-Day RCE Chain (CVE-2026-15409 + CVE-2026-15410)
SEVERITY:   Critical — exploited in the wild, CISA KEV, BOD 26-04 due 2026-07-17
SCOPE:      SMA 1000 Series appliances + hosts reachable from the VPN segment
HYPOTHESIS: Attacker chained SSRF+injection to admin RCE on the appliance and
            pivoted into the LAN (creds, lateral movement, tunneling).
QUERIES:    Q1 appliance pivot · Q2 VPN-subnet logons · Q3 LSASS dump ·
            Q4 service/task · Q5 discovery · Q6 ingress tool · Q7 C2 · Q8 tunneling
DO FIRST:   Patch/isolate appliance -> run SonicWall IOC script -> rotate creds
            -> supply appliance IP + VPN subnet -> run Q1 and Q3
FINDINGS:   <fill after run>
GAPS:       On-appliance exploitation off-Falcon; no public atomic IOCs at pub
ACTIONS:    Hotfix, restrict AMC, egress-filter appliance, MFA, LSASS protection
OWNER:      HuntPack
VERSION:    v0.2 · 2026-07-15
17

Changelog

v0.22026-07-24CQL correctness pass. All table() calls now carry an explicit row limit: the default is 200 and truncation is silent, so a capped result was indistinguishable from a complete one. Atomic-IOC sweeps (filters over 5+ hashes or C2 IPs) use limit=max so a wide infection is never silently under-scoped; behavioural hunts use limit=200, where exceeding the cap indicates the query needs tuning. Where present, event names that do not exist in the Falcon data model were corrected (e.g. ServiceInstalled is a Sysmon concept, not a Falcon event; ElfFileWritten is ELFFileWritten) — such queries could never return a row. No detection logic, fields, or IOCs changed.
v0.12026-07-15Initial HuntPack — 8 CQL hunts, IOA recs, tiered hardening, playbooks, containment. Behavior-led (no public atomic IOCs at publication); IOC CSV shipped as placeholders to fill from the SonicWall KB.
18

References

TierSourceUsed ForAccess Date
1SonicWall PSIRT product noticeCVE details, fixed builds, IOC script2026-07-15
1CISA KEV catalogKEV addition 2026-07-14, BOD 26-04 deadline2026-07-15
2Help Net SecurityChained exploitation mechanics, CVSS2026-07-15
2SecurityWeekVolexity attribution, "patch alone insufficient"2026-07-15
2BleepingComputerHotfix guidance, disconnect-if-unpatchable2026-07-15
3MITRE ATT&CKTechnique + mitigation mapping2026-07-15