Detection rules › Elastic

Potential Operation via Direct Syscall

Source
github.com/elastic/protections-artifacts

Identifies any event with a call stack not starting with Windows NT syscall DLLs such as ntdll and win32u. This may indicate the use of direct system calls to evade endpoint security solutions hooking Windows APIs.

MITRE ATT&CK coverage

TacticTechniques
Stealth

Rule body

[rule]
description = """
Identifies any event with a call stack not starting with Windows NT syscall DLLs such as ntdll and win32u. This may
indicate the use of direct system calls to evade endpoint security solutions hooking Windows APIs.
"""
id = "30106950-2383-49cd-b462-ed55be29b10b"
license = "Elastic License v2"
name = "Potential Operation via Direct Syscall"
os_list = ["windows"]
reference = [
    "https://www.elastic.co/security-labs/revisiting-blister-new-developments-of-the-blister-loader",
    "https://www.elastic.co/security-labs/upping-the-ante-detecting-in-memory-threats-with-kernel-call-stacks",
    "https://www.ired.team/offensive-security/defense-evasion/using-syscalls-directly-from-visual-studio-to-bypass-avs-edrs",
]
version = "1.0.32"

query = '''
any where process.pid != 4 and process.executable != null and process.name : "?*" and
 (
  /* call_stack_summary looks like process.name|etc */
  (event.category in ("file", "registry", "library") and
    startswith~(process.thread.Ext.call_stack_summary, process.name)) or
   
   /* call_stack_summary looks like process.parent.name|etc. */
  (event.category == "process" and event.action == "start" and
   startswith~(process.parent.thread.Ext.call_stack_summary, process.parent.name) and process.parent.executable : "?:\\*") or

  /* call_stack_summary looks like ntdll.dll|process.parent.name|etc */
  (event.category == "process" and event.action == "start" and
   endswith~(substring(process.parent.thread.Ext.call_stack_summary, 0, 10 + length(process.parent.name)), process.parent.name) and
   not process.parent.executable : "?:\\Windows\\System32\\services.exe" and process.parent.executable : "?:\\*")
  ) and 
  not ((process.executable : "?:\\Windows\\system32\\smss.exe" or process.parent.executable : "?:\\Windows\\system32\\smss.exe") and 
       (process.parent.thread.Ext.call_stack_summary : "ntdll.dll|smss.exe|*" or process.thread.Ext.call_stack_summary like "ntdll.dll|smss.exe|*")) and 
  not (event.category == "library" and 
       process.code_signature.status like ("trusted", "errorExpired", "errorCode_endpoint*", "errorTimeStamp") and 
       process.code_signature.subject_name : ("Oracle Corporation", "NVIDIA Corporation")) and 
  not (process.code_signature.subject_name : "Rocscience Inc." and process.code_signature.status == "trusted") and 
  not (event.category == "process" and 
       process.executable : "?:\\Windows\\System32\\vmsp.exe" and 
       process.code_signature.subject_name like "Microsoft*" and process.code_signature.status == "trusted" and 
       process.parent.thread.Ext.call_stack_summary : "ntdll.dll|vmwp.exe|ntdll.dll*") and
  not (event.category == "library" and dll.code_signature.status == "trusted" and not dll.code_signature.subject_name like "Microsoft*") and
  not (process.executable : "?:\\Windows\\System32\\WUDFCompanionHost.exe" and process.parent.executable : "?:\\Windows\\System32\\services.exe") and
  not process.executable : 
               ("?:\\Program Files\\Oracle\\VirtualBox\\VirtualBoxVM.exe",
                "?:\\Program Files (x86)\\Oracle\\VirtualBox\\VirtualBoxVM.exe",
                "?:\\Program Files\\Oracle\\VirtualBox\\VBoxNetDHCP.exe",
                "C:\\Program Files\\Oracle\\VirtualBox\\VBoxNetNAT.exe",
                "?:\\Program Files (x86)\\Oracle\\VirtualBox\\VBoxNetDHCP.exe",
                "?:\\Program Files\\Oracle\\VirtualBox\\VBoxHeadless.exe",
                "?:\\Program Files\\TxGameAssistant\\ui\\aow_exe.exe",
                "?:\\Program Files\\Rockstar Games\\Launcher\\Launcher.exe",
                "C:\\Program Files (x86)\\Steam\\steamapps\\common\\*.exe",
                "C:\\Program Files\\EA\\AC\\EAAntiCheat.GameService.dll",
                "F:\\SteamLibrary\\steamapps\\common\\BeamNG.drive\\Bin64\\BeamNG.drive.x64.exe") and
  not (event.category == "process" and process.executable : "C:\\Windows\\System32\\csrss.exe" and
       process.parent.executable : "C:\\Program Files\\GraphOn\\GO-Global\\Programs\\aps.exe") and
  not (process.executable : "C:\\Windows\\System32\\WUDFCompanionHost.exe" and
       process.parent.executable : "C:\\Windows\\System32\\services.exe") and
  not process.parent.executable :
                   ("C:\\Program Files\\Rocscience\\Slide2\\slide.exe",
                    "?:\\Program Files\\Anatomage\\Invivo\\InVivoDental.exe",
                    "?:\\Program Files\\Anatomage\\Invivo\\Invivo.exe",
                    "?:\\Program Files\\Anatomage\\InvivoDental\\InVivoDental.exe",
                    "C:\\Program Files\\Rocscience\\Settle3\\Settle3.exe",
                    "C:\\PC SOFT\\WINDEV Suite 2026\\Programs\\wx64.exe",
                    "C:\\Program Files (x86)\\PC SOFT\\WINDEV Suite 2026\\Programs\\wx64.exe") and
  not process.thread.Ext.call_stack_summary like "ntdll.dll|wow64.dll|wow64cpu.dll*" and
  not process.parent.thread.Ext.call_stack_summary : "ntdll.dll|wow64.dll|wow64cpu.dll|*" and
  not (process.name : "WerFault.exe" and
       process.parent.thread.Ext.call_stack_summary : "ntdll.dll|kernelbase.dll|faultrep.dll|wersvc.dll|ntdll.dll|kernel32.dll|ntdll.dll") and
  not process.hash.sha256 : "920d49c27f0b42dab747bdf48edfc6b668f3ae4d192a2a4c9b5a6cec14bec77f" and
  not (event.category == "process" and _arraysearch(process.parent.thread.Ext.call_stack, $entry, $entry.symbol_info: "*kernel32.dll!CreateProcessW*")) and
  not (event.category == "library" and dll.path : "C:\\Windows\\System32\\umppc*.dll") and
  not (event.category == "library" and dll.code_signature.subject_name == "Microsoft Windows Hardware Compatibility Publisher" and
       dll.code_signature.trusted == true) and
  not (event.category == "library" and process.code_signature.subject_name == "BeamNG GmbH" and process.code_signature.trusted == true)
'''

