Detect Process Injection in Elastic Security
Adversaries may inject code into processes in order to evade process-based defenses as well as possibly elevate privileges. Process injection is a method of executing arbitrary code in the address space of a separate live process. Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via process injection may also evade detection from security products since the execution is masked under a legitimate process. There are many different ways to inject code into a process, many of which abuse legitimate functionalities. These implementations exist for every major OS but are typically platform specific. More sophisticated samples may perform multiple process injections to segment modules and further evade detection, utilizing named pipes or other inter-process communication (IPC) mechanisms as a communication channel.
MITRE ATT&CK
- Technique
- T1055 Process Injection
- Canonical reference
- https://attack.mitre.org/techniques/T1055/
Elastic Detection Query
any where event.module == "sysmon" and
event.code in ("8", "10") and
not winlog.event_data.SourceImage like~ ("*\\MsMpEng.exe", "*\\csrss.exe", "*\\services.exe", "*\\svchost.exe", "*\\lsass.exe", "*\\wmiprvse.exe") and
(
event.code == "8" or
(
event.code == "10" and
winlog.event_data.GrantedAccess in ("0x1FFFFF", "0x001F0FFF", "0x143A", "0x1F0FFF", "0x1F3FFF")
)
) and
winlog.event_data.TargetImage like~ ("*\\lsass.exe", "*\\csrss.exe", "*\\winlogon.exe", "*\\services.exe", "*\\svchost.exe", "*\\explorer.exe", "*\\spoolsv.exe") Detects process injection via Sysmon CreateRemoteThread (EID 8) targeting high-value Windows processes and suspicious ProcessAccess (EID 10) events with high-privilege access masks. Filters known-good sources including AV engines and core OS components. Requires Winlogbeat with Sysmon module enabled and Sysmon deployed with a config capturing EID 8 and EID 10.
Data Sources
Required Tables
False Positives & Tuning
- EDR and AV agents (MsMpEng, CylanceSvc, SentinelOne) performing routine memory inspection of protected processes for behavioral detection
- Debuggers (WinDbg, x64dbg, Visual Studio) attaching to target processes with PROCESS_ALL_ACCESS during development or live incident response analysis
- JVM and .NET CLR runtime engines creating remote threads in host processes for JIT compilation, profiling instrumentation, or garbage collection
- Remote desktop and screen capture tools performing cross-process operations with elevated access masks for input injection or screen reading
Other platforms for T1055
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1CreateRemoteThread DLL Injection via PowerShell
Expected signal: Sysmon Event ID 1: Process Create for notepad.exe spawned by PowerShell. If using the full injection API chain, Sysmon Event ID 8 (CreateRemoteThread) and Event ID 10 (ProcessAccess) will fire for the cross-process interaction.
- Test 2Process Injection via Mavinject
Expected signal: Sysmon Event ID 1: Process Create for mavinject.exe with /INJECTRUNNING argument. Sysmon Event ID 8: CreateRemoteThread from mavinject.exe to the target. Sysmon Event ID 7: ImageLoad of the injected DLL in the target process.
- Test 3Ptrace-based Process Injection on Linux
Expected signal: auditd: PTRACE syscall logged with type=SYSCALL and a]0=PTRACE_ATTACH. Syslog may show process attachment events. /proc/[pid]/status will show TracerPid set to the strace PID.
References (6)
- https://attack.mitre.org/techniques/T1055/
- https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1055/T1055.md
- https://www.elastic.co/blog/ten-process-injection-techniques-technical-survey-common-and-trending-process
- https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
- https://github.com/SigmaHQ/sigma/tree/master/rules/windows/create_remote_thread
Unlock Pro Content
Get the full detection package for T1055 including response playbook, investigation guide, and atomic red team tests.
Related Detections
Sub-techniques (12)
- T1055.001Dynamic-link Library Injection
- T1055.002Portable Executable Injection
- T1055.003Thread Execution Hijacking
- T1055.004Asynchronous Procedure Call
- T1055.005Thread Local Storage
- T1055.008Ptrace System Calls
- T1055.009Proc Memory
- T1055.011Extra Window Memory Injection
- T1055.012Process Hollowing
- T1055.013Process Doppelganging
- T1055.014VDSO Hijacking
- T1055.015ListPlanting