Elastic Defend high stable eql

API Call via Timer Callback Event

Identifies API calls via timeSetEvent callback function. This may indicate an attempt to proxy API call via callback.

View Source

Detection Logic

api where
  process.Ext.api.name in ("VirtualAlloc", "VirtualProtect", "WriteProcessMemory", "VirtualProtectEx", "VirtualAllocEx",
                             "MapViewOfFile", "MapViewOfFile2", "SetThreadContext", "SuspendThread", "ReadProcessMemory", "connect") and
  process.thread.Ext.call_stack_final_user_module.name == "winmm.dll" and
  _arraysearch(process.thread.Ext.call_stack, $entry, $entry.symbol_info: "*winmm.dll!timeSetEvent*") and
  not _arraysearch(process.thread.Ext.call_stack, $entry,
                   $entry.symbol_info: ("*winmm.dll!mciExecute*", "*winmm.dll!timeGetTime*", "*winmm.dll!PlaySoundW*", "*winmm.dll+0x*", "*ntdll.dll!RtlInitializeExceptionChain*")) and
  not (process.executable : "C:\\Program Files (x86)\\ManageEngine\\UEMS_Agent\\bin\\WakeOnLan.exe" and
       process.parent.executable : "C:\\Program Files (x86)\\ManageEngine\\UEMS_Agent\\bin\\dcwol.exe") and
  not (process.Ext.api.name == "connect" and
       process.executable : "C:\\Program Files (x86)\\ManageEngine\\UEMS_Agent\\bin\\meaap.exe" and
       process.parent.executable : "C:\\Program Files (x86)\\ManageEngine\\UEMS_Agent\\dcconfig.exe")

Field Validations

Loading…

Comments (0)

Loading comments...