Detection rules › Elastic
Microsoft Common Language Runtime Loaded from Suspicious Memory
Identifies the load of the Microsoft Common Language Runtime DLL CLR.dll from unbacked memory region with suspicious memory allocation properties. This could be the result of attempts to load an assembly from an already injected process.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Stealth |
Rule body
[rule]
description = """
Identifies the load of the Microsoft Common Language Runtime DLL CLR.dll from unbacked memory region with suspicious
memory allocation properties. This could be the result of attempts to load an assembly from an already injected process.
"""
id = "ad2c6fcc-89d3-4939-85d9-d7114d6bbf14"
license = "Elastic License v2"
name = "Microsoft Common Language Runtime Loaded from Suspicious Memory"
os_list = ["windows"]
reference = [
"https://www.elastic.co/security-labs/upping-the-ante-detecting-in-memory-threats-with-kernel-call-stacks",
]
version = "1.0.29"
query = '''
library where dll.name : "clr.dll" and
process.thread.Ext.call_stack_summary :
("ntdll.dll|wow64.dll|wow64cpu.dll|wow64.dll|ntdll.dll|kernelbase.dll|mscoreei.dll|Unbacked",
"ntdll.dll|kernelbase.dll|mscoreei.dll|Unbacked") and
_arraysearch(process.thread.Ext.call_stack, $entry, $entry.symbol_info : "*mscoreei.dll!CreateInterface*") and
not (process.executable : "?:\\Program Files\\Dell\\DTP\\DiagnosticsSubAgent\\Dell.TechHub.Diagnostics.SubAgent.exe" and
process.code_signature.trusted == true and process.code_signature.subject_name : "Dell Inc") and
not (process.code_signature.trusted == true and
process.code_signature.subject_name : ("Azul Systems, Inc.", "JetBrains s.r.o.", "HAYLEM Technologies Inc.", "MicroStrategy, Inc.", "Oracle America, Inc.")) and
not (process.executable : "C:\\ManageEngine\\ADManager Plus\\jre\\bin\\java.exe" and
process.code_signature.subject_name : "Oracle America, Inc." and process.code_signature.trusted == true) and
not (process.executable : "?:\\Program Files*\\Amazon Corretto\\jdk*\\bin\\java.exe" and
process.code_signature.subject_name : ("Amazon.com Services LLC", "Amazon Services LLC", "Adaptive Protocols, Inc.") and process.code_signature.trusted == true) and
not (process.executable : "?:\\ManageEngine\\PAM360\\jre\\bin\\java.exe" and
process.code_signature.trusted == true and
process.code_signature.subject_name : ("Oracle America, Inc.", "Eclipse.org Foundation, Inc.")) and
not (process.executable : "*\\EL.AudioVideoConversion.Console.exe" and
process.code_signature.trusted == true and
process.code_signature.subject_name : "NEXUS / E&L GmbH") and
not process.executable :
("?:\\Program Files\\Microsoft Visual Studio\\*.exe",
"?:\\Program Files (x86)\\Microsoft Visual Studio\\*.exe",
"?:\\Program Files (x86)\\PMP\\jre\\bin\\java.exe",
"?:\\Program Files\\ManageEngine\\PMP\\jre\\bin\\java.exe",
"?:\\Program Files\\ManageEngine\\PAM360\\jre\\bin\\java.exe",
"?:\\Program Files (x86)\\Adaptiva\\AdaptivaClient\\bin\\AdaptivaClientService.exe",
"?:\\Program Files\\Adaptiva\\AdaptivaClient\\bin\\AdaptivaClientService.exe",
"C:\\Program Files\\Siemens\\teamplay\\bin\\*\\syngo.Cloud.Receiver.Plugin.DicomTagResolver.exe",
"?:\\Program Files\\Sql Server Extension\\SqlServerExtension.Service.exe",
"C:\\Program Files\\Siemens\\CloudLink\\*.exe",
"C:\\Program Files (x86)\\Razer\\Razer Cortex\\RazerCortex.exe",
"C:\\Program Files\\Guard\\Data Vault Publisher for Citect\\*.exe",
"C:\\Program Files\\Koios\\Koios DS\\KoiosDS-MVC-App.exe",
"?:\\Program Files\\Commvault\\ContentStore\\DotNetCore\\dotnet.exe",
"?:\\Program Files\\Siemens\\ABT Site\\Bin\\Siemens.BASys.ABTSite.exe") and
not _arraysearch(process.thread.Ext.call_stack, $entry,
$entry.callsite_trailing_bytes : ("c5f8774883ec10c5fb1104244883ec104889042449ba00000000000000004*",
"*488b8d48ffffff48894b104c8b658049894424084c896588c745c0*"))
'''
min_endpoint_version = "8.8.0"
optional_actions = []
[[actions]]
action = "kill_process"
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.8.0"
Stages and Predicates
Stage 1: library
library where dll.name : "clr.dll" and
process.thread.Ext.call_stack_summary :
("ntdll.dll|wow64.dll|wow64cpu.dll|wow64.dll|ntdll.dll|kernelbase.dll|mscoreei.dll|Unbacked",
"ntdll.dll|kernelbase.dll|mscoreei.dll|Unbacked") and
_arraysearch(process.thread.Ext.call_stack, $entry, $entry.symbol_info : "*mscoreei.dll!CreateInterface*") and
not (process.executable : "?:\\Program Files\\Dell\\DTP\\DiagnosticsSubAgent\\Dell.TechHub.Diagnostics.SubAgent.exe" and
process.code_signature.trusted == true and process.code_signature.subject_name : "Dell Inc") and
not (process.code_signature.trusted == true and
process.code_signature.subject_name : ("Azul Systems, Inc.", "JetBrains s.r.o.", "HAYLEM Technologies Inc.", "MicroStrategy, Inc.", "Oracle America, Inc.")) and
not (process.executable : "C:\\ManageEngine\\ADManager Plus\\jre\\bin\\java.exe" and
process.code_signature.subject_name : "Oracle America, Inc." and process.code_signature.trusted == true) and
not (process.executable : "?:\\Program Files*\\Amazon Corretto\\jdk*\\bin\\java.exe" and
process.code_signature.subject_name : ("Amazon.com Services LLC", "Amazon Services LLC", "Adaptive Protocols, Inc.") and process.code_signature.trusted == true) and
not (process.executable : "?:\\ManageEngine\\PAM360\\jre\\bin\\java.exe" and
process.code_signature.trusted == true and
process.code_signature.subject_name : ("Oracle America, Inc.", "Eclipse.org Foundation, Inc.")) and
not (process.executable : "*\\EL.AudioVideoConversion.Console.exe" and
process.code_signature.trusted == true and
process.code_signature.subject_name : "NEXUS / E&L GmbH") and
not process.executable :
("?:\\Program Files\\Microsoft Visual Studio\\*.exe",
"?:\\Program Files (x86)\\Microsoft Visual Studio\\*.exe",
"?:\\Program Files (x86)\\PMP\\jre\\bin\\java.exe",
"?:\\Program Files\\ManageEngine\\PMP\\jre\\bin\\java.exe",
"?:\\Program Files\\ManageEngine\\PAM360\\jre\\bin\\java.exe",
"?:\\Program Files (x86)\\Adaptiva\\AdaptivaClient\\bin\\AdaptivaClientService.exe",
"?:\\Program Files\\Adaptiva\\AdaptivaClient\\bin\\AdaptivaClientService.exe",
"C:\\Program Files\\Siemens\\teamplay\\bin\\*\\syngo.Cloud.Receiver.Plugin.DicomTagResolver.exe",
"?:\\Program Files\\Sql Server Extension\\SqlServerExtension.Service.exe",
"C:\\Program Files\\Siemens\\CloudLink\\*.exe",
"C:\\Program Files (x86)\\Razer\\Razer Cortex\\RazerCortex.exe",
"C:\\Program Files\\Guard\\Data Vault Publisher for Citect\\*.exe",
"C:\\Program Files\\Koios\\Koios DS\\KoiosDS-MVC-App.exe",
"?:\\Program Files\\Commvault\\ContentStore\\DotNetCore\\dotnet.exe",
"?:\\Program Files\\Siemens\\ABT Site\\Bin\\Siemens.BASys.ABTSite.exe") and
not _arraysearch(process.thread.Ext.call_stack, $entry,
$entry.callsite_trailing_bytes : ("c5f8774883ec10c5fb1104244883ec104889042449ba00000000000000004*",
"*488b8d48ffffff48894b104c8b658049894424084c896588c745c0*"))
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
process.code_signature.subject_name | eq | Amazon.com Services LLC, Amazon Services LLC, Adaptive Protocols, Inc. | excludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"Amazon.com Services LLC" field:"process.code_signature.subject_name" value:"Amazon Services LLC" field:"process.code_signature.subject_name" value:"Adaptive Protocols, Inc." |
process.code_signature.trusted | eq | true | excludes:process.code_signature.trusted field:"process.code_signature.trusted" value:"true" |
process.executable | wildcard | ?:\Program Files*\Amazon Corretto\jdk*\bin\java.exe | excludes:process.executable field:"process.executable" value:"?:\Program Files*\Amazon Corretto\jdk*\bin\java.exe" |
process.code_signature.subject_name | eq | Azul Systems, Inc., JetBrains s.r.o., HAYLEM Technologies Inc., MicroStrategy, Inc., Oracle America, Inc. | excludes:process.code_signature.subject_name |
process.code_signature.subject_name | eq | Dell Inc | excludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"Dell Inc" |
process.executable | eq | ?:\Program Files\Dell\DTP\DiagnosticsSubAgent\Dell.TechHub.Diagnostics.SubAgent.exe | excludes:process.executable field:"process.executable" value:"?:\Program Files\Dell\DTP\DiagnosticsSubAgent\Dell.TechHub.Diagnostics.SubAgent.exe" |
process.code_signature.subject_name | eq | NEXUS / E&L GmbH | excludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"NEXUS / E&L GmbH" |
process.executable | ends_with | \EL.AudioVideoConversion.Console.exe | excludes:process.executable field:"process.executable" value:"\EL.AudioVideoConversion.Console.exe" |
process.code_signature.subject_name | eq | Oracle America, Inc., Eclipse.org Foundation, Inc. | excludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"Oracle America, Inc." field:"process.code_signature.subject_name" value:"Eclipse.org Foundation, Inc." |
process.executable | eq | ?:\ManageEngine\PAM360\jre\bin\java.exe | excludes:process.executable field:"process.executable" value:"?:\ManageEngine\PAM360\jre\bin\java.exe" |
process.code_signature.subject_name | eq | Oracle America, Inc. | excludes:process.code_signature.subject_name field:"process.code_signature.subject_name" value:"Oracle America, Inc." |
process.executable | eq | C:\ManageEngine\ADManager Plus\jre\bin\java.exe | excludes:process.executable field:"process.executable" value:"C:\ManageEngine\ADManager Plus\jre\bin\java.exe" |
process.thread.Ext.call_stack | array_any | excludes:process.thread.Ext.call_stack | |
process.executable | wildcard | ?:\Program Files\Microsoft Visual Studio\*.exe, ?:\Program Files (x86)\Microsoft Visual Studio\*.exe, ?:\Program Files (x86)\PMP\jre\bin\java.exe, ?:\Program Files\ManageEngine\PMP\jre\bin\java.exe, ?:\Program Files\ManageEngine\PAM360\jre\bin\java.exe, ?:\Program Files (x86)\Adaptiva\AdaptivaClient\bin\AdaptivaClientService.exe, ?:\Program Files\Adaptiva\AdaptivaClient\bin\AdaptivaClientService.exe, C:\Program Files\Siemens\teamplay\bin\*\syngo.Cloud.Receiver.Plugin.DicomTagResolver.exe, ?:\Program Files\Sql Server Extension\SqlServerExtension.Service.exe, C:\Program Files\Siemens\CloudLink\*.exe, C:\Program Files (x86)\Razer\Razer Cortex\RazerCortex.exe, C:\Program Files\Guard\Data Vault Publisher for Citect\*.exe, C:\Program Files\Koios\Koios DS\KoiosDS-MVC-App.exe, ?:\Program Files\Commvault\ContentStore\DotNetCore\dotnet.exe, ?:\Program Files\Siemens\ABT Site\Bin\Siemens.BASys.ABTSite.exe | excludes:process.executable |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
dll.name | wildcard |
| field:"dll.name" kind:wildcard value:"clr.dll" |
process.thread.Ext.call_stack_summary | wildcard |
| field:"process.thread.Ext.call_stack_summary" kind:wildcard |