Classic DLL injection into a running process.
What gives it awayA StartFunction of LoadLibraryA or LoadLibraryW from a process that is not a security product.
ATT&CK T1055.001Nothing matches that yet. Tell us what you were looking for and it goes on the list.
Sysmon · Event 8
One process started a thread inside another — the classic shape of code injection. Legitimate software does this, but rarely, which makes the event unusually low-volume and unusually informative for what it costs.
Also written as Sysmon 8Sysmon Event ID 8CreateRemoteThreadSysmon remote thread
Only present if you installed Sysmon. It records a technique programs use to run code inside each other.
One of the cheapest high-value Sysmon events, because the baseline is genuinely small. Antivirus products, some debuggers, and a handful of Windows components account for nearly all legitimate hits. Note that many modern injection techniques avoid CreateRemoteThread specifically to evade this event, so its absence proves nothing.
Sanitised. Addresses come from the RFC 5737 documentation ranges.
CreateRemoteThread detected:
RuleName: -
UtcTime: 2026-08-28 09:16:02.771
SourceProcessGuid: {a1b2c3d4-0000-0000-0000-00000000abcd}
SourceProcessId: 7412
SourceImage: C:\Users\jbrooks\AppData\Local\Temp\wh.exe
TargetProcessGuid: {a1b2c3d4-0000-0000-0000-00000000beef}
TargetProcessId: 4188
TargetImage: C:\Windows\explorer.exe
NewThreadId: 9012
StartAddress: 0x00000210F1C20000
StartModule: -
StartFunction: - Everything else in the log line is context.
LoadLibraryA or LoadLibraryWClassic DLL injection. An empty valueNo resolvable function, which points at shellcode rather than a library. Most of the time it is one of these.
What gives it awayA StartFunction of LoadLibraryA or LoadLibraryW from a process that is not a security product.
ATT&CK T1055.001What gives it awayA StartAddress with no backing module and no resolvable function name.
ATT&CK T1055What gives it awayA target such as a browser or explorer.exe from an unexpected source process.
ATT&CK T1055.012What gives it awayInjection into a process that holds credentials, followed by process access events against lsass.
ATT&CK T1003Event | where Source == 'Microsoft-Windows-Sysmon' and EventID == 8 | project TimeGenerated, Computer, SourceImage, TargetImage, StartModule, StartFunction | order by TimeGenerated desc Event | where Source == 'Microsoft-Windows-Sysmon' and EventID == 8 | where isempty(StartModule) or StartFunction in ('LoadLibraryA','LoadLibraryW') | project TimeGenerated, Computer, SourceImage, TargetImage, StartAddress, StartFunction index=sysmon EventCode=8 | stats count by SourceImage TargetImage | sort count asc No. Antivirus and endpoint security products inject monitoring components into processes as part of normal operation, and debuggers and some Windows components do too. What makes it useful is that the legitimate set is small enough to enumerate — once you have excluded your security agents by path, most of what remains deserves a look.
Because the thread starts at an address that is not inside any loaded module, which usually means the code was written directly into the target's memory. That is a strong indicator of shellcode injection rather than a library being loaded normally.
No, and this is important. Event 8 fires specifically on CreateRemoteThread, and many modern techniques deliberately avoid it — thread hijacking, APC injection, and process hollowing among them. Absence of Event 8 is not evidence that no injection happened.
Last reviewed 28 August 2026