Skip to content

Commit fd099e9

Browse files
committed
feat(rules): Add Executable file dropped by an unsigned service DLL rule
Identifies the loading of an unsigned DLL by svchost process followed by creating an executable file. Adversaries may rely on Windows Services to repeatedly execute malicious payloads as part of persistence.
1 parent d87f913 commit fd099e9

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Executable file dropped by an unsigned service DLL
2+
id: 3e29da58-0fc4-44c0-91c0-0dfc6af87e9d
3+
version: 1.0.0
4+
description: |
5+
Identifies the loading of an unsigned DLL by svchost process followed by creating an
6+
executable file. Adversaries may rely on Windows Services to repeatedly execute malicious
7+
payloads as part of persistence.
8+
labels:
9+
tactic.id: TA0003
10+
tactic.name: Persistence
11+
tactic.ref: https://attack.mitre.org/tactics/TA0003/
12+
technique.id: T1543
13+
technique.name: Create or Modify System Process
14+
technique.ref: https://attack.mitre.org/techniques/T1543/
15+
subtechnique.id: T1543.003
16+
subtechnique.name: Windows Service
17+
subtechnique.ref: https://attack.mitre.org/techniques/T1543/003/
18+
references:
19+
- https://grzegorztworek.medium.com/persistence-with-windows-services-1b21579f0ff3
20+
- https://www.ired.team/offensive-security/persistence/persisting-in-svchost.exe-with-a-service-dll-servicemain
21+
22+
condition: >
23+
sequence
24+
maxspan 3m
25+
|load_unsigned_dll and ps.exe imatches ('?:\\Windows\\System32\\svchost.exe', '?:\\Windows\\SysWOW64\\svchost.exe')| as e1
26+
|create_file and kevt.pid != 4 and ps.exe imatches ('?:\\Windows\\System32\\svchost.exe', '?:\\Windows\\SysWOW64\\svchost.exe')
27+
and
28+
(file.extension iin ('.exe', '.dll', '.com', '.js', '.vbs', '.cmd', '.bat', '.vbe') or file.is_exec or file.is_dll or file.is_driver)
29+
and
30+
thread.callstack.symbols iin (concat($e1.image.name, '!ServiceMain'))
31+
|
32+
33+
output: >
34+
Service %1.ps.cmdline loaded an unsigned DLL %1.image.path and subsequently dropped an executable file %2.file.path
35+
severity: high
36+
37+
min-engine-version: 2.2.0

0 commit comments

Comments
 (0)