T1499.004

Application or System Exploitation

Adversaries may exploit software vulnerabilities to crash applications or systems, denying availability to users. Unlike resource exhaustion or flooding techniques, exploitation-based DoS leverages logic flaws or memory corruption bugs (buffer overflows, use-after-free, integer overflows, protocol violations) to trigger unhandled exceptions, assertion failures, or kernel panics. Critical services including DNS servers (BIND9 CVE-2015-5477), web servers, databases, and ICS/SCADA devices (Siemens SIPROTEC CVE-2015-5374 exploited by Industroyer/CRASHOVERRIDE) are common targets. Auto-restart mechanisms may restore crashed services, enabling adversaries to repeatedly re-exploit for persistent denial of service. Crash-induced conditions may cascade into data destruction, firmware corruption, or full service stop outcomes.

Microsoft Sentinel / Defender
kusto
let ExploitExceptionCodes = dynamic([
    "0xc0000005",
    "0xc000001d",
    "0xc00000fd",
    "0xc0000409",
    "0xc0000374",
    "0x80000003",
    "0xc0000096"
]);
let CriticalServices = dynamic(["w3wp", "inetinfo", "httpd", "apache", "sqlservr", "named", "mysqld", "postgres", "nginx", "vsftpd", "sshd", "lsass", "spoolsv", "dns", "tomcat"]);
let LookbackWindow = 24h;
let CrashWindowBin = 30m;
let MinCrashThreshold = 2;
Event
| where TimeGenerated > ago(LookbackWindow)
| where EventLog == "Application"
| where EventID == 1000
| extend FaultingApp = extract(@"Faulting application name: ([^,\r\n]+)", 1, RenderedDescription)
| extend FaultingModule = extract(@"Faulting module name: ([^,\r\n]+)", 1, RenderedDescription)
| extend ExceptionCode = extract(@"Exception code: (0x[0-9a-fA-F]+)", 1, RenderedDescription)
| extend FaultingAppPath = extract(@"Faulting application path: ([^\r\n]+)", 1, RenderedDescription)
| extend ExceptionIsExploitRelevant = ExceptionCode in (ExploitExceptionCodes)
| extend AppIsCritical = FaultingApp has_any (CriticalServices)
| where ExceptionIsExploitRelevant or AppIsCritical
| summarize
    CrashCount = count(),
    ExceptionCodes = make_set(ExceptionCode),
    FaultingModules = make_set(FaultingModule),
    FaultingPaths = make_set(FaultingAppPath),
    FirstCrash = min(TimeGenerated),
    LastCrash = max(TimeGenerated),
    IsCritical = max(toint(AppIsCritical)),
    IsExploitException = max(toint(ExceptionIsExploitRelevant))
    by Computer, FaultingApp, bin(TimeGenerated, CrashWindowBin)
| where CrashCount >= MinCrashThreshold
| extend CrashIntervalMinutes = datetime_diff('minute', LastCrash, FirstCrash)
| extend RapidReExploitation = CrashCount >= 3 and CrashIntervalMinutes <= 30
| extend AlertSeverity = case(
    RapidReExploitation == true and IsExploitException == 1, "Critical",
    CrashCount >= 5 or (IsCritical == 1 and IsExploitException == 1), "High",
    "Medium"
)
| project FirstCrash, LastCrash, Computer, FaultingApp, CrashCount, CrashIntervalMinutes, ExceptionCodes, FaultingModules, FaultingPaths, RapidReExploitation, IsCritical, IsExploitException, AlertSeverity
| sort by CrashCount desc
high severity medium confidence

Data Sources

Application: Application Crash Windows Event Log: Application (Event ID 1000, 1001) Windows Event Log: System (Event ID 7034, 7031)

Required Tables

Event

False Positives

  • Buggy in-house or third-party applications with recurring software defects that crash with access violation exceptions unrelated to exploitation
  • Memory-constrained or heavily loaded servers where OOM conditions cause access violation exceptions in critical processes
  • Legitimate load testing or fuzzing pipelines on non-production systems that intentionally generate crash events as part of resilience testing
  • Windows software updates or in-place upgrades that transiently crash services, generating multiple Event ID 1000 entries during the update window
  • Antivirus or EDR hooking conflicts that cause access violations in monitored processes during signature updates or engine upgrades

Unlock Pro Content

Get the full detection package for T1499.004 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections