CVE-2026-33824 — Windows IKE Extensions (IKEEXT) Double-Free Remote Code Execution HuntPack

Unauthenticated, wormable-class RCE as SYSTEM via crafted fragmented IKEv2 packets on UDP 500 / 4500 (NAT-T) · patched April 2026 · added to CISA KEV 2026-08-18 after Unit 42 observed manual reverse-shell attempts against 3 IKE VPN endpoints
Threat
CVE-2026-33824 (Windows IKEEXT)
Severity
EXPLOITED ITW · CVSS 9.8
Type
Network Service · Double-Free RCE
Access Vector
Unauthenticated, network, UDP 500/4500
Version
v0.1 · 2026-08-20
Author
HuntPack
Confidence
High (behavioral) · No public atomic IOCs
Generated
2026-08-20
01

Executive Summary

CVE-2026-33824 is a critical (CVSS 9.8) double-free vulnerability (CWE-415) in the Windows IKE and AuthIP IPsec Keying Modules service extension (ikeext.dll, the IKEEXT service), reachable by sending specially crafted, fragmented IKEv2 packets to UDP port 500 or 4500 (NAT-T). Per Zero Day Initiative's technical writeup, IkeReinjectReassembledPacket() shallow-copies a Main Mode Security Association (MMSA) blob pointer (structure offset 0x208) into a stack variable while IkeQueueRecvRequest() deep-copies the reassembly buffer but not that pointer; the work-item thread's IkeDestroyPacketContext() frees the blob once, and a later IkeCleanupMMNegotiation()IkeDerefMMSA()IkeFreeMMSA() call frees the same allocation a second time. The trigger is a crafted IKE_SA_INIT message followed by two or more Encrypted Fragment (SKF) payloads containing an invalid IKE_AUTH message — no authentication and no user interaction are required, and because IKEEXT runs as SYSTEM, successful exploitation yields SYSTEM-level remote code execution. Microsoft patched it in the April 2026 security update cycle (ZDI disclosure 2026-04-22).

On 2026-08-18, CISA added CVE-2026-33824 to the Known Exploited Vulnerabilities (KEV) catalog with a short (3-day) federal remediation deadline. The trigger was Palo Alto Networks Unit 42's report "Chinese-Speaking Threat Actor Harnesses AI Models for Autonomous Cyberattacks", which documents a Zhuhai, China-based actor (aliases knaithe / KnYuan) who, as part of a broader campaign combining autonomous DeepSeek/Hermes-Agent-driven exploitation with hands-on-keyboard activity, manually sent reverse-shell callback attempts against three internet-facing IKE VPN endpoints using this CVE. Unit 42 is explicit that this activity was manual, separate from the actor's autonomous-AI attempts against other CVEs, and the campaign-wide "460+ targets" figure is not the CVE-2026-33824 victim count — only 3 endpoints were targeted through this flaw.

Exploitation is four months after patch availability, meaning every internet-reachable Windows IKE responder (RRAS/IKEv2 VPN gateway, IPsec-secured server-to-server link, DirectAccess/Always On VPN server) still running an unpatched build is at immediate risk. The CVSS vector (AV:N/AC:L/PR:N/UI:N) places this in the same wormable class as EternalBlue/BlueKeep-style flaws, though no self-propagating/worm activity has been observed in the wild as of 2026-08-20 — only the three manually-targeted endpoints reported by Unit 42.

Defender priority: Patch every Windows host that runs an IKE responder role immediately, then hunt for the exploitation signature: unexpected restarts of the svchost.exe process hosting IKEEXT, crash/fault telemetry referencing ikeext.dll, an unexpected child process spawned from that svchost.exe, and any outbound connection from that process or its child (the reverse-shell pivot).

IOC provenance note: No atomic IOCs (source IPs, callback destinations, or file hashes) have been publicly disclosed for the in-the-wild IKE exploitation as of 2026-08-20. Unit 42's own report describes the IKE activity as manual reverse-shell attempts against three endpoints but publishes no IKE-specific indicators; the IOCs it does publish (AI-model API and proxy hosts plus Telegram C2) belong to the actor's broader AI-tooling infrastructure, not confirmed IKE callback infrastructure. Gridinsoft's analysis independently confirms: "the public evidence confirms attempts to obtain a reverse shell, but it does not provide a unique IKE-specific file hash, process name, or complete victim count." This pack is therefore intentionally behavioral. Every IOC-appendix atomic field ships as a labelled REPLACE_WITH_… placeholder — nothing is fabricated.

02

Source Review & Web Hunter Notes

TierSourceKey FindingCarry Fwd
1Zero Day Initiative — CVE-2026-33824 technical writeup (2026-04-22)Root-cause: double-free via IkeReinjectReassembledPacket shallow-copy of MMSA blob pointer (offset 0x208); freed first by IkeDestroyPacketContext, freed again by IkeCleanupMMNegotiation→IkeDerefMMSA→IkeFreeMMSA. Trigger: IKE_SA_INIT + 2+ SKF fragments forming an invalid IKE_AUTH. Credits WARP & MORSE (Microsoft) and TrendAI Research (Richard Chen, Lucas Miller).yes
1Palo Alto Networks Unit 42 — "Chinese-Speaking Threat Actor Harnesses AI Models for Autonomous Cyberattacks" (primary source, located via search)Actor knaithe/KnYuan (Zhuhai, China) manually sent reverse-shell callbacks against 3 IKE VPN endpoints via CVE-2026-33824, distinct from the actor's autonomous DeepSeek/Hermes-Agent attempts against other CVEs. Campaign observed ~2026-05-07. No IKE-specific atomic indicators published.yes
2The Hacker News — KEV roundup (2026-08)Confirms CISA KEV addition 2026-08-18; CVSS 9.8; attributes Unit 42 finding of Chinese-speaking actor exploitation alongside AI-enabled campaign context. Does not independently detail the reverse-shell mechanics.yes
2cvefeed.io — CVE detail pageCWE-415 (Double Free); KEV listed 2026-08-18, remediation due 2026-08-21; 16 affected Microsoft products across Windows 10/11 and Server 2016–2025 branches.yes
2SentinelOne Vulnerability Database (correct CVE URL — see note)Full CVSS vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H; UDP 500/4500 attack surface; lists behavioral detection guidance (IKEEXT crashes, ikeext.dll fault events, anomalous svchost.exe child processes) that independently corroborates this pack's detection design.yes
2Gridinsoft Blog — exploitation writeupScopes real-world exposure (ordinary PCs not at risk unless acting as an internet-reachable IKE responder); explicitly states no IKE-specific hash/process name/victim count has been published; recommends patch + exposure audit.yes

Sources deliberately not used: the task-supplied SentinelOne URL for CVE-2026-68820 was verified to be a different, unrelated CVE and was not used; the correct CVE-2026-33824 SentinelOne URL was located and used instead. CVE-2026-68820 (Lazarus / AFD.sys / Operation Dream Job) is a separate, already-published HuntPack and is not referenced here.

Carry-forward decision: Build a behavioral pack anchored on the ZDI root-cause writeup (which process/DLL/service is involved and why it crashes) and the Unit 42 primary source (confirms manual reverse-shell exploitation against 3 endpoints, no atomic IOCs). No third-party indicator is imported as fact.

03

Hunt Brief & Attack Chain

Hunt hypotheses (ordered by fidelity)

  1. H1 (high): The svchost.exe process hosting IKEEXT (command line contains -s IKEEXT) launches/restarts more than once on a host outside of a normal boot — the Service Control Manager auto-restarting a service whose host process just crashed is the earliest, lowest-cost signal of an exploitation attempt (successful or failed).
  2. H2 (high): A child process is spawned from the IKEEXT-hosting svchost.exe — in benign operation this service never spawns child processes, so any child process is a strong RCE/pivot signal.
  3. H3 (high): The IKEEXT-hosting svchost.exe process itself opens an outbound network connection — possible in-process reverse-shell callback without a distinct child process.
  4. H4 (high): A process that is a child of the IKEEXT-hosting svchost.exe opens an outbound network connection — the two-hop reverse-shell chain matching Unit 42's "manually sent reverse-shell callback" description.
  5. H5 (medium, native only): Windows Security log records repeated IPsec Main Mode negotiation failures (Event ID 4653) from a single external source — the network-level probing/exploitation signature. Falcon EDR does not parse IKE protocol payloads, so this is a native audit-log hunt, not a CQL query.
  6. H6 (medium, native only): Windows System log records Service Control Manager crash events (7031/7034) for IKEEXT, or Application log records a WER crash (Event ID 1000/1001) with faulting module ikeext.dll — the most direct native crash signature.
  7. H7 (medium): Post-compromise persistence — a service or scheduled task is created by a process descending from the compromised IKEEXT svchost.exe shortly after the crash/restart window.
  8. H8 (scoping, not an attack signal): Attack-surface baseline — identify which hosts have an active listener on UDP 500/4500 to prioritize patching and hunting.

Attack chain