min_endpoint_version = "8.7.0"
[[actions]]
action = "kill_process"
field = "process.entity_id"
state = 0

[[optional_actions]]
action = "rollback"
field = "process.entity_id"
state = 0

[[threat]]
framework = "MITRE ATT&CK"
[[threat.technique]]
id = "T1055"
name = "Process Injection"
reference = "https://attack.mitre.org/techniques/T1055/"


[threat.tactic]
id = "TA0005"
name = "Defense Evasion"
reference = "https://attack.mitre.org/tactics/TA0005/"

[internal]
min_endpoint_version = "8.7.0"

Stages and Predicates

Stage 1: any

any where process.pid != 4 and process.executable != null and process.name : "?*" and
 (
  (event.category in ("file", "registry", "library") and
    startswith~(process.thread.Ext.call_stack_summary, process.name)) or
  (event.category == "process" and event.action == "start" and
   startswith~(process.parent.thread.Ext.call_stack_summary, process.parent.name) and process.parent.executable : "?:\\*") or
  (event.category == "process" and event.action == "start" and
   endswith~(substring(process.parent.thread.Ext.call_stack_summary, 0, 10 + length(process.parent.name)), process.parent.name) and
   not process.parent.executable : "?:\\Windows\\System32\\services.exe" and process.parent.executable : "?:\\*")
  ) and
  not ((process.executable : "?:\\Windows\\system32\\smss.exe" or process.parent.executable : "?:\\Windows\\system32\\smss.exe") and
       (process.parent.thread.Ext.call_stack_summary : "ntdll.dll|smss.exe|*" or process.thread.Ext.call_stack_summary like "ntdll.dll|smss.exe|*")) and
  not (event.category == "library" and
       process.code_signature.status like ("trusted", "errorExpired", "errorCode_endpoint*", "errorTimeStamp") and
       process.code_signature.subject_name : ("Oracle Corporation", "NVIDIA Corporation")) and
  not (process.code_signature.subject_name : "Rocscience Inc." and process.code_signature.status == "trusted") and
  not (event.category == "process" and
       process.executable : "?:\\Windows\\System32\\vmsp.exe" and
       process.code_signature.subject_name like "Microsoft*" and process.code_signature.status == "trusted" and
       process.parent.thread.Ext.call_stack_summary : "ntdll.dll|vmwp.exe|ntdll.dll*") and
  not (event.category == "library" and dll.code_signature.status == "trusted" and not dll.code_signature.subject_name like "Microsoft*") and
  not (process.executable : "?:\\Windows\\System32\\WUDFCompanionHost.exe" and process.parent.executable : "?:\\Windows\\System32\\services.exe") and
  not process.executable :
               ("?:\\Program Files\\Oracle\\VirtualBox\\VirtualBoxVM.exe",
                "?:\\Program Files (x86)\\Oracle\\VirtualBox\\VirtualBoxVM.exe",
                "?:\\Program Files\\Oracle\\VirtualBox\\VBoxNetDHCP.exe",
                "C:\\Program Files\\Oracle\\VirtualBox\\VBoxNetNAT.exe",
                "?:\\Program Files (x86)\\Oracle\\VirtualBox\\VBoxNetDHCP.exe",
                "?:\\Program Files\\Oracle\\VirtualBox\\VBoxHeadless.exe",
                "?:\\Program Files\\TxGameAssistant\\ui\\aow_exe.exe",
                "?:\\Program Files\\Rockstar Games\\Launcher\\Launcher.exe",
                "C:\\Program Files (x86)\\Steam\\steamapps\\common\\*.exe",
                "C:\\Program Files\\EA\\AC\\EAAntiCheat.GameService.dll",
                "F:\\SteamLibrary\\steamapps\\common\\BeamNG.drive\\Bin64\\BeamNG.drive.x64.exe") and
  not (event.category == "process" and process.executable : "C:\\Windows\\System32\\csrss.exe" and
       process.parent.executable : "C:\\Program Files\\GraphOn\\GO-Global\\Programs\\aps.exe") and
  not (process.executable : "C:\\Windows\\System32\\WUDFCompanionHost.exe" and
       process.parent.executable : "C:\\Windows\\System32\\services.exe") and
  not process.parent.executable :
                   ("C:\\Program Files\\Rocscience\\Slide2\\slide.exe",
                    "?:\\Program Files\\Anatomage\\Invivo\\InVivoDental.exe",
                    "?:\\Program Files\\Anatomage\\Invivo\\Invivo.exe",
                    "?:\\Program Files\\Anatomage\\InvivoDental\\InVivoDental.exe",
                    "C:\\Program Files\\Rocscience\\Settle3\\Settle3.exe",
                    "C:\\PC SOFT\\WINDEV Suite 2026\\Programs\\wx64.exe",
                    "C:\\Program Files (x86)\\PC SOFT\\WINDEV Suite 2026\\Programs\\wx64.exe") and
  not process.thread.Ext.call_stack_summary like "ntdll.dll|wow64.dll|wow64cpu.dll*" and
  not process.parent.thread.Ext.call_stack_summary : "ntdll.dll|wow64.dll|wow64cpu.dll|*" and
  not (process.name : "WerFault.exe" and
       process.parent.thread.Ext.call_stack_summary : "ntdll.dll|kernelbase.dll|faultrep.dll|wersvc.dll|ntdll.dll|kernel32.dll|ntdll.dll") and
  not process.hash.sha256 : "920d49c27f0b42dab747bdf48edfc6b668f3ae4d192a2a4c9b5a6cec14bec77f" and
  not (event.category == "process" and _arraysearch(process.parent.thread.Ext.call_stack, $entry, $entry.symbol_info: "*kernel32.dll!CreateProcessW*")) and
  not (event.category == "library" and dll.path : "C:\\Windows\\System32\\umppc*.dll") and
  not (event.category == "library" and dll.code_signature.subject_name == "Microsoft Windows Hardware Compatibility Publisher" and
       dll.code_signature.trusted == true) and
  not (event.category == "library" and process.code_signature.subject_name == "BeamNG GmbH" and process.code_signature.trusted == true)

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
dll.code_signature.subject_namestarts_withMicrosoftexcludes:dll.code_signature.subject_name field:"dll.code_signature.subject_name" value:"Microsoft"
dll.code_signature.statuseqtrustedexcludes:dll.code_signature.status field:"dll.code_signature.status" value:"trusted"
event.categoryeqlibraryexcludes:event.category field:"event.category" value:"library"
process.executableeq?:\Windows\system32\smss.exeexcludes:process.executable field:"process.executable" value:"?:\Windows\system32\smss.exe"
process.parent.executableeq?:\Windows\system32\smss.exeexcludes:process.parent.executable field:"process.parent.executable" value:"?:\Windows\system32\smss.exe"
process.parent.thread.Ext.call_stack_summarystarts_withntdll.dll|smss.exe|excludes:process.parent.thread.Ext.call_stack_summary field:"process.parent.thread.Ext.call_stack_summary" value:"ntdll.dll|smss.exe|"
process.thread.Ext.call_stack_summarystarts_withntdll.dll|smss.exe|excludes:process.thread.Ext.call_stack_summary field:"process.thread.Ext.call_stack_summary" value:"ntdll.dll|smss.exe|"
process.parent.thread.Ext.call_stackarray_any(no value, null check)excludes:process.parent.thread.Ext.call_stack
event.categoryeqprocessexcludes:event.category field:"event.category" value:"process"
dll.code_signature.subject_nameeqMicrosoft Windows Hardware Compatibility Publisherexcludes:dll.code_signature.subject_name field:"dll.code_signature.subject_name" value:"Microsoft Windows Hardware Compatibility Publisher"
dll.code_signature.trustedeqtrueexcludes:dll.code_signature.trusted field:"dll.code_signature.trusted" value:"true"
dll.pathwildcardC:\Windows\System32\umppc*.dllexcludes:dll.path field:"dll.path" value:"C:\Windows\System32\umppc*.dll"
process.code_signature.statuswildcardtrusted, errorExpired, errorCode_endpoint*, errorTimeStampexcludes:process.code_signature.status
process.code_signature.subject_nameeqOracle Corporation, NVIDIA Corporationexcludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"Oracle Corporation" field:"process.code_signature.subject_name" value:"NVIDIA Corporation"
process.code_signature.subject_nameeqBeamNG GmbHexcludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"BeamNG GmbH"
process.code_signature.trustedeqtrueexcludes:process.code_signature.trusted field:"process.code_signature.trusted" value:"true"
process.code_signature.statuseqtrustedexcludes:process.code_signature.status field:"process.code_signature.status" value:"trusted"
process.code_signature.subject_namestarts_withMicrosoftexcludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"Microsoft"
process.executableeq?:\Windows\System32\vmsp.exeexcludes:process.executable field:"process.executable" value:"?:\Windows\System32\vmsp.exe"
process.parent.thread.Ext.call_stack_summarystarts_withntdll.dll|vmwp.exe|ntdll.dllexcludes:process.parent.thread.Ext.call_stack_summary field:"process.parent.thread.Ext.call_stack_summary" value:"ntdll.dll|vmwp.exe|ntdll.dll"
process.executableeqC:\Windows\System32\csrss.exeexcludes:process.executable field:"process.executable" value:"C:\Windows\System32\csrss.exe"
process.parent.executableeqC:\Program Files\GraphOn\GO-Global\Programs\aps.exeexcludes:process.parent.executable field:"process.parent.executable" value:"C:\Program Files\GraphOn\GO-Global\Programs\aps.exe"
process.code_signature.subject_nameeqRocscience Inc.excludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"Rocscience Inc."
process.executableeq?:\Windows\System32\WUDFCompanionHost.exeexcludes:process.executable field:"process.executable" value:"?:\Windows\System32\WUDFCompanionHost.exe"
process.parent.executableeq?:\Windows\System32\services.exeexcludes:process.parent.executable field:"process.parent.executable" value:"?:\Windows\System32\services.exe"
process.executableeqC:\Windows\System32\WUDFCompanionHost.exeexcludes:process.executable field:"process.executable" value:"C:\Windows\System32\WUDFCompanionHost.exe"
process.parent.executableeqC:\Windows\System32\services.exeexcludes:process.parent.executable field:"process.parent.executable" value:"C:\Windows\System32\services.exe"
process.nameeqWerFault.exeexcludes:process.name field:"process.name" value:"WerFault.exe"
process.parent.thread.Ext.call_stack_summaryeqntdll.dll|kernelbase.dll|faultrep.dll|wersvc.dll|ntdll.dll|kernel32.dll|ntdll.dllexcludes:process.parent.thread.Ext.call_stack_summary field:"process.parent.thread.Ext.call_stack_summary" value:"ntdll.dll|kernelbase.dll|faultrep.dll|wersvc.dll|ntdll.dll|kernel32.dll|ntdll.dll"
process.executablewildcard?:\Program Files\Oracle\VirtualBox\VirtualBoxVM.exe, ?:\Program Files (x86)\Oracle\VirtualBox\VirtualBoxVM.exe, ?:\Program Files\Oracle\VirtualBox\VBoxNetDHCP.exe, C:\Program Files\Oracle\VirtualBox\VBoxNetNAT.exe, ?:\Program Files (x86)\Oracle\VirtualBox\VBoxNetDHCP.exe, ?:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe, ?:\Program Files\TxGameAssistant\ui\aow_exe.exe, ?:\Program Files\Rockstar Games\Launcher\Launcher.exe, C:\Program Files (x86)\Steam\steamapps\common\*.exe, C:\Program Files\EA\AC\EAAntiCheat.GameService.dll, F:\SteamLibrary\steamapps\common\BeamNG.drive\Bin64\BeamNG.drive.x64.exeexcludes:process.executable
process.hash.sha256eq920d49c27f0b42dab747bdf48edfc6b668f3ae4d192a2a4c9b5a6cec14bec77fexcludes:process.hash.sha256 field:"process.hash.sha256" value:"920d49c27f0b42dab747bdf48edfc6b668f3ae4d192a2a4c9b5a6cec14bec77f"
process.parent.executableeqC:\Program Files\Rocscience\Slide2\slide.exe, ?:\Program Files\Anatomage\Invivo\InVivoDental.exe, ?:\Program Files\Anatomage\Invivo\Invivo.exe, ?:\Program Files\Anatomage\InvivoDental\InVivoDental.exe, C:\Program Files\Rocscience\Settle3\Settle3.exe, C:\PC SOFT\WINDEV Suite 2026\Programs\wx64.exe, C:\Program Files (x86)\PC SOFT\WINDEV Suite 2026\Programs\wx64.exeexcludes:process.parent.executable
process.parent.thread.Ext.call_stack_summarystarts_withntdll.dll|wow64.dll|wow64cpu.dll|excludes:process.parent.thread.Ext.call_stack_summary field:"process.parent.thread.Ext.call_stack_summary" value:"ntdll.dll|wow64.dll|wow64cpu.dll|"
process.thread.Ext.call_stack_summarystarts_withntdll.dll|wow64.dll|wow64cpu.dllexcludes:process.thread.Ext.call_stack_summary field:"process.thread.Ext.call_stack_summary" value:"ntdll.dll|wow64.dll|wow64cpu.dll"

Indicators

These rows show field, operator, and value matches.