#StepTelemetryHunt Angle
1Recon: identify an internet-reachable Windows IKE responder (RRAS/IKEv2 gateway, IPsec server-to-server link)Falcon NetworkListenIP4; perimeter scan telemetryExposure baseline (H8)
2Send crafted IKE_SA_INIT + 2+ SKF fragments forming an invalid IKE_AUTH to UDP 500/4500Windows Security log (Event ID 4653); perimeter firewall/IDS UDP 500/4500 flow logsNative probing hunt (H5)
3Double-free triggers inside ikeext.dll within the IKEEXT-hosting svchost.exe (SYSTEM)Windows System/Application log (7031/7034, WER 1000/1001 faulting module ikeext.dll)Native crash hunt (H6)
4aFailed/probing attempt: process crashes, Service Control Manager restarts itFalcon ProcessRollup2 — repeated svchost.exe -s IKEEXT launchesCrash-restart hunt (H1)
4bSuccessful exploitation: attacker gains SYSTEM code execution inside the IKEEXT svchost.exeFalcon ProcessRollup2 parent/child correlationChild-process pivot hunt (H2)
5Reverse-shell callback opened from the compromised svchost.exe or its child (Unit 42's observed "manual reverse-shell callback attempts")Falcon NetworkConnectIP4 joined to the IKEEXT PID chainReverse-shell hunt (H3, H4)
6Post-compromise persistence (optional)Falcon ProcessRollup2sc.exe/schtasks.exe descending from the PID chainPersistence hunt (H7)
7(Unconfirmed ITW) Wormable re-targeting of other IKE-exposed hosts from the new SYSTEM footholdFalcon NetworkConnectIP4 to UDP 500/4500 destinations from a host with an H2/H4 hitCoverage gap — no worm behavior observed as of 2026-08-20; monitor for it
04

Consolidated IOC Table

No public atomic IOCs for the in-the-wild IKE exploitation. No source reviewed for this pack publishes an attacker source IP, reverse-shell callback IP/domain, or file hash tied specifically to the CVE-2026-33824 exploitation against the three Unit 42-observed endpoints. Per this pack's provenance rule, nothing is fabricated. The rows below are behavioral / log-based — that is the available hunt surface today.

TypeValue / SignatureConfidenceActionContext / Source
Process behaviorRepeated launch of svchost.exe -s IKEEXT on the same host outside a boot eventhighhuntCrash-restart signature. ZDI root cause + SentinelOne behavioral guidance.
Process behaviorAny child process of the IKEEXT-hosting svchost.exehighhuntIKEEXT does not spawn children in benign operation. SentinelOne behavioral guidance.
Network behaviorOutbound connection from the IKEEXT svchost.exe or a descendant processhighhuntMatches Unit 42's "manually sent reverse-shell callback" description; no destination published.
Windows event logEvent ID 7031/7034 (Service Control Manager) for IKEEXT; Event ID 1000/1001 (WER) faulting module ikeext.dllhighhuntDirect native crash signature. Windows Event Log reference; SentinelOne guidance.
Windows event logEvent ID 4653 — IPsec Main Mode negotiation failed, repeated from a single external sourcemediumhuntNetwork-level probing/exploitation attempt. Requires IPsec Main Mode auditing enabled.
Attack surfaceHost with an active listener on UDP 500 or UDP 4500 reachable from outside trusted rangesmediumscopeExposure baseline, not an attack signal. Gridinsoft exposure framing.
Atomic (unpublished)REPLACE_WITH_ATTACKER_SOURCE_IPn/apopulate locallyNo public IOC disclosed as of 2026-08-20 — populate from your own Unit 42 threat-intel feed or observed exploitation.
Atomic (unpublished)REPLACE_WITH_C2_CALLBACK_IPn/apopulate locallyNo public IOC disclosed as of 2026-08-20 — populate from your own Unit 42 threat-intel feed or observed exploitation.

If your own IR produces a verified reverse-shell destination or dropped-tool hash from an actual CVE-2026-33824 exploitation event, add it to the Falcon IOC-Management CSV in §10 with action=detect and a documented expiry — but only from first-party evidence.

05

Affected Surface & Telemetry Matrix

SurfaceRequired TelemetryPriorityGap Risk
Internet-facing Windows RRAS / IKEv2 VPN gatewaysFalcon EDR (ProcessRollup2, NetworkConnectIP4, NetworkListenIP4); Windows Security/System/Application event logscriticalHigh — VPN gateways are frequently under-instrumented or excluded from EDR
Windows IPsec server-to-server links / DirectAccess / Always On VPNSame as abovehighMedium
Internal Windows hosts with IKEEXT present but UDP 500/4500 restrictedFalcon EDR process/network telemetrymediumLow — smaller blast radius, still needs patch
Windows Event Log (Security — IPsec Main Mode auditing)Event ID 4653; requires Advanced Audit Policy enabled and forwarded to SIEMhighHigh — IPsec Main Mode auditing is off by default in most environments
Perimeter firewall / NGFW / IDS (UDP 500/4500 flow & fragmentation)NetFlow/IPFIX or vendor IPS log with a CVE-2026-33824 signaturehighHigh — protocol-level fragmentation anomaly detection is vendor/signature dependent

Prerequisite: §8 CQL queries Q1–Q4 assume Falcon sensor coverage on the IKE-capable host itself. §7 native hunts (Windows Event Log) require IPsec Main Mode auditing to be explicitly enabled (it is not on by default) before Event ID 4653 will populate.

06

ATT&CK Mapping

TacticTechniqueObserved BehaviorQuery / Control
Initial AccessT1190 Exploit Public-Facing ApplicationCrafted fragmented IKEv2 packets trigger the double-free in ikeext.dllQ1, Q5, native H5/H6 / Patch (M1051), restrict exposure (M1030)
Initial AccessT1210 Exploitation of Remote ServicesUnauthenticated RCE against the exposed IKEEXT serviceQ1–Q4 / Patch, NIPS signature (M1031)
ExecutionT1059.001 / T1059.003 Command and Scripting InterpreterChild process (shell/interpreter) spawned from the compromised IKEEXT svchost.exeQ2, Q4 / ASR, Custom IOA (§9)
Command and ControlT1071 Application Layer Protocol / T1219 Remote Access SoftwareReverse-shell callback from the compromised process or its child (protocol unconfirmed publicly)Q3, Q4 / Egress filtering (M1037)
PersistenceT1543.003 Windows Service / T1053.005 Scheduled TaskService or task created by a process descending from the compromised IKEEXT svchost.exeQ6 / Application control (M1038)
Defense Evasion (gap)T1055 Process InjectionIn-process shellcode execution with no new child process would evade Q2/Q4 — only Q1 (crash-restart) or Q3 (in-process outbound connection) would catch itQ1, Q3 / see §15 Coverage Map gap note
Impact (failed attempts)Related to CWE-415 crash behaviorRepeated IKEEXT service crash/restart with no follow-on process (probing, not successful RCE)Q1, native H6
07

Native Audit-Log Hunts (Windows Event Log)

Falcon EDR does not parse IKE protocol payloads, so the network-level probing signature and the most direct crash signature live in native Windows Event Log channels. Run these on candidate IKE-responder hosts, or ship the channels below to your SIEM.

7.1 — Enable and hunt IPsec Main Mode negotiation failures (network-level probing signal)

Enable auditing (off by default):
  auditpol /set /subcategory:"IPsec Main Mode" /success:enable /failure:enable
  auditpol /set /subcategory:"IPsec Extended Mode" /success:enable /failure:enable

Hunt (Windows Security log):
  Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4653} |
    Select TimeCreated, Message

Review the source address and negotiation-failure reason for each hit.
Many failures from one external source in a short window = probing or
active exploitation attempts against the IKE responder.

7.2 — IKEEXT service crash / restart (System log)

Get-WinEvent -FilterHashtable @{LogName='System'; Id=7031,7034} |
  Where-Object { $_.Message -match 'IKEEXT' } |
  Select TimeCreated, Id, Message

Event ID 7031: "The IKEEXT service terminated unexpectedly."
Event ID 7034: "... This has happened N time(s)." (repeat-crash counter
is itself a strong exploitation-attempt signal — legitimate services
essentially never crash-loop.)

7.3 — Application crash referencing ikeext.dll (Windows Error Reporting)

Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1000,1001} |
  Where-Object { $_.Message -match 'ikeext\.dll' } |
  Select TimeCreated, Id, Message

Event ID 1000 (Application Error) with Faulting module name = ikeext.dll
and Faulting application = svchost.exe is the single highest-fidelity
native signature that the double-free was actually triggered on this host.

7.4 — Perimeter / NGFW cross-check

If your perimeter firewall/NGFW/IDS vendor has published or auto-updated
an IPS/IDS signature for CVE-2026-33824 since the 2026-08-18 KEV addition,
enable it and cross-reference hits against §7.1/7.2/7.3 on the same host
and time window. Vendor coverage is not verified in this pack — check with
your specific perimeter vendor.

Automation stitch: alert the SOC in real time on any Event ID 7034 (repeat IKEEXT crash) or Event ID 1000 with faulting module ikeext.dll, even before the host's logs reach a SIEM.

08

CrowdStrike LogScale CQL Hunt Queries

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

All queries below run against Falcon EDR endpoint telemetry. Windows builds shared-service hosts, so svchost.exe -s IKEEXT is the identifying command-line signature; on very low-memory/legacy configurations Windows may share IKEEXT in a multi-service svchost.exe group, which changes the command-line shape — validate the exact command line in your fleet before deploying.

Q1 · IKEEXT-hosting svchost.exe restarts more than once (crash-restart signature)
CONF HIGHFP MEDCOST LOW

Looks for: the same host launching the IKEEXT-hosting svchost.exe more than once within a rolling window — in benign operation this process starts once at boot and runs continuously. FP: host reboots, Windows Update-driven service restarts, deliberate admin restart for maintenance — exclude the boot-time window and known patch/maintenance schedules.

// HUNT: IKEEXT-hosting svchost.exe restarts more than once (crash-restart signature)
// MITRE: T1190, T1210
// CONF: high  FP: medium  COST: low | REQUIRES: Falcon EDR ProcessRollup2
// FALSE POSITIVES: host reboot, patch-driven service restart, deliberate admin restart
// TUNING: exclude the first 5 minutes after host boot; exclude known patch-window hosts/times
#event_simpleName=/^ProcessRollup2$/
| FileName=/^svchost\.exe$/i
| CommandLine=/-s\s+IKEEXT/i
| groupBy([aid, ComputerName, CommandLine], function=([count(TargetProcessId, as=launches, distinct=true), collect(@timestamp, limit=5)]))
| rename(field=@timestamp, as=launchTimes)
| launches >= 2
| table([ComputerName, aid, CommandLine, launches, launchTimes], limit=200)
Q2 · Child process spawned from the IKEEXT-hosting svchost.exe (RCE pivot)
CONF HIGHFP LOWCOST MED

Looks for: any process whose parent is the IKEEXT-hosting svchost.exe. IKEEXT handles IKE/IPsec negotiation internally and does not spawn child processes in benign operation, so this is a high-fidelity RCE signal. FP: low, but validate against shared-svchost group edge cases on legacy/low-RAM builds.

// HUNT: child process spawned from the IKEEXT-hosting svchost.exe
// MITRE: T1210, T1059.001, T1059.003
// CONF: high  FP: low  COST: medium | REQUIRES: Falcon EDR ProcessRollup2
// FALSE POSITIVES: shared svchost service-group edge cases on legacy/low-RAM builds
// TUNING: confirm -s IKEEXT is isolated (not grouped) in your fleet's svchost split before alerting
#event_simpleName=ProcessRollup2
| FileName=/^svchost\.exe$/i
| CommandLine=/-s\s+IKEEXT/i
| rename(field=TargetProcessId_decimal, as=ParentProcessId_decimal)
| join(query={#event_simpleName=ProcessRollup2}, field=[aid, ParentProcessId_decimal], include=[FileName, CommandLine, TargetProcessId_decimal, ImageFileName, @timestamp])
| table([ComputerName, aid, FileName, CommandLine, ImageFileName, TargetProcessId_decimal, @timestamp], limit=200)
Q3 · Outbound connection from the IKEEXT-hosting svchost.exe itself (in-process reverse shell)
CONF HIGHFP LOWCOST MED

Looks for: the IKEEXT svchost.exe process originating an outbound connection — it does not do this in benign operation (its own network activity is inbound IKE UDP negotiation, not outbound app connections). Catches in-process shellcode exploitation that never spawns a child (the T1055 gap noted in §6). FP: low.

// HUNT: outbound connection from the IKEEXT-hosting svchost.exe process itself
// MITRE: T1071, T1219, T1055
// CONF: high  FP: low  COST: medium | REQUIRES: Falcon EDR ProcessRollup2, NetworkConnectIP4
// FALSE POSITIVES: shared svchost service-group edge cases on legacy/low-RAM builds
// TUNING: confirm -s IKEEXT is isolated (not grouped) in your fleet's svchost split before alerting
#event_simpleName=ProcessRollup2
| FileName=/^svchost\.exe$/i
| CommandLine=/-s\s+IKEEXT/i
| rename(field=TargetProcessId_decimal, as=ContextProcessId_decimal)
| join(query={#event_simpleName=NetworkConnectIP4}, field=[aid, ContextProcessId_decimal], include=[RemoteAddressIP4, RemotePort, LocalPort, Protocol_decimal, @timestamp])
| table([ComputerName, aid, RemoteAddressIP4, RemotePort, LocalPort, @timestamp], limit=200)
Q4 · Outbound connection from a child of the IKEEXT-hosting svchost.exe (two-hop reverse shell)
CONF HIGH — highest fidelityFP LOWCOST HIGH

Looks for: the two-hop chain matching Unit 42's "manually sent reverse-shell callback attempts" — a process spawned from the compromised IKEEXT svchost.exe that then makes its own outbound connection (e.g., cmd.exe/powershell.exe establishing the shell). This is the single most specific query in this pack for the reported activity. FP: low; Cost: high (double join) — scope the time window before running org-wide.

// HUNT: outbound connection from a child process of the IKEEXT-hosting svchost.exe (reverse-shell chain)
// MITRE: T1210, T1059, T1071, T1219
// CONF: high  FP: low  COST: high | REQUIRES: Falcon EDR ProcessRollup2, NetworkConnectIP4
// FALSE POSITIVES: shared svchost service-group edge cases on legacy/low-RAM builds
// TUNING: scope to a 7-30d window before running fleet-wide; confirm -s IKEEXT isolation in your build
#event_simpleName=ProcessRollup2
| FileName=/^svchost\.exe$/i
| CommandLine=/-s\s+IKEEXT/i
| rename(field=TargetProcessId_decimal, as=ParentProcessId_decimal)
| join(query={#event_simpleName=ProcessRollup2}, field=[aid, ParentProcessId_decimal], include=[TargetProcessId_decimal, FileName, CommandLine])
| rename(field=TargetProcessId_decimal, as=ContextProcessId_decimal)
| join(query={#event_simpleName=NetworkConnectIP4}, field=[aid, ContextProcessId_decimal], include=[RemoteAddressIP4, RemotePort, @timestamp])
| table([ComputerName, aid, FileName, CommandLine, RemoteAddressIP4, RemotePort, @timestamp], limit=200)
Q5 · Attack-surface baseline: hosts listening on UDP 500/4500 (exposure scoping)
CONF MED (scoping)FP N/ACOST LOW

Looks for: hosts with an active listener on IKE ports 500 or 4500, to prioritize which endpoints need urgent patch verification and the §7 native hunts. Not an attack signal — an inventory/exposure query.

// HUNT: hosts listening on UDP 500/4500 (IKE attack-surface baseline)
// MITRE: T1190, T1210 (exposure context)
// CONF: medium (scoping query, not an attack signal)  FP: n/a  COST: low | REQUIRES: Falcon EDR NetworkListenIP4
// FALSE POSITIVES: n/a — this is an inventory query
// TUNING: none required; re-run periodically as fleet composition changes
#event_simpleName=NetworkListenIP4
| in(LocalPort, values=[500, 4500])
| table([ComputerName, aid, LocalAddressIP4, LocalPort, @timestamp], limit=200)
Q6 · Persistence: sc.exe / schtasks.exe spawned from the IKEEXT-hosting svchost.exe chain
CONF MEDFP LOWCOST MED

Looks for: a new service or scheduled task created by a process descending from the compromised IKEEXT svchost.exe — the persistence step after initial RCE. FP: low; legitimate IKEEXT-descended sc.exe/schtasks.exe activity should not exist.

// HUNT: sc.exe/schtasks.exe create spawned from a child of the IKEEXT-hosting svchost.exe
// MITRE: T1543.003, T1053.005
// CONF: medium  FP: low  COST: medium | REQUIRES: Falcon EDR ProcessRollup2
// FALSE POSITIVES: none expected; flag any hit as a confirmed persistence event
// TUNING: extend the join depth if attackers proxy through an extra hop (e.g. cmd.exe /c)
#event_simpleName=ProcessRollup2
| FileName=/^svchost\.exe$/i
| CommandLine=/-s\s+IKEEXT/i
| rename(field=TargetProcessId_decimal, as=ParentProcessId_decimal)
| join(query={#event_simpleName=ProcessRollup2}, field=[aid, ParentProcessId_decimal], include=[TargetProcessId_decimal, FileName, CommandLine])
| rename(field=TargetProcessId_decimal, as=ParentProcessId_decimal)
| join(query={#event_simpleName=ProcessRollup2}, field=[aid, ParentProcessId_decimal], include=[FileName, CommandLine, @timestamp])
| FileName=/^(sc|schtasks)\.exe$/i
| CommandLine=/(create|config|\/create)/i
| table([ComputerName, aid, FileName, CommandLine, @timestamp], limit=200)
09

CrowdStrike Custom IOA Recommendations

Promote the highest-confidence, lowest-FP endpoint hunts to Custom IOAs. Q5 (exposure baseline) stays a scheduled scoping search, not an IOA.

IOA NameFromPatternExclusionsAction
IKEEXT — Repeat svchost.exe RestartQ1≥2 launches of svchost.exe -s IKEEXT on one host outside boot windowBoot-time window, known patch scheduleMonitor
IKEEXT — Unexpected Child ProcessQ2Any process with parent = IKEEXT-hosting svchost.exeShared-svchost edge case (validate first)Detect (pilot Monitor)
IKEEXT — Outbound Connection From Service HostQ3IKEEXT-hosting svchost.exe opens outbound connectionShared-svchost edge case (validate first)Detect (pilot Monitor)
IKEEXT — Reverse-Shell ChainQ4Child of IKEEXT svchost.exe opens outbound connectionShared-svchost edge case (validate first)Detect+Block (pilot Monitor)
IKEEXT — Post-Compromise PersistenceQ6sc.exe/schtasks.exe descending from IKEEXT svchost.exeNone expectedDetect+Block (pilot Monitor)

Pilot every IOA in Monitor for 7–14 days on your IKE-capable host population and confirm the shared-svchost-group exclusion is correct for your Windows builds before promoting to Detect/Block.

10

Machine-Readable IOC Appendix

Behavioral pack — no atomic IOCs published for the IKE exploitation. The CSV below ships with REPLACE_WITH_… placeholders only. Populate it solely from first-party evidence (your own IR / confirmed exploitation). Do not import the AI-tooling infrastructure IOCs from Unit 42's report (the AI-model API and proxy hosts named in section 2) as IKE-specific — Unit 42 does not attribute those to the IKE reverse-shell activity.

Falcon IOC Management CSVfirst-party only
type,value,action,severity,expiration,description,tags
ipv4,REPLACE_WITH_ATTACKER_SOURCE_IP,detect,high,2027-02-20,CVE-2026-33824 IKE exploitation source (first-party),cve:CVE-2026-33824
ipv4,REPLACE_WITH_C2_CALLBACK_IP,detect,critical,2027-02-20,CVE-2026-33824 reverse-shell callback dest (first-party),cve:CVE-2026-33824
domain,REPLACE_WITH_C2_CALLBACK_DOMAIN,detect,critical,2027-02-20,CVE-2026-33824 reverse-shell callback domain (first-party),cve:CVE-2026-33824
sha256,REPLACE_WITH_REVERSE_SHELL_BINARY_HASH,detect,critical,2027-02-20,post-exploitation tool dropped via CVE-2026-33824 (first-party),cve:CVE-2026-33824
# No public IOC disclosed as of 2026-08-20. Leave rows blank/unused unless
# YOUR OWN telemetry confirms them. Populate from your own Unit 42 threat-intel
# feed or observed exploitation only — never from third-party recycling.
Windows Event Log signaturesnative hunt
ipsec_mm_fail   Security log, EventID 4653 (IPsec Main Mode negotiation failed)
svc_crash       System log, EventID 7031/7034, message contains "IKEEXT"
wer_crash       Application log, EventID 1000/1001, faulting module ikeext.dll
faulting_proc   Faulting application = svchost.exe (paired with wer_crash)
Falcon behavioral signaturesendpoint
restart     svchost.exe -s IKEEXT launches >=2x outside boot window   (Q1)
child_proc  any child of the IKEEXT-hosting svchost.exe                (Q2)
out_conn    IKEEXT svchost.exe itself opens outbound connection        (Q3)
rev_shell   child of IKEEXT svchost.exe opens outbound connection      (Q4)
persist     sc.exe/schtasks.exe descending from IKEEXT svchost.exe     (Q6)
Patch / exposure auditexposure check
Verify build against Microsoft's official Security Update Guide entry
for CVE-2026-33824 (fixed in the April 2026 cycle) — do not assume a
build number without checking your specific Windows branch.

  Get-CimInstance Win32_OperatingSystem | Select Version, BuildNumber

Identify exposed IKE responders:
  Get-NetFirewallRule | Where-Object {$_.Enabled -eq 'True'} |
    Get-NetFirewallPortFilter | Where-Object {$_.LocalPort -in 500,4500}

Service state:
  Get-Service IKEEXT | Select Status, StartType
11

Detection Validation Gates

GateCheckPass Criteria
Telemetry readyFalcon sensor present and healthy on every IKE-capable host (RRAS/VPN gateways especially)Q5 returns expected listener rows for known VPN gateways
Command-line baselineConfirm svchost.exe -s IKEEXT is the isolated command line in your Windows builds (not grouped with other services)Manual spot-check on 2–3 representative hosts per OS build/RAM tier
Benign baselineIdentify normal boot-time launch pattern and any legitimate maintenance restartsExclusion window populated in Q1
Positive testIn an isolated lab host, launch a benign child process manually under the IKEEXT-hosting svchost.exe PID (e.g., via a test harness) or simulate via a documented safe methodQ2/Q4 fire and IOA logs the event in Monitor
Native log enablementauditpol /get /subcategory:"IPsec Main Mode" shows success/failure enabledEvent ID 4653 populates on a lab negotiation failure
PromotionIOA FP rate over 7–14 day Monitor pilot< 1 FP/host/week before Detect/Block, especially for Q2/Q3
12

Hardening — Tiered

Immediate (this week)
  • Patch every IKE-capable Windows host (MITRE M1051, Update Software): verify the installed build against Microsoft's official Security Update Guide entry for CVE-2026-33824 — do not assume a build number by branch name alone. Prioritize internet-facing RRAS/IKEv2 gateways first.
  • Restrict UDP 500/4500 exposure (MITRE M1030, Network Segmentation / M1037, Filter Network Traffic): allow inbound IKE traffic only from known VPN client ranges or peer gateways; deny from the open internet where the deployment allows it.
  • Enable IPsec Main Mode auditing (MITRE M1047, Audit): turn on Event ID 4653 logging so the native probing hunt (§7.1) has data before an incident, not after.
  • Run §7 native hunts now on every internet-facing IKE responder for existing crash/restart evidence.
Near term (1–4 weeks)
  • Deploy a perimeter IPS/NGFW signature for CVE-2026-33824 (MITRE M1031, Network Intrusion Prevention): check with your specific perimeter vendor for a published signature (several vendors typically ship one after a KEV addition) and enable it in blocking mode where feasible.
  • Centralize Windows Event Forwarding (MITRE M1047, Audit): ship Security/System/Application logs from every IKE-capable host to your SIEM so §7 hunts run continuously, not just on demand.
  • Segment VPN/RRAS gateways (MITRE M1030, Network Segmentation): place IKE responders in a DMZ with no direct routing to the internal LAN beyond what the VPN policy explicitly requires, limiting the blast radius of the SYSTEM-level foothold described in §3.
  • Pilot the §9 Custom IOAs in Monitor across the IKE-capable host population.
Strategic (1–3 months)
  • Reduce reliance on Windows-hosted IKE/IPsec for internet-facing remote access ⚠ best-practice, no formal benchmark: where feasible, migrate internet-facing VPN termination to a dedicated, purpose-built VPN concentrator or ZTNA broker rather than a general-purpose Windows Server RRAS role, reducing the attack surface of a full OS behind an unauthenticated network protocol parser.
  • Move toward Zero Trust Network Access (MITRE M1030, Network Segmentation): replace flat-network, device-terminated VPN with per-application ZTNA brokering so a single compromised gateway process no longer grants broad internal reachability.
  • Governance: tie remediation SLAs to KEV/BOD 26-04-style timelines ⚠ best-practice, no formal benchmark: even non-federal organizations benefit from adopting CISA's aggressive KEV remediation windows as an internal SLA for any host matching a KEV entry.
13

Deployable Playbooks

13.1 — Verify patch level and enable IPsec Main Mode auditing (PowerShell)

# Verify build (compare against Microsoft's Security Update Guide entry
# for CVE-2026-33824 for your specific Windows branch — do not assume):
Get-CimInstance Win32_OperatingSystem | Select-Object Version, BuildNumber

# Enable IPsec Main Mode / Extended Mode auditing (off by default):
auditpol /set /subcategory:"IPsec Main Mode" /success:enable /failure:enable
auditpol /set /subcategory:"IPsec Extended Mode" /success:enable /failure:enable

# Verify:
auditpol /get /subcategory:"IPsec Main Mode"

Prerequisites: local administrator rights on the target host. Reboot required: No. Rollback: auditpol /set /subcategory:"IPsec Main Mode" /success:disable /failure:disable (and the same for Extended Mode) to restore the prior (default-off) audit state.

13.2 — Restrict UDP 500/4500 to known VPN peers (Windows Firewall)

# Only run on hosts where the legitimate VPN client/peer range is known.
# Replace the placeholder CIDR with your actual VPN client pool / peer range.
New-NetFirewallRule -DisplayName "CVE-2026-33824 — Restrict IKE to known peers" `
  -Direction Inbound -Protocol UDP -LocalPort 500,4500 `
  -RemoteAddress REPLACE_WITH_KNOWN_VPN_CLIENT_CIDR -Action Allow -Profile Any

# Verify the rule and confirm no broader "Allow Any" IKE rule remains enabled
# alongside it (an existing permissive rule will make this addition a no-op):
Get-NetFirewallRule -DisplayName "CVE-2026-33824*" | Get-NetFirewallPortFilter
Get-NetFirewallRule | Where-Object {$_.Enabled -eq 'True'} |
  Get-NetFirewallPortFilter | Where-Object {$_.LocalPort -in 500,4500}

Prerequisites: local administrator rights; an accurate, documented list of legitimate VPN client/peer source ranges (getting this wrong breaks remote access). Reboot required: No. Rollback: Remove-NetFirewallRule -DisplayName "CVE-2026-33824 — Restrict IKE to known peers", then re-confirm the previously existing IKE firewall rule (if any) is back to its documented prior state.

13.3 — Collect IKEEXT crash artifacts for IR (PowerShell, read-only)

Get-WinEvent -FilterHashtable @{LogName='System'; Id=7031,7034} |
  Where-Object { $_.Message -match 'IKEEXT' } |
  Export-Csv -Path .\ikeext_scm_crashes.csv -NoTypeInformation

Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1000,1001} |
  Where-Object { $_.Message -match 'ikeext\.dll' } |
  Export-Csv -Path .\ikeext_wer_crashes.csv -NoTypeInformation

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4653} |
  Export-Csv -Path .\ipsec_mm_failures.csv -NoTypeInformation

Prerequisites: local administrator or event-log read rights; IPsec Main Mode auditing enabled (13.1) for the third export to return data. Reboot required: No. Rollback: none required — this is a read-only evidence-collection step.

13.4 — Emergency mitigation: disable IKEEXT on hosts confirmed not to need IPsec/VPN

# Only run after confirming the host does NOT provide IPsec/VPN service —
# this will break any active or future IKE/IPsec negotiation on the host.
Stop-Service IKEEXT -Force
Set-Service IKEEXT -StartupType Disabled

# Verify:
Get-Service IKEEXT | Select-Object Status, StartType

Prerequisites: confirmed, documented evidence the host does not require IPsec/IKEv2 VPN functionality; local administrator rights. Reboot required: No, but any active VPN/IPsec session on the host will drop immediately. Rollback: Set-Service IKEEXT -StartupType Manual; Start-Service IKEEXT (or restore the host's prior documented startup type if it was not Manual).

13.4 is a breaking change if applied to a host that does need IPsec/VPN — confirm scope with the §5 affected-surface matrix before running it broadly.

14

Containment Runbook

PhaseActionsOwnerEvidence
IsolateFalcon network-contain any host with a Q2/Q3/Q4 hit; block inbound UDP 500/4500 to the affected host at the perimeter; preserve WER crash dumps and the process memory of the compromised svchost.exe before further actionSOC + NetworkFalcon containment log; WER crash dump; process memory capture
EradicateTerminate any unauthorized child process and reverse-shell connection (Q2–Q4 hits); remove persistence found via Q6; patch to the fixed build; treat the host as fully compromised at SYSTEM level and rotate local admin credentials, any cached credentials, and the machine account secure channelSOC + ITRemoved-persistence list; patch confirmation; credential-rotation record
RecoverVerify patch level via 13.1; restore from a known-clean backup if host integrity is in question; re-enable restricted UDP 500/4500 access (13.2) only to the documented legitimate peer range; monitor §8 queries for 14 days post-recoverySOC + NetworkBuild-version confirmation; clean post-recovery hunt results
Endpoint / IdentityFor any account that authenticated to or was cached on the compromised host, force credential resets; hunt for lateral movement sourced from the compromised host using Falcon UserLogon and NetworkConnectIP4; watch for the theoretical wormable re-targeting pattern (§3, step 7) against other IKE-exposed hostsSOC + IdentityReset confirmations; lateral-movement hunt results
15

Detection Coverage Map

TechniqueBehaviorCQLIOACoverage
T1190 / T1210Crash-restart of IKEEXT svchost.exe (probing or exploitation attempt)Q1Repeat-Restart IOAPartial — behavioral proxy for the exploit, not the exploit itself
T1210, T1059Child process from IKEEXT svchost.exeQ2Unexpected-Child IOAGood
T1071, T1219, T1055Outbound connection from IKEEXT svchost.exe itselfQ3Outbound-Conn IOAGood
T1210, T1059, T1071Reverse-shell chain (child of IKEEXT svchost.exe connects out)Q4Reverse-Shell-Chain IOAGood — highest-fidelity match to Unit 42's reported activity
T1543.003, T1053.005Post-compromise persistence from the IKEEXT chainQ6Persistence IOAGood
n/a (exposure)UDP 500/4500 listener inventoryQ5n/a (scoping)Scoping only
T1190 (network-level)Crafted fragmented IKEv2 packets / repeated failed negotiationsGap — Falcon EDR does not parse IKE payloads; covered only by native Event ID 4653 (§7.1) and perimeter IPS/NGFW
T1055 (pure in-process, no outbound)Shellcode executes entirely in-process with no child spawned and no outbound connectionGap — only Q1 (crash-restart, if the exploit attempt also crashes the process) would surface this; a clean in-process compromise with no crash and no network activity is currently undetectable by this pack
Wormable re-targetingCompromised host scanning for/attacking other IKE-exposed hostsGap — not observed ITW as of 2026-08-20; would require correlating a Q2/Q4 hit host initiating new outbound UDP 500/4500 connections (build a custom watch if concerned)

Validation: Coverage is strongest on the post-exploitation pivot (child process, outbound connection, reverse-shell chain, persistence — Q2/Q3/Q4/Q6), which matches exactly what Unit 42 reported observing. Coverage is weakest on the network-level exploit trigger itself (fragmented IKEv2 packets) because Falcon EDR does not parse that protocol — §7 native Windows Event Log hunts and perimeter IPS/NGFW signatures are required to close that gap.

16

Hunt Summary Ticket

TITLE......: CVE-2026-33824 — Windows IKEEXT double-free RCE hunt
THREAT.....: CVE-2026-33824, Windows IKE and AuthIP IPsec Keying Modules
             (IKEEXT / ikeext.dll) double-free (CWE-415), CVSS 9.8
SEVERITY...: CRITICAL — added to CISA KEV 2026-08-18; Unit 42 observed
             manual reverse-shell exploitation against 3 IKE VPN endpoints
SCOPE......: Internet-facing Windows RRAS/IKEv2 VPN gateways, IPsec
             server-to-server links, DirectAccess/Always On VPN hosts
HYPOTHESIS.: Attacker sends crafted fragmented IKEv2 packets to UDP
             500/4500, triggers double-free in ikeext.dll, gains SYSTEM
             code exec inside the IKEEXT svchost.exe, spawns a child
             process, opens a reverse-shell callback
QUERIES....: Q1 crash-restart | Q2 child-process | Q3 in-process outbound
             Q4 reverse-shell chain (highest fidelity) | Q5 exposure
             baseline | Q6 persistence
DO FIRST...: Q5 (exposure baseline) to find every IKE-capable host, then
             Q1 + Q2 + Q4 on that population; enable §7.1 auditing
FINDINGS...: <fill: crash-restart hosts / unexpected svchost children /
             reverse-shell chains / persistence artifacts>
GAPS.......: Network-level exploit trigger (fragmented IKEv2 packets) not
             visible to Falcon EDR — native Event ID 4653 + perimeter
             IPS/NGFW required. Pure in-process compromise with no crash
             and no outbound connection is currently undetectable.
             NO public atomic IOCs — behavioral pack only.
ACTIONS....: Patch every IKE-capable host now; restrict UDP 500/4500 to
             known peers; enable IPsec Main Mode auditing; run §7/§8
OWNER......: HuntPack
VERSION....: v0.1 · 2026-08-20
17

Changelog

v0.12026-08-20Initial behavioral/log-based HuntPack for CVE-2026-33824. 6 CQL hunts (5 Falcon EDR process/network-chain queries + 1 exposure-scoping query), 4 native Windows Event Log hunts, 5 Custom IOA recommendations, tiered hardening + 4 deployable playbooks (each with prerequisites/reboot/rollback) + containment runbook. No atomic IOCs — no public IP/domain/hash has been disclosed for the in-the-wild IKE exploitation as of this build date; IOC appendix ships with labelled REPLACE_WITH_… placeholders only. Sources: ZDI (root-cause), Unit 42 primary source (reverse-shell activity against 3 endpoints), The Hacker News, cvefeed.io, SentinelOne, Gridinsoft — 6 source snapshots saved for provenance validation.
18

References

TierSourceUsed ForAccessed
1Zero Day Initiative — CVE-2026-33824: Remote Code Execution in Windows IKEv2Root-cause technical writeup: double-free mechanism, function names, offsets, trigger conditions, patch timing2026-08-20
1Palo Alto Networks Unit 42 — Chinese-Speaking Threat Actor Harnesses AI Models for Autonomous CyberattacksPrimary source for the reverse-shell callback attempts against 3 IKE VPN endpoints; actor attribution (knaithe/KnYuan); confirms no IKE-specific atomic IOCs published2026-08-20
2The Hacker News — Critical macOS, SharePoint, vCenter, and Microsoft IKE Flaws Under Active ExploitationKEV addition date (2026-08-18) and CVSS confirmation; secondary corroboration of Unit 42 finding2026-08-20
2cvefeed.io — CVE-2026-33824 detailCWE-415 classification, KEV remediation deadline, affected-product list (16 Microsoft products across Windows 10/11 and Server branches)2026-08-20
2SentinelOne Vulnerability Database — CVE-2026-33824Full CVSS 3.1 vector string; independent corroboration of the behavioral detection surface (IKEEXT crashes, ikeext.dll fault events, anomalous svchost.exe children)2026-08-20
2Gridinsoft Blog — CVE-2026-33824 Exploited Against Windows IKE VPNsReal-world exposure scoping (which hosts are actually at risk); explicit confirmation that no IKE-specific hash/process name/victim count has been published2026-08-20

Provenance statement: This pack contains zero atomic IOCs for the in-the-wild IKE exploitation. Every detection signature traces to the ZDI root-cause writeup (Tier 1), the Unit 42 primary source (Tier 1), or documented behavioral guidance in Tier 2 sources. The task-supplied SentinelOne URL for the unrelated CVE-2026-68820 was identified as incorrect and not used; the correct CVE-2026-33824 SentinelOne page was located and used instead. All 6 sources above have fetched-text snapshots saved alongside this file for the IOC-provenance validation gate.