@gendigital/sage-opencode 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp-server.cjs +38 -10
- package/dist/mcp-server.cjs.map +2 -2
- package/dist/tool-handler.d.ts.map +1 -1
- package/dist/tool-handler.js +5 -3
- package/dist/tool-handler.js.map +1 -1
- package/package.json +3 -3
- package/resources/threats/_macros.yaml +193 -0
- package/resources/threats/agent-layer.yaml +19 -1
- package/resources/threats/commands.yaml +165 -31
- package/resources/threats/credentials.yaml +24 -4
- package/resources/threats/dummy.yaml +30 -0
- package/resources/threats/files.yaml +38 -0
- package/resources/threats/mac-commands.yaml +118 -27
- package/resources/threats/mac-credentials.yaml +34 -8
- package/resources/threats/mac-files.yaml +20 -0
- package/resources/threats/mac-obfuscation.yaml +28 -6
- package/resources/threats/mac-persistence.yaml +30 -4
- package/resources/threats/mac-supply-chain.yaml +12 -3
- package/resources/threats/mitre.yaml +325 -62
- package/resources/threats/obfuscation.yaml +33 -8
- package/resources/threats/persistence.yaml +40 -5
- package/resources/threats/prompt-injection.yaml +58 -0
- package/resources/threats/self-defense.yaml +15 -2
- package/resources/threats/supply_chain.yaml +6 -1
- package/resources/threats/urls.yaml +10 -0
- package/resources/threats/win-commands.yaml +294 -60
- package/resources/threats/win-credentials.yaml +68 -9
- package/resources/threats/win-files.yaml +20 -0
- package/resources/threats/win-obfuscation.yaml +56 -8
- package/resources/threats/win-persistence.yaml +45 -7
- package/resources/threats/win-supply-chain.yaml +5 -1
|
@@ -5,10 +5,16 @@
|
|
|
5
5
|
|
|
6
6
|
# --- T1003.001: LSASS Memory ---
|
|
7
7
|
- id: "CLT-MITRE-001"
|
|
8
|
+
version: 1
|
|
9
|
+
detection_name: "CMD:SageMitre-A [Heur]"
|
|
8
10
|
category: credential_access
|
|
9
11
|
severity: critical
|
|
10
12
|
confidence: 0.90
|
|
11
|
-
|
|
13
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on the two program names, same shape as
|
|
14
|
+
# CLT-CMD-009. The `sekurlsa::` module references are left as-is -- like
|
|
15
|
+
# WIN-CRED-006's Mimikatz rule, they're arguments to a running mimikatz
|
|
16
|
+
# session, never a program name themselves.
|
|
17
|
+
pattern: "{{CMD_POS}}rundll32(?:\\.exe)?{{NOT_FILENAME}}.*comsvcs\\.dll,MiniDump.*|{{CMD_POS}}procdump(?:\\.exe)?{{NOT_FILENAME}}.*-ma.*lsass\\.exe.*lsass_dump|sekurlsa::Minidump.*lsassdump\\.dmp|sekurlsa::logonPasswords"
|
|
12
18
|
case_insensitive: true
|
|
13
19
|
match_on: command
|
|
14
20
|
title: "MITRE ATT&CK T1003.001 - LSASS Memory"
|
|
@@ -17,10 +23,14 @@
|
|
|
17
23
|
|
|
18
24
|
# --- T1003.002: Security Account Manager ---
|
|
19
25
|
- id: "CLT-MITRE-002"
|
|
26
|
+
version: 1
|
|
27
|
+
detection_name: "CMD:SageMitre-B [Heur]"
|
|
20
28
|
category: credential_access
|
|
21
29
|
severity: critical
|
|
22
30
|
confidence: 0.90
|
|
23
|
-
|
|
31
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
32
|
+
# CLT-CMD-009.
|
|
33
|
+
pattern: "{{CMD_POS}}reg(?:\\.exe)?{{NOT_FILENAME}}.*save.*HKLM.*sam.*sam|{{CMD_POS}}reg(?:\\.exe)?{{NOT_FILENAME}}.*save.*HKLM.*system.*system"
|
|
24
34
|
case_insensitive: true
|
|
25
35
|
match_on: command
|
|
26
36
|
title: "MITRE ATT&CK T1003.002 - Security Account Manager"
|
|
@@ -29,10 +39,14 @@
|
|
|
29
39
|
|
|
30
40
|
# --- T1003.003: NTDS ---
|
|
31
41
|
- id: "CLT-MITRE-003"
|
|
42
|
+
version: 1
|
|
43
|
+
detection_name: "CMD:SageMitre-C [Heur]"
|
|
32
44
|
category: credential_access
|
|
33
45
|
severity: critical
|
|
34
46
|
confidence: 0.90
|
|
35
|
-
|
|
47
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
48
|
+
# boundary at all.
|
|
49
|
+
pattern: "{{CMD_POS}}ntdsutil(?:\\.exe)?{{NOT_FILENAME}}"
|
|
36
50
|
case_insensitive: true
|
|
37
51
|
match_on: command
|
|
38
52
|
title: "MITRE ATT&CK T1003.003 - NTDS"
|
|
@@ -41,10 +55,14 @@
|
|
|
41
55
|
|
|
42
56
|
# --- T1003.004: LSA Secrets ---
|
|
43
57
|
- id: "CLT-MITRE-004"
|
|
58
|
+
version: 1
|
|
59
|
+
detection_name: "CMD:SageMitre-D [Heur]"
|
|
44
60
|
category: credential_access
|
|
45
61
|
severity: critical
|
|
46
62
|
confidence: 0.90
|
|
47
|
-
|
|
63
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
64
|
+
# boundary at all.
|
|
65
|
+
pattern: "{{CMD_POS}}Get-LSASecret\\.ps1{{NOT_FILENAME}}"
|
|
48
66
|
case_insensitive: true
|
|
49
67
|
match_on: command
|
|
50
68
|
title: "MITRE ATT&CK T1003.004 - LSA Secrets"
|
|
@@ -53,10 +71,14 @@
|
|
|
53
71
|
|
|
54
72
|
# --- T1003.005: Cached Domain Credentials ---
|
|
55
73
|
- id: "CLT-MITRE-005"
|
|
74
|
+
version: 1
|
|
75
|
+
detection_name: "CMD:SageMitre-E [Heur]"
|
|
56
76
|
category: credential_access
|
|
57
77
|
severity: critical
|
|
58
78
|
confidence: 0.90
|
|
59
|
-
|
|
79
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
80
|
+
# boundary at all.
|
|
81
|
+
pattern: "{{CMD_POS}}cmdkey(?:\\.exe)?{{NOT_FILENAME}}.*/list"
|
|
60
82
|
case_insensitive: true
|
|
61
83
|
match_on: command
|
|
62
84
|
title: "MITRE ATT&CK T1003.005 - Cached Domain Credentials"
|
|
@@ -65,10 +87,16 @@
|
|
|
65
87
|
|
|
66
88
|
# --- T1003.006: DC Sync ---
|
|
67
89
|
- id: "CLT-MITRE-006"
|
|
90
|
+
version: 1
|
|
91
|
+
detection_name: "CMD:SageMitre-F [Heur]"
|
|
68
92
|
category: credential_access
|
|
69
93
|
severity: critical
|
|
70
94
|
confidence: 0.90
|
|
71
|
-
|
|
95
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Unlike
|
|
96
|
+
# CLT-WIN-CRED-006, "Invoke-Mimikatz" here is the complete identifier being
|
|
97
|
+
# matched, not a suffix of one, so {{CMD_POS}} applies cleanly. Had no
|
|
98
|
+
# boundary at all.
|
|
99
|
+
pattern: "{{CMD_POS}}Invoke-Mimikatz{{NOT_FILENAME}}.*-Command.*lsadump::dcsync.*/user:"
|
|
72
100
|
case_insensitive: true
|
|
73
101
|
match_on: command
|
|
74
102
|
title: "MITRE ATT&CK T1003.006 - DC Sync"
|
|
@@ -77,10 +105,14 @@
|
|
|
77
105
|
|
|
78
106
|
# --- T1003: OS Credential Dumping ---
|
|
79
107
|
- id: "CLT-MITRE-007"
|
|
108
|
+
version: 1
|
|
109
|
+
detection_name: "CMD:SageMitre-G [Heur]"
|
|
80
110
|
category: credential_access
|
|
81
111
|
severity: critical
|
|
82
112
|
confidence: 0.90
|
|
83
|
-
|
|
113
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
114
|
+
# CLT-CMD-009.
|
|
115
|
+
pattern: "{{CMD_POS}}reg(?:\\.exe)?{{NOT_FILENAME}} (save|export).*SAM|{{CMD_POS}}(PasswordDump|CreateMiniDump){{NOT_FILENAME}}|{{CMD_POS}}Invoke-PowerDump\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Get-PassHashes\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Get-RegAutoLogon\\.ps1{{NOT_FILENAME}}"
|
|
84
116
|
case_insensitive: true
|
|
85
117
|
match_on: command
|
|
86
118
|
title: "MITRE ATT&CK T1003 - OS Credential Dumping"
|
|
@@ -89,10 +121,14 @@
|
|
|
89
121
|
|
|
90
122
|
# --- T1020: Automated Exfiltration ---
|
|
91
123
|
- id: "CLT-MITRE-012"
|
|
124
|
+
version: 1
|
|
125
|
+
detection_name: "CMD:SageMitre-L [Heur]"
|
|
92
126
|
category: exfiltration
|
|
93
127
|
severity: warning
|
|
94
128
|
confidence: 0.60
|
|
95
|
-
|
|
129
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
130
|
+
# CLT-CMD-009.
|
|
131
|
+
pattern: "{{CMD_POS}}rar(?:\\.exe)?{{NOT_FILENAME}}.*[afu].*\\s(-dw|-tb|-ta)|{{CMD_POS}}7z(?:\\.exe)?{{NOT_FILENAME}}.*[au].*-sdel|{{CMD_POS}}Add-Exfiltration\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Do-Exfiltration\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Invoke-PostExfil\\.ps1{{NOT_FILENAME}}"
|
|
96
132
|
case_insensitive: true
|
|
97
133
|
match_on: command
|
|
98
134
|
title: "MITRE ATT&CK T1020 - Automated Exfiltration"
|
|
@@ -101,10 +137,14 @@
|
|
|
101
137
|
|
|
102
138
|
# --- T1021.003: Distributed Component Object Model ---
|
|
103
139
|
- id: "CLT-MITRE-014"
|
|
140
|
+
version: 1
|
|
141
|
+
detection_name: "CMD:SageMitre-N [Heur]"
|
|
104
142
|
category: lateral_movement
|
|
105
143
|
severity: warning
|
|
106
144
|
confidence: 0.60
|
|
107
|
-
|
|
145
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
146
|
+
# boundary at all.
|
|
147
|
+
pattern: "{{CMD_POS}}Invoke-DCOM{{NOT_FILENAME}}.*\\-ComputerName"
|
|
108
148
|
case_insensitive: true
|
|
109
149
|
match_on: command
|
|
110
150
|
title: "MITRE ATT&CK T1021.003 - Distributed Component Object Model"
|
|
@@ -113,10 +153,14 @@
|
|
|
113
153
|
|
|
114
154
|
# --- T1027.003: Steganography ---
|
|
115
155
|
- id: "CLT-MITRE-016"
|
|
156
|
+
version: 1
|
|
157
|
+
detection_name: "CMD:SageMitre-P [Heur]"
|
|
116
158
|
category: defense_evasion
|
|
117
159
|
severity: warning
|
|
118
160
|
confidence: 0.60
|
|
119
|
-
|
|
161
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
162
|
+
# CLT-CMD-009.
|
|
163
|
+
pattern: "{{CMD_POS}}Invoke-PSImage{{NOT_FILENAME}}.*-Script|{{CMD_POS}}Invoke-PSImage{{NOT_FILENAME}}"
|
|
120
164
|
case_insensitive: true
|
|
121
165
|
match_on: command
|
|
122
166
|
title: "MITRE ATT&CK T1027.003 - Steganography"
|
|
@@ -125,10 +169,14 @@
|
|
|
125
169
|
|
|
126
170
|
# --- T1027.005: Indicator Removalfrom Tools ---
|
|
127
171
|
- id: "CLT-MITRE-017"
|
|
172
|
+
version: 1
|
|
173
|
+
detection_name: "CMD:SageMitre-Q [Heur]"
|
|
128
174
|
category: defense_evasion
|
|
129
175
|
severity: warning
|
|
130
176
|
confidence: 0.60
|
|
131
|
-
|
|
177
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
178
|
+
# boundary at all.
|
|
179
|
+
pattern: "{{CMD_POS}}Find-AVSignature{{NOT_FILENAME}}.*-Startbyte"
|
|
132
180
|
case_insensitive: true
|
|
133
181
|
match_on: command
|
|
134
182
|
title: "MITRE ATT&CK T1027.005 - Indicator Removalfrom Tools"
|
|
@@ -137,10 +185,14 @@
|
|
|
137
185
|
|
|
138
186
|
# --- T1040: Network Sniffing ---
|
|
139
187
|
- id: "CLT-MITRE-020"
|
|
188
|
+
version: 1
|
|
189
|
+
detection_name: "CMD:SageMitre-T [Heur]"
|
|
140
190
|
category: credential_access
|
|
141
191
|
severity: warning
|
|
142
192
|
confidence: 0.60
|
|
143
|
-
|
|
193
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
194
|
+
# boundary at all.
|
|
195
|
+
pattern: "{{CMD_POS}}netsh(?:\\.exe)?{{NOT_FILENAME}}.*start.*trace"
|
|
144
196
|
case_insensitive: true
|
|
145
197
|
match_on: command
|
|
146
198
|
title: "MITRE ATT&CK T1040 - Network Sniffing"
|
|
@@ -149,10 +201,16 @@
|
|
|
149
201
|
|
|
150
202
|
# --- T1046: Network Service Scanning ---
|
|
151
203
|
- id: "CLT-MITRE-022"
|
|
204
|
+
version: 1
|
|
205
|
+
detection_name: "CMD:SageMitre-V [Heur]"
|
|
152
206
|
category: discovery
|
|
153
207
|
severity: warning
|
|
154
208
|
confidence: 0.60
|
|
155
|
-
|
|
209
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
210
|
+
# CLT-CMD-009. The old bare `\b` boundaries already blocked matching inside
|
|
211
|
+
# a longer identifier (`UnmapViewOfFile`) but not quoted prose or
|
|
212
|
+
# argument position.
|
|
213
|
+
pattern: "{{CMD_POS}}telnet(?:\\.exe)?{{NOT_FILENAME}}|{{CMD_POS}}nmap(?:\\.exe)?{{NOT_FILENAME}}|{{CMD_POS}}Invoke-ARPScan\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Invoke-PortScan\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Invoke-SMBScanner\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Port-Scan\\.ps1{{NOT_FILENAME}}"
|
|
156
214
|
case_insensitive: true
|
|
157
215
|
match_on: command
|
|
158
216
|
title: "MITRE ATT&CK T1046 - Network Service Scanning"
|
|
@@ -161,10 +219,16 @@
|
|
|
161
219
|
|
|
162
220
|
# --- T1048: Exfiltration Over Alternative Protocol ---
|
|
163
221
|
- id: "CLT-MITRE-023"
|
|
222
|
+
version: 1
|
|
223
|
+
detection_name: "CMD:SageMitre-W [Heur]"
|
|
164
224
|
category: exfiltration
|
|
165
225
|
severity: critical
|
|
166
226
|
confidence: 0.90
|
|
167
|
-
|
|
227
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
228
|
+
# CLT-CMD-009. Both tools ship real Windows .exe builds (dnscat2's client
|
|
229
|
+
# is commonly compiled for Windows targets; iodine has official Windows
|
|
230
|
+
# binaries), so both need the optional .exe suffix.
|
|
231
|
+
pattern: "{{CMD_POS}}dnscat2(?:\\.exe)?{{NOT_FILENAME}}|{{CMD_POS}}iodine(?:\\.exe)?{{NOT_FILENAME}}"
|
|
168
232
|
case_insensitive: true
|
|
169
233
|
match_on: command
|
|
170
234
|
title: "MITRE ATT&CK T1048 - Exfiltration Over Alternative Protocol"
|
|
@@ -173,10 +237,14 @@
|
|
|
173
237
|
|
|
174
238
|
# --- T1053.005: Scheduled Task ---
|
|
175
239
|
- id: "CLT-MITRE-026"
|
|
240
|
+
version: 1
|
|
241
|
+
detection_name: "CMD:SageMitre-Z [Heur]"
|
|
176
242
|
category: persistence
|
|
177
243
|
severity: warning
|
|
178
244
|
confidence: 0.60
|
|
179
|
-
|
|
245
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
246
|
+
# CLT-CMD-009.
|
|
247
|
+
pattern: "{{CMD_POS}}schtasks(?:\\.exe)?{{NOT_FILENAME}}\\s+/create|{{CMD_POS}}schtasks(?:\\.exe)?{{NOT_FILENAME}}\\s+/%windir:~0,1%reate|{{CMD_POS}}at\\.exe{{NOT_FILENAME}}"
|
|
180
248
|
case_insensitive: true
|
|
181
249
|
match_on: command
|
|
182
250
|
title: "MITRE ATT&CK T1053.005 - Scheduled Task"
|
|
@@ -185,10 +253,14 @@
|
|
|
185
253
|
|
|
186
254
|
# --- T1055.001: Dynamiclink Library Injection ---
|
|
187
255
|
- id: "CLT-MITRE-027"
|
|
256
|
+
version: 1
|
|
257
|
+
detection_name: "CMD:SageMitre-AA [Heur]"
|
|
188
258
|
category: defense_evasion
|
|
189
259
|
severity: critical
|
|
190
260
|
confidence: 0.90
|
|
191
|
-
|
|
261
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
262
|
+
# boundary at all.
|
|
263
|
+
pattern: "{{CMD_POS}}Invoke-DllInjection\\.ps1{{NOT_FILENAME}}"
|
|
192
264
|
case_insensitive: true
|
|
193
265
|
match_on: command
|
|
194
266
|
title: "MITRE ATT&CK T1055.001 - Dynamiclink Library Injection"
|
|
@@ -197,10 +269,14 @@
|
|
|
197
269
|
|
|
198
270
|
# --- T1069: Permission Groups Discovery ---
|
|
199
271
|
- id: "CLT-MITRE-032"
|
|
272
|
+
version: 1
|
|
273
|
+
detection_name: "CMD:SageMitre-AF [Heur]"
|
|
200
274
|
category: discovery
|
|
201
275
|
severity: warning
|
|
202
276
|
confidence: 0.60
|
|
203
|
-
|
|
277
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
278
|
+
# boundary at all.
|
|
279
|
+
pattern: "{{CMD_POS}}Get-ManagementRoleAssignment{{NOT_FILENAME}}"
|
|
204
280
|
case_insensitive: true
|
|
205
281
|
match_on: command
|
|
206
282
|
title: "MITRE ATT&CK T1069 - Permission Groups Discovery"
|
|
@@ -209,10 +285,14 @@
|
|
|
209
285
|
|
|
210
286
|
# --- T1070.004: File Deletion ---
|
|
211
287
|
- id: "CLT-MITRE-033"
|
|
288
|
+
version: 1
|
|
289
|
+
detection_name: "CMD:SageMitre-AG [Heur]"
|
|
212
290
|
category: defense_evasion
|
|
213
291
|
severity: warning
|
|
214
292
|
confidence: 0.60
|
|
215
|
-
|
|
293
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
294
|
+
# CLT-CMD-009.
|
|
295
|
+
pattern: "{{CMD_POS}}cmd(?:\\.exe)?{{NOT_FILENAME}}\\s+/c\\s+del\\s+/[sqf]|{{CMD_POS}}fsutil(?:\\.exe)?{{NOT_FILENAME}}.*usn.*deleteJournal"
|
|
216
296
|
case_insensitive: true
|
|
217
297
|
match_on: command
|
|
218
298
|
title: "MITRE ATT&CK T1070.004 - File Deletion"
|
|
@@ -221,10 +301,14 @@
|
|
|
221
301
|
|
|
222
302
|
# --- T1070.005: Network Share Connection Removal ---
|
|
223
303
|
- id: "CLT-MITRE-034"
|
|
304
|
+
version: 1
|
|
305
|
+
detection_name: "CMD:SageMitre-AH [Heur]"
|
|
224
306
|
category: defense_evasion
|
|
225
307
|
severity: warning
|
|
226
308
|
confidence: 0.60
|
|
227
|
-
|
|
309
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
310
|
+
# boundary at all.
|
|
311
|
+
pattern: "{{CMD_POS}}net(?:1)?(?:\\.exe)?{{NOT_FILENAME}}.*use.*\\\\\\\\.*\\\\.*/delete$"
|
|
228
312
|
case_insensitive: true
|
|
229
313
|
match_on: command
|
|
230
314
|
title: "MITRE ATT&CK T1070.005 - Network Share Connection Removal"
|
|
@@ -233,10 +317,14 @@
|
|
|
233
317
|
|
|
234
318
|
# --- T1087.002: Domain Account ---
|
|
235
319
|
- id: "CLT-MITRE-037"
|
|
320
|
+
version: 1
|
|
321
|
+
detection_name: "CMD:SageMitre-AK [Heur]"
|
|
236
322
|
category: discovery
|
|
237
323
|
severity: warning
|
|
238
324
|
confidence: 0.60
|
|
239
|
-
|
|
325
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
326
|
+
# CLT-CMD-009.
|
|
327
|
+
pattern: "{{CMD_POS}}net1(?:\\.exe)?{{NOT_FILENAME}}.*user.*/dom|{{CMD_POS}}net(?:\\.exe)?{{NOT_FILENAME}}.*user.*/dom|{{CMD_POS}}net1(?:\\.exe)?{{NOT_FILENAME}}.*group.*/dom|{{CMD_POS}}net(?:\\.exe)?{{NOT_FILENAME}}.*group.*/dom"
|
|
240
328
|
case_insensitive: true
|
|
241
329
|
match_on: command
|
|
242
330
|
title: "MITRE ATT&CK T1087.002 - Domain Account"
|
|
@@ -245,10 +333,14 @@
|
|
|
245
333
|
|
|
246
334
|
# --- T1087.003: Email Account ---
|
|
247
335
|
- id: "CLT-MITRE-038"
|
|
336
|
+
version: 1
|
|
337
|
+
detection_name: "CMD:SageMitre-AL [Heur]"
|
|
248
338
|
category: discovery
|
|
249
339
|
severity: warning
|
|
250
340
|
confidence: 0.60
|
|
251
|
-
|
|
341
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
342
|
+
# boundary at all.
|
|
343
|
+
pattern: "{{CMD_POS}}Get-.*GlobalAddressList{{NOT_FILENAME}}"
|
|
252
344
|
case_insensitive: true
|
|
253
345
|
match_on: command
|
|
254
346
|
title: "MITRE ATT&CK T1087.003 - Email Account"
|
|
@@ -257,10 +349,14 @@
|
|
|
257
349
|
|
|
258
350
|
# --- T1098.002: Exchange Email Delegate Permissions ---
|
|
259
351
|
- id: "CLT-MITRE-039"
|
|
352
|
+
version: 1
|
|
353
|
+
detection_name: "CMD:SageMitre-AM [Heur]"
|
|
260
354
|
category: persistence
|
|
261
355
|
severity: warning
|
|
262
356
|
confidence: 0.60
|
|
263
|
-
|
|
357
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
358
|
+
# boundary at all.
|
|
359
|
+
pattern: "{{CMD_POS}}Add-MailboxPermission{{NOT_FILENAME}}"
|
|
264
360
|
case_insensitive: true
|
|
265
361
|
match_on: command
|
|
266
362
|
title: "MITRE ATT&CK T1098.002 - Exchange Email Delegate Permissions"
|
|
@@ -269,10 +365,14 @@
|
|
|
269
365
|
|
|
270
366
|
# --- T1098: Account Manipulation ---
|
|
271
367
|
- id: "CLT-MITRE-040"
|
|
368
|
+
version: 1
|
|
369
|
+
detection_name: "CMD:SageMitre-AN [Heur]"
|
|
272
370
|
category: persistence
|
|
273
371
|
severity: warning
|
|
274
372
|
confidence: 0.60
|
|
275
|
-
|
|
373
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
374
|
+
# CLT-CMD-009.
|
|
375
|
+
pattern: "{{CMD_POS}}net(?:1)?(?:\\.exe)?{{NOT_FILENAME}}.*user.*\\w+.*/add|{{CMD_POS}}net(?:1)?(?:\\.exe)?{{NOT_FILENAME}}.*group.*Administrators.*\\w+ /add|{{CMD_POS}}net(?:1)?(?:\\.exe)?{{NOT_FILENAME}}.*localgroup.*Administrators.*\\w+ /add"
|
|
276
376
|
case_insensitive: true
|
|
277
377
|
match_on: command
|
|
278
378
|
title: "MITRE ATT&CK T1098 - Account Manipulation"
|
|
@@ -281,10 +381,18 @@
|
|
|
281
381
|
|
|
282
382
|
# --- T1105: Ingress Tool Transfer ---
|
|
283
383
|
- id: "CLT-MITRE-041"
|
|
384
|
+
version: 1
|
|
385
|
+
detection_name: "CMD:SageMitre-AO [Heur]"
|
|
284
386
|
category: command_and_control
|
|
285
387
|
severity: warning
|
|
286
388
|
confidence: 0.60
|
|
287
|
-
|
|
389
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
390
|
+
# CLT-CMD-009. The `New-Object` branch keeps its literal opening paren
|
|
391
|
+
# instead of {{CMD_POS}} -- the closing `\)` is already a literal
|
|
392
|
+
# requirement, so pairing it with {{CMD_POS}}'s wider boundary set (`;`,
|
|
393
|
+
# `&`, `|`, ...) would accept an unmatched close paren with nothing real to
|
|
394
|
+
# pair it with. Same pipe-boundary exception shape as CLT-MAC-CMD-003.
|
|
395
|
+
pattern: "{{CMD_POS}}certutil(?:\\.exe)?{{NOT_FILENAME}}.*-(decode|decodehex|encode|ping|url|urlcache|verifyctl)|{{CMD_POS}}MpCmdRun(?:\\.exe)?{{NOT_FILENAME}}.*-DownloadFile.*-url.*http|\\(New-Object{{NOT_FILENAME}} System\\.Net\\.WebClient\\)\\.DownloadFile|{{CMD_POS}}bitsadmin(?:\\.exe)?{{NOT_FILENAME}}.*/(transfer|download|create|addfile|setnotifycmdline|resume|complete)|{{CMD_POS}}Start-BitsTransfer{{NOT_FILENAME}}"
|
|
288
396
|
case_insensitive: true
|
|
289
397
|
match_on: command
|
|
290
398
|
title: "MITRE ATT&CK T1105 - Ingress Tool Transfer"
|
|
@@ -293,10 +401,14 @@
|
|
|
293
401
|
|
|
294
402
|
# --- T1110.004: Credential Stuffing ---
|
|
295
403
|
- id: "CLT-MITRE-042"
|
|
404
|
+
version: 1
|
|
405
|
+
detection_name: "CMD:SageMitre-AP [Heur]"
|
|
296
406
|
category: credential_access
|
|
297
407
|
severity: warning
|
|
298
408
|
confidence: 0.60
|
|
299
|
-
|
|
409
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
410
|
+
# boundary at all.
|
|
411
|
+
pattern: "{{CMD_POS}}Invoke-CredentialInjection\\.ps1{{NOT_FILENAME}}"
|
|
300
412
|
case_insensitive: true
|
|
301
413
|
match_on: command
|
|
302
414
|
title: "MITRE ATT&CK T1110.004 - Credential Stuffing"
|
|
@@ -305,10 +417,14 @@
|
|
|
305
417
|
|
|
306
418
|
# --- T1120: Peripheral Device Discovery ---
|
|
307
419
|
- id: "CLT-MITRE-043"
|
|
420
|
+
version: 1
|
|
421
|
+
detection_name: "CMD:SageMitre-AQ [Heur]"
|
|
308
422
|
category: discovery
|
|
309
423
|
severity: warning
|
|
310
424
|
confidence: 0.60
|
|
311
|
-
|
|
425
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
426
|
+
# CLT-CMD-009.
|
|
427
|
+
pattern: "{{CMD_POS}}Get-WMIObject{{NOT_FILENAME}}.*Win32_PnPEntity|{{CMD_POS}}pnputil(?:\\.exe)?{{NOT_FILENAME}}.*/enum-devices"
|
|
312
428
|
case_insensitive: true
|
|
313
429
|
match_on: command
|
|
314
430
|
title: "MITRE ATT&CK T1120 - Peripheral Device Discovery"
|
|
@@ -317,10 +433,14 @@
|
|
|
317
433
|
|
|
318
434
|
# --- T1136.001: Local Account ---
|
|
319
435
|
- id: "CLT-MITRE-048"
|
|
436
|
+
version: 1
|
|
437
|
+
detection_name: "CMD:SageMitre-AV [Heur]"
|
|
320
438
|
category: persistence
|
|
321
439
|
severity: warning
|
|
322
440
|
confidence: 0.60
|
|
323
|
-
|
|
441
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
442
|
+
# boundary at all.
|
|
443
|
+
pattern: "{{CMD_POS}}net(?:1)?(?:\\.exe)?{{NOT_FILENAME}}.*user.*/add"
|
|
324
444
|
case_insensitive: true
|
|
325
445
|
match_on: command
|
|
326
446
|
title: "MITRE ATT&CK T1136.001 - Local Account"
|
|
@@ -329,10 +449,14 @@
|
|
|
329
449
|
|
|
330
450
|
# --- T1136.002: Domain Account ---
|
|
331
451
|
- id: "CLT-MITRE-049"
|
|
452
|
+
version: 1
|
|
453
|
+
detection_name: "CMD:SageMitre-AW [Heur]"
|
|
332
454
|
category: persistence
|
|
333
455
|
severity: warning
|
|
334
456
|
confidence: 0.60
|
|
335
|
-
|
|
457
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
458
|
+
# boundary at all.
|
|
459
|
+
pattern: "{{CMD_POS}}net(?:1)?(?:\\.exe)?{{NOT_FILENAME}}.*user.*/add.*/domain"
|
|
336
460
|
case_insensitive: true
|
|
337
461
|
match_on: command
|
|
338
462
|
title: "MITRE ATT&CK T1136.002 - Domain Account"
|
|
@@ -341,10 +465,14 @@
|
|
|
341
465
|
|
|
342
466
|
# --- T1201: Password Policy Discovery ---
|
|
343
467
|
- id: "CLT-MITRE-050"
|
|
468
|
+
version: 1
|
|
469
|
+
detection_name: "CMD:SageMitre-AX [Heur]"
|
|
344
470
|
category: discovery
|
|
345
471
|
severity: warning
|
|
346
472
|
confidence: 0.60
|
|
347
|
-
|
|
473
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
474
|
+
# CLT-CMD-009.
|
|
475
|
+
pattern: "{{CMD_POS}}net(?:\\.exe)?{{NOT_FILENAME}}.*accounts|{{CMD_POS}}Get-ADDefaultDomainPasswordPolicy{{NOT_FILENAME}}|{{CMD_POS}}Get-PassPol{{NOT_FILENAME}}"
|
|
348
476
|
case_insensitive: true
|
|
349
477
|
match_on: command
|
|
350
478
|
title: "MITRE ATT&CK T1201 - Password Policy Discovery"
|
|
@@ -353,10 +481,14 @@
|
|
|
353
481
|
|
|
354
482
|
# --- T1202: Indirect Command Execution ---
|
|
355
483
|
- id: "CLT-MITRE-051"
|
|
484
|
+
version: 1
|
|
485
|
+
detection_name: "CMD:SageMitre-AY [Heur]"
|
|
356
486
|
category: defense_evasion
|
|
357
487
|
severity: warning
|
|
358
488
|
confidence: 0.60
|
|
359
|
-
|
|
489
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
490
|
+
# CLT-CMD-009.
|
|
491
|
+
pattern: "{{CMD_POS}}regsvr32(?:\\.exe)?{{NOT_FILENAME}}.*/i:http(s)?://.+.*scrobj\\.dll|{{CMD_POS}}rundll32(?:\\.exe)?{{NOT_FILENAME}}.*pcwutl\\.dll,LaunchApplication|{{CMD_POS}}rundll32(?:\\.exe)?{{NOT_FILENAME}}.*shell32\\.dll,ShellExec_RunDLL|{{CMD_POS}}rundll32(?:\\.exe)?{{NOT_FILENAME}}.*url\\.dll,OpenURL|{{CMD_POS}}msiexec(?:\\.exe)?{{NOT_FILENAME}}.*-(Y|Z)|{{CMD_POS}}regasm(?:\\.exe)?{{NOT_FILENAME}}.*/u.*\\\\"
|
|
360
492
|
case_insensitive: true
|
|
361
493
|
match_on: command
|
|
362
494
|
title: "MITRE ATT&CK T1202 - Indirect Command Execution"
|
|
@@ -365,10 +497,14 @@
|
|
|
365
497
|
|
|
366
498
|
# --- T1203: Exploitationfor Client Execution ---
|
|
367
499
|
- id: "CLT-MITRE-052"
|
|
500
|
+
version: 1
|
|
501
|
+
detection_name: "CMD:SageMitre-AZ [Heur]"
|
|
368
502
|
category: execution
|
|
369
503
|
severity: critical
|
|
370
504
|
confidence: 0.90
|
|
371
|
-
|
|
505
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
506
|
+
# CLT-CMD-009.
|
|
507
|
+
pattern: "{{CMD_POS}}p\\^+o\\^+w\\^+e\\^+r\\^+s\\^+h\\^+e\\^+l\\^+l{{NOT_FILENAME}}|{{CMD_POS}}w\\^+s\\^+c\\^+r\\^+i\\^+p\\^+t{{NOT_FILENAME}}|{{CMD_POS}}c\\^+e\\^+r\\^+t\\^+u\\^+t\\^+i\\^+l{{NOT_FILENAME}}|{{CMD_POS}}m\\^+s\\^+h\\^+t\\^+a{{NOT_FILENAME}}|{{CMD_POS}}explorer\\.exe{{NOT_FILENAME}} .*\\.vbs$"
|
|
372
508
|
case_insensitive: true
|
|
373
509
|
match_on: command
|
|
374
510
|
title: "MITRE ATT&CK T1203 - Exploitationfor Client Execution"
|
|
@@ -377,10 +513,14 @@
|
|
|
377
513
|
|
|
378
514
|
# --- T1216.001: Pub Prn ---
|
|
379
515
|
- id: "CLT-MITRE-053"
|
|
516
|
+
version: 1
|
|
517
|
+
detection_name: "CMD:SageMitre-BA [Heur]"
|
|
380
518
|
category: defense_evasion
|
|
381
519
|
severity: warning
|
|
382
520
|
confidence: 0.60
|
|
383
|
-
|
|
521
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
522
|
+
# boundary at all.
|
|
523
|
+
pattern: "{{CMD_POS}}pubprn\\.vbs{{NOT_FILENAME}}"
|
|
384
524
|
case_insensitive: true
|
|
385
525
|
match_on: command
|
|
386
526
|
title: "MITRE ATT&CK T1216.001 - Pub Prn"
|
|
@@ -389,10 +529,14 @@
|
|
|
389
529
|
|
|
390
530
|
# --- T1218.012: Verclsid ---
|
|
391
531
|
- id: "CLT-MITRE-064"
|
|
532
|
+
version: 1
|
|
533
|
+
detection_name: "CMD:SageMitre-BL [Heur]"
|
|
392
534
|
category: defense_evasion
|
|
393
535
|
severity: warning
|
|
394
536
|
confidence: 0.60
|
|
395
|
-
|
|
537
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
538
|
+
# boundary at all.
|
|
539
|
+
pattern: "{{CMD_POS}}verclsid(?:\\.exe)?{{NOT_FILENAME}}.*/S.*/C.*\\{[0-9a-fA-F]{8}"
|
|
396
540
|
case_insensitive: true
|
|
397
541
|
match_on: command
|
|
398
542
|
title: "MITRE ATT&CK T1218.012 - Verclsid"
|
|
@@ -401,10 +545,14 @@
|
|
|
401
545
|
|
|
402
546
|
# --- T1220: XSL Script Processing ---
|
|
403
547
|
- id: "CLT-MITRE-065"
|
|
548
|
+
version: 1
|
|
549
|
+
detection_name: "CMD:SageMitre-BM [Heur]"
|
|
404
550
|
category: defense_evasion
|
|
405
551
|
severity: warning
|
|
406
552
|
confidence: 0.60
|
|
407
|
-
|
|
553
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
554
|
+
# CLT-CMD-009.
|
|
555
|
+
pattern: "{{CMD_POS}}msxsl(?:\\.exe)?{{NOT_FILENAME}}.+\\.xsl|{{CMD_POS}}wmic(?:\\.exe)?{{NOT_FILENAME}}.*process.*list.*/FORMAT:.+\\.xsl|{{CMD_POS}}wmic(?:\\.exe)?{{NOT_FILENAME}}.*os.*get.*/FORMAT:.+\\.xsl|{{CMD_POS}}wmic(?:\\.exe)?{{NOT_FILENAME}}.*process.*list.*/FORMAT:evil\\[\\.\\]xsl|{{CMD_POS}}wmic(?:\\.exe)?{{NOT_FILENAME}}.*os.*get.*/FORMAT:https\\[:\\]//example\\[\\.\\]com/evil\\[\\.\\]xsl"
|
|
408
556
|
case_insensitive: true
|
|
409
557
|
match_on: command
|
|
410
558
|
title: "MITRE ATT&CK T1220 - XSL Script Processing"
|
|
@@ -413,10 +561,14 @@
|
|
|
413
561
|
|
|
414
562
|
# --- T1482: Domain Trust Discovery ---
|
|
415
563
|
- id: "CLT-MITRE-066"
|
|
564
|
+
version: 1
|
|
565
|
+
detection_name: "CMD:SageMitre-BN [Heur]"
|
|
416
566
|
category: discovery
|
|
417
567
|
severity: warning
|
|
418
568
|
confidence: 0.60
|
|
419
|
-
|
|
569
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
570
|
+
# CLT-CMD-009.
|
|
571
|
+
pattern: "{{CMD_POS}}nltest(?:\\.exe)?{{NOT_FILENAME}}.*/domain_trusts|{{CMD_POS}}dsquery(?:\\.exe)?{{NOT_FILENAME}}.*/trustedDomain|{{CMD_POS}}Get-NetDomainTrust{{NOT_FILENAME}}|{{CMD_POS}}Get-NetForestTrust{{NOT_FILENAME}}|{{CMD_POS}}Get-ADDomain{{NOT_FILENAME}}"
|
|
420
572
|
case_insensitive: true
|
|
421
573
|
match_on: command
|
|
422
574
|
title: "MITRE ATT&CK T1482 - Domain Trust Discovery"
|
|
@@ -425,10 +577,14 @@
|
|
|
425
577
|
|
|
426
578
|
# --- T1484.001: Group Policy Modification ---
|
|
427
579
|
- id: "CLT-MITRE-067"
|
|
580
|
+
version: 1
|
|
581
|
+
detection_name: "CMD:SageMitre-BO [Heur]"
|
|
428
582
|
category: defense_evasion
|
|
429
583
|
severity: warning
|
|
430
584
|
confidence: 0.60
|
|
431
|
-
|
|
585
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
586
|
+
# CLT-CMD-009.
|
|
587
|
+
pattern: "{{CMD_POS}}New-GPOImmediateTask{{NOT_FILENAME}}|{{CMD_POS}}New-.*GPOImmediateTask{{NOT_FILENAME}}"
|
|
432
588
|
case_insensitive: true
|
|
433
589
|
match_on: command
|
|
434
590
|
title: "MITRE ATT&CK T1484.001 - Group Policy Modification"
|
|
@@ -437,10 +593,14 @@
|
|
|
437
593
|
|
|
438
594
|
# --- T1518.001: Security Software Discovery ---
|
|
439
595
|
- id: "CLT-MITRE-071"
|
|
596
|
+
version: 1
|
|
597
|
+
detection_name: "CMD:SageMitre-BS [Heur]"
|
|
440
598
|
category: discovery
|
|
441
599
|
severity: warning
|
|
442
600
|
confidence: 0.60
|
|
443
|
-
|
|
601
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
602
|
+
# CLT-CMD-009.
|
|
603
|
+
pattern: "{{CMD_POS}}tasklist(?:\\.exe)?{{NOT_FILENAME}}.+(virus|defender|cylance)|{{CMD_POS}}wmic(?:\\.exe)?{{NOT_FILENAME}}.+Path.*AntiVirusProduct"
|
|
444
604
|
case_insensitive: true
|
|
445
605
|
match_on: command
|
|
446
606
|
title: "MITRE ATT&CK T1518.001 - Security Software Discovery"
|
|
@@ -449,10 +609,14 @@
|
|
|
449
609
|
|
|
450
610
|
# --- T1518: Software Discovery ---
|
|
451
611
|
- id: "CLT-MITRE-072"
|
|
612
|
+
version: 1
|
|
613
|
+
detection_name: "CMD:SageMitre-BT [Heur]"
|
|
452
614
|
category: discovery
|
|
453
615
|
severity: warning
|
|
454
616
|
confidence: 0.60
|
|
455
|
-
|
|
617
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
618
|
+
# boundary at all.
|
|
619
|
+
pattern: "{{CMD_POS}}wmic(?:\\.exe)?{{NOT_FILENAME}} product get name"
|
|
456
620
|
case_insensitive: true
|
|
457
621
|
match_on: command
|
|
458
622
|
title: "MITRE ATT&CK T1518 - Software Discovery"
|
|
@@ -461,10 +625,14 @@
|
|
|
461
625
|
|
|
462
626
|
# --- T1546.001: Change Default File Association ---
|
|
463
627
|
- id: "CLT-MITRE-075"
|
|
628
|
+
version: 1
|
|
629
|
+
detection_name: "CMD:SageMitre-BW [Heur]"
|
|
464
630
|
category: persistence
|
|
465
631
|
severity: warning
|
|
466
632
|
confidence: 0.60
|
|
467
|
-
|
|
633
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
634
|
+
# boundary at all.
|
|
635
|
+
pattern: "{{CMD_POS}}cmd(?:\\.exe)?{{NOT_FILENAME}}.*/c.+assoc"
|
|
468
636
|
case_insensitive: true
|
|
469
637
|
match_on: command
|
|
470
638
|
title: "MITRE ATT&CK T1546.001 - Change Default File Association"
|
|
@@ -473,10 +641,14 @@
|
|
|
473
641
|
|
|
474
642
|
# --- T1546.003: Windows Management Instrumentation Event Subscription ---
|
|
475
643
|
- id: "CLT-MITRE-076"
|
|
644
|
+
version: 1
|
|
645
|
+
detection_name: "CMD:SageMitre-BX [Heur]"
|
|
476
646
|
category: persistence
|
|
477
647
|
severity: warning
|
|
478
648
|
confidence: 0.60
|
|
479
|
-
|
|
649
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
650
|
+
# boundary at all.
|
|
651
|
+
pattern: "{{CMD_POS}}scrcons\\.exe{{NOT_FILENAME}}"
|
|
480
652
|
case_insensitive: true
|
|
481
653
|
match_on: command
|
|
482
654
|
title: "MITRE ATT&CK T1546.003 - Windows Management Instrumentation Event Subscription"
|
|
@@ -485,10 +657,14 @@
|
|
|
485
657
|
|
|
486
658
|
# --- T1546.007: Netsh Helper DLL ---
|
|
487
659
|
- id: "CLT-MITRE-077"
|
|
660
|
+
version: 1
|
|
661
|
+
detection_name: "CMD:SageMitre-BY [Heur]"
|
|
488
662
|
category: persistence
|
|
489
663
|
severity: warning
|
|
490
664
|
confidence: 0.60
|
|
491
|
-
|
|
665
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
666
|
+
# boundary at all.
|
|
667
|
+
pattern: "{{CMD_POS}}netsh\\.exe{{NOT_FILENAME}} add helper"
|
|
492
668
|
case_insensitive: true
|
|
493
669
|
match_on: command
|
|
494
670
|
title: "MITRE ATT&CK T1546.007 - Netsh Helper DLL"
|
|
@@ -497,10 +673,14 @@
|
|
|
497
673
|
|
|
498
674
|
# --- T1546.012: Image File Execution Options Injection ---
|
|
499
675
|
- id: "CLT-MITRE-078"
|
|
676
|
+
version: 1
|
|
677
|
+
detection_name: "CMD:SageMitre-BZ [Heur]"
|
|
500
678
|
category: persistence
|
|
501
679
|
severity: warning
|
|
502
680
|
confidence: 0.60
|
|
503
|
-
|
|
681
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
682
|
+
# CLT-CMD-009.
|
|
683
|
+
pattern: "{{CMD_POS}}Add-ScrnSaveBackdoor\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Add-RegBackdoor\\.ps1{{NOT_FILENAME}}"
|
|
504
684
|
case_insensitive: true
|
|
505
685
|
match_on: command
|
|
506
686
|
title: "MITRE ATT&CK T1546.012 - Image File Execution Options Injection"
|
|
@@ -509,10 +689,14 @@
|
|
|
509
689
|
|
|
510
690
|
# --- T1547: Bootor Logon Autostart Execution ---
|
|
511
691
|
- id: "CLT-MITRE-081"
|
|
692
|
+
version: 1
|
|
693
|
+
detection_name: "CMD:SageMitre-CC [Heur]"
|
|
512
694
|
category: persistence
|
|
513
695
|
severity: warning
|
|
514
696
|
confidence: 0.60
|
|
515
|
-
|
|
697
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
698
|
+
# boundary at all.
|
|
699
|
+
pattern: "{{CMD_POS}}Add-Persistence\\.ps1{{NOT_FILENAME}}"
|
|
516
700
|
case_insensitive: true
|
|
517
701
|
match_on: command
|
|
518
702
|
title: "MITRE ATT&CK T1547 - Bootor Logon Autostart Execution"
|
|
@@ -521,10 +705,14 @@
|
|
|
521
705
|
|
|
522
706
|
# --- T1548.002: Bypass User Account Control ---
|
|
523
707
|
- id: "CLT-MITRE-082"
|
|
708
|
+
version: 1
|
|
709
|
+
detection_name: "CMD:SageMitre-CD [Heur]"
|
|
524
710
|
category: privilege_escalation
|
|
525
711
|
severity: warning
|
|
526
712
|
confidence: 0.60
|
|
527
|
-
|
|
713
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
714
|
+
# CLT-CMD-009.
|
|
715
|
+
pattern: "{{CMD_POS}}Invoke-BypassUAC\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Invoke-WScriptBypassUAC\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Add-MpPreference\\.ps1{{NOT_FILENAME}}"
|
|
528
716
|
case_insensitive: true
|
|
529
717
|
match_on: command
|
|
530
718
|
title: "MITRE ATT&CK T1548.002 - Bypass User Account Control"
|
|
@@ -533,10 +721,14 @@
|
|
|
533
721
|
|
|
534
722
|
# --- T1552.002: Credentialsin Registry ---
|
|
535
723
|
- id: "CLT-MITRE-083"
|
|
724
|
+
version: 1
|
|
725
|
+
detection_name: "CMD:SageMitre-CE [Heur]"
|
|
536
726
|
category: credential_access
|
|
537
727
|
severity: warning
|
|
538
728
|
confidence: 0.60
|
|
539
|
-
|
|
729
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
730
|
+
# boundary at all.
|
|
731
|
+
pattern: "{{CMD_POS}}reg(?:\\.exe)?{{NOT_FILENAME}} query (HKLM|HKCU) /f password /t REG_SZ /s"
|
|
540
732
|
case_insensitive: true
|
|
541
733
|
match_on: command
|
|
542
734
|
title: "MITRE ATT&CK T1552.002 - Credentialsin Registry"
|
|
@@ -545,10 +737,14 @@
|
|
|
545
737
|
|
|
546
738
|
# --- T1553.004: Install Root Certificate ---
|
|
547
739
|
- id: "CLT-MITRE-085"
|
|
740
|
+
version: 1
|
|
741
|
+
detection_name: "CMD:SageMitre-CG [Heur]"
|
|
548
742
|
category: defense_evasion
|
|
549
743
|
severity: warning
|
|
550
744
|
confidence: 0.60
|
|
551
|
-
|
|
745
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
746
|
+
# CLT-CMD-009.
|
|
747
|
+
pattern: "{{CMD_POS}}certutil(?:\\.exe)?{{NOT_FILENAME}} -addstore|{{CMD_POS}}certmgr(?:\\.exe)?{{NOT_FILENAME}} -add"
|
|
552
748
|
case_insensitive: true
|
|
553
749
|
match_on: command
|
|
554
750
|
title: "MITRE ATT&CK T1553.004 - Install Root Certificate"
|
|
@@ -557,10 +753,14 @@
|
|
|
557
753
|
|
|
558
754
|
# --- T1555.003: Credentialsfrom Web Browsers ---
|
|
559
755
|
- id: "CLT-MITRE-086"
|
|
756
|
+
version: 1
|
|
757
|
+
detection_name: "CMD:SageMitre-CH [Heur]"
|
|
560
758
|
category: credential_access
|
|
561
759
|
severity: warning
|
|
562
760
|
confidence: 0.60
|
|
563
|
-
|
|
761
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
762
|
+
# CLT-CMD-009.
|
|
763
|
+
pattern: "{{CMD_POS}}Get-ChromeDump\\.ps1{{NOT_FILENAME}}|{{CMD_POS}}Get-FoxDump\\.ps1{{NOT_FILENAME}}"
|
|
564
764
|
case_insensitive: true
|
|
565
765
|
match_on: command
|
|
566
766
|
title: "MITRE ATT&CK T1555.003 - Credentialsfrom Web Browsers"
|
|
@@ -569,10 +769,14 @@
|
|
|
569
769
|
|
|
570
770
|
# --- T1555: Credentialsfrom Password Stores ---
|
|
571
771
|
- id: "CLT-MITRE-087"
|
|
772
|
+
version: 1
|
|
773
|
+
detection_name: "CMD:SageMitre-CI [Heur]"
|
|
572
774
|
category: credential_access
|
|
573
775
|
severity: warning
|
|
574
776
|
confidence: 0.60
|
|
575
|
-
|
|
777
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
778
|
+
# boundary at all.
|
|
779
|
+
pattern: "{{CMD_POS}}Get-VaultCredential\\.ps1{{NOT_FILENAME}}"
|
|
576
780
|
case_insensitive: true
|
|
577
781
|
match_on: command
|
|
578
782
|
title: "MITRE ATT&CK T1555 - Credentialsfrom Password Stores"
|
|
@@ -581,10 +785,15 @@
|
|
|
581
785
|
|
|
582
786
|
# --- T1558.001: Golden Ticket ---
|
|
583
787
|
- id: "CLT-MITRE-088"
|
|
788
|
+
version: 1
|
|
789
|
+
detection_name: "CMD:SageMitre-CJ [Heur]"
|
|
584
790
|
category: credential_access
|
|
585
791
|
severity: warning
|
|
586
792
|
confidence: 0.60
|
|
587
|
-
|
|
793
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
794
|
+
# CLT-CMD-009. "Invoke-Mimikatz" here is the complete identifier, not a
|
|
795
|
+
# suffix, so {{CMD_POS}} applies cleanly (see CLT-MITRE-006 note).
|
|
796
|
+
pattern: "{{CMD_POS}}net(?:1)?(?:\\.exe)?{{NOT_FILENAME}}.*group.*(domain admins|enterprise admins|organization management).*/domain$|{{CMD_POS}}Invoke-Mimikatz{{NOT_FILENAME}}.*Golden.*Ticket"
|
|
588
797
|
case_insensitive: true
|
|
589
798
|
match_on: command
|
|
590
799
|
title: "MITRE ATT&CK T1558.001 - Golden Ticket"
|
|
@@ -593,10 +802,14 @@
|
|
|
593
802
|
|
|
594
803
|
# --- T1558.002: Silver Ticket ---
|
|
595
804
|
- id: "CLT-MITRE-089"
|
|
805
|
+
version: 1
|
|
806
|
+
detection_name: "CMD:SageMitre-CK [Heur]"
|
|
596
807
|
category: credential_access
|
|
597
808
|
severity: warning
|
|
598
809
|
confidence: 0.60
|
|
599
|
-
|
|
810
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009 (see
|
|
811
|
+
# CLT-MITRE-006 note on why {{CMD_POS}} applies to Invoke-Mimikatz here).
|
|
812
|
+
pattern: "{{CMD_POS}}Invoke-Mimikatz{{NOT_FILENAME}}.*Silver.*Ticket"
|
|
600
813
|
case_insensitive: true
|
|
601
814
|
match_on: command
|
|
602
815
|
title: "MITRE ATT&CK T1558.002 - Silver Ticket"
|
|
@@ -605,10 +818,14 @@
|
|
|
605
818
|
|
|
606
819
|
# --- T1558.003: Kerberoasting ---
|
|
607
820
|
- id: "CLT-MITRE-090"
|
|
821
|
+
version: 1
|
|
822
|
+
detection_name: "CMD:SageMitre-CL [Heur]"
|
|
608
823
|
category: credential_access
|
|
609
824
|
severity: warning
|
|
610
825
|
confidence: 0.60
|
|
611
|
-
|
|
826
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
827
|
+
# boundary at all.
|
|
828
|
+
pattern: "{{CMD_POS}}Invoke-Kerberoast{{NOT_FILENAME}}"
|
|
612
829
|
case_insensitive: true
|
|
613
830
|
match_on: command
|
|
614
831
|
title: "MITRE ATT&CK T1558.003 - Kerberoasting"
|
|
@@ -617,10 +834,14 @@
|
|
|
617
834
|
|
|
618
835
|
# --- T1558.004: ASREP Roasting ---
|
|
619
836
|
- id: "CLT-MITRE-091"
|
|
837
|
+
version: 1
|
|
838
|
+
detection_name: "CMD:SageMitre-CM [Heur]"
|
|
620
839
|
category: credential_access
|
|
621
840
|
severity: warning
|
|
622
841
|
confidence: 0.60
|
|
623
|
-
|
|
842
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
843
|
+
# boundary at all.
|
|
844
|
+
pattern: "{{CMD_POS}}Get-ASREPHash{{NOT_FILENAME}}"
|
|
624
845
|
case_insensitive: true
|
|
625
846
|
match_on: command
|
|
626
847
|
title: "MITRE ATT&CK T1558.004 - ASREP Roasting"
|
|
@@ -629,10 +850,14 @@
|
|
|
629
850
|
|
|
630
851
|
# --- T1560.001: Archive Via Utility ---
|
|
631
852
|
- id: "CLT-MITRE-092"
|
|
853
|
+
version: 1
|
|
854
|
+
detection_name: "CMD:SageMitre-CN [Heur]"
|
|
632
855
|
category: collection
|
|
633
856
|
severity: warning
|
|
634
857
|
confidence: 0.60
|
|
635
|
-
|
|
858
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
859
|
+
# CLT-CMD-009.
|
|
860
|
+
pattern: "{{CMD_POS}}rar(?:\\.exe)?{{NOT_FILENAME}}\\s+.*\\b[afu]\\b|{{CMD_POS}}WinRAR(?:\\.exe)?{{NOT_FILENAME}}\\s|{{CMD_POS}}7z(?:\\.exe)?{{NOT_FILENAME}}\\s+.*\\ba\\b|{{CMD_POS}}zip(?:\\.exe)?{{NOT_FILENAME}}\\s+.*-u|{{CMD_POS}}WinZip32(?:\\.exe)?{{NOT_FILENAME}}\\s"
|
|
636
861
|
case_insensitive: true
|
|
637
862
|
match_on: command
|
|
638
863
|
title: "MITRE ATT&CK T1560.001 - Archive Via Utility"
|
|
@@ -641,10 +866,14 @@
|
|
|
641
866
|
|
|
642
867
|
# --- T1562.002: Disable Windows Event Logging ---
|
|
643
868
|
- id: "CLT-MITRE-093"
|
|
869
|
+
version: 1
|
|
870
|
+
detection_name: "CMD:SageMitre-CO [Heur]"
|
|
644
871
|
category: defense_evasion
|
|
645
872
|
severity: warning
|
|
646
873
|
confidence: 0.60
|
|
647
|
-
|
|
874
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
875
|
+
# boundary at all.
|
|
876
|
+
pattern: "{{CMD_POS}}AUDITPOL(?:\\.exe)?{{NOT_FILENAME}}.*/set.*/category:Detailed Tracking"
|
|
648
877
|
case_insensitive: true
|
|
649
878
|
match_on: command
|
|
650
879
|
title: "MITRE ATT&CK T1562.002 - Disable Windows Event Logging"
|
|
@@ -653,10 +882,14 @@
|
|
|
653
882
|
|
|
654
883
|
# --- T1562.003: Impair Command History Logging ---
|
|
655
884
|
- id: "CLT-MITRE-094"
|
|
885
|
+
version: 1
|
|
886
|
+
detection_name: "CMD:SageMitre-CP [Heur]"
|
|
656
887
|
category: defense_evasion
|
|
657
888
|
severity: warning
|
|
658
889
|
confidence: 0.60
|
|
659
|
-
|
|
890
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
891
|
+
# CLT-CMD-009.
|
|
892
|
+
pattern: "{{CMD_POS}}Set-.*PSReadLineOption{{NOT_FILENAME}}.*-HistorySavePath.*\\{File.*Path\\}|{{CMD_POS}}Set-PSReadlineOption{{NOT_FILENAME}}.*-HistorySaveStyle.*SaveNothing"
|
|
660
893
|
case_insensitive: true
|
|
661
894
|
match_on: command
|
|
662
895
|
title: "MITRE ATT&CK T1562.003 - Impair Command History Logging"
|
|
@@ -665,10 +898,14 @@
|
|
|
665
898
|
|
|
666
899
|
# --- T1562.006: Indicator Blocking ---
|
|
667
900
|
- id: "CLT-MITRE-095"
|
|
901
|
+
version: 1
|
|
902
|
+
detection_name: "CMD:SageMitre-CQ [Heur]"
|
|
668
903
|
category: defense_evasion
|
|
669
904
|
severity: warning
|
|
670
905
|
confidence: 0.60
|
|
671
|
-
|
|
906
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
907
|
+
# CLT-CMD-009.
|
|
908
|
+
pattern: "{{CMD_POS}}wevtutil(?:\\.exe)?{{NOT_FILENAME}}.*(sl|set-log).+/e:false|{{CMD_POS}}wevtutil(?:\\.exe)?{{NOT_FILENAME}}.*(cl|clear-log)|{{CMD_POS}}Set-.*EtwTraceProvider{{NOT_FILENAME}}"
|
|
672
909
|
case_insensitive: true
|
|
673
910
|
match_on: command
|
|
674
911
|
title: "MITRE ATT&CK T1562.006 - Indicator Blocking"
|
|
@@ -677,10 +914,16 @@
|
|
|
677
914
|
|
|
678
915
|
# --- T1563.002: RDP Hijacking ---
|
|
679
916
|
- id: "CLT-MITRE-096"
|
|
917
|
+
version: 1
|
|
918
|
+
detection_name: "CMD:SageMitre-CR [Heur]"
|
|
680
919
|
category: lateral_movement
|
|
681
920
|
severity: warning
|
|
682
921
|
confidence: 0.60
|
|
683
|
-
|
|
922
|
+
# {{CMD_POS}} + {{HAS_ARG}}, same shape as CLT-CMD-009. The old
|
|
923
|
+
# `(^|\s|[;&|])` boundary plus a "match inside any quoted string" branch
|
|
924
|
+
# accepted argument position and quoted prose alike (`grep -rn tscon`,
|
|
925
|
+
# `echo "use tscon.exe ... to hijack"`).
|
|
926
|
+
pattern: "{{CMD_POS}}tscon(?:\\.exe)?{{NOT_FILENAME}}{{HAS_ARG}}"
|
|
684
927
|
case_insensitive: true
|
|
685
928
|
match_on: command
|
|
686
929
|
title: "MITRE ATT&CK T1563.002 - RDP Hijacking"
|
|
@@ -689,10 +932,14 @@
|
|
|
689
932
|
|
|
690
933
|
# --- T1567.001: Exfiltrationto Code Repository ---
|
|
691
934
|
- id: "CLT-MITRE-099"
|
|
935
|
+
version: 1
|
|
936
|
+
detection_name: "CMD:SageMitre-CU [Heur]"
|
|
692
937
|
category: exfiltration
|
|
693
938
|
severity: warning
|
|
694
939
|
confidence: 0.60
|
|
695
|
-
|
|
940
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
941
|
+
# boundary at all.
|
|
942
|
+
pattern: "{{CMD_POS}}Invoke-ExfilDataToGitHub{{NOT_FILENAME}}"
|
|
696
943
|
case_insensitive: true
|
|
697
944
|
match_on: command
|
|
698
945
|
title: "MITRE ATT&CK T1567.001 - Exfiltrationto Code Repository"
|
|
@@ -701,10 +948,14 @@
|
|
|
701
948
|
|
|
702
949
|
# --- T1567.002: Exfiltrationto Cloud Storage ---
|
|
703
950
|
- id: "CLT-MITRE-100"
|
|
951
|
+
version: 1
|
|
952
|
+
detection_name: "CMD:SageMitre-CV [Heur]"
|
|
704
953
|
category: exfiltration
|
|
705
954
|
severity: warning
|
|
706
955
|
confidence: 0.60
|
|
707
|
-
|
|
956
|
+
# {{CMD_POS}} + {{NOT_FILENAME}}, same shape as CLT-CMD-009. Had no
|
|
957
|
+
# boundary at all.
|
|
958
|
+
pattern: "{{CMD_POS}}Invoke-DropboxUpload{{NOT_FILENAME}}"
|
|
708
959
|
case_insensitive: true
|
|
709
960
|
match_on: command
|
|
710
961
|
title: "MITRE ATT&CK T1567.002 - Exfiltrationto Cloud Storage"
|
|
@@ -713,10 +964,14 @@
|
|
|
713
964
|
|
|
714
965
|
# --- T1569: System Services ---
|
|
715
966
|
- id: "CLT-MITRE-102"
|
|
967
|
+
version: 1
|
|
968
|
+
detection_name: "CMD:SageMitre-CX [Heur]"
|
|
716
969
|
category: execution
|
|
717
970
|
severity: warning
|
|
718
971
|
confidence: 0.60
|
|
719
|
-
|
|
972
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
973
|
+
# CLT-CMD-009.
|
|
974
|
+
pattern: "{{CMD_POS}}subinacl(?:\\.exe){{NOT_FILENAME}} /service|{{CMD_POS}}sc(?:\\.exe)?{{NOT_FILENAME}} sdset"
|
|
720
975
|
case_insensitive: true
|
|
721
976
|
match_on: command
|
|
722
977
|
title: "MITRE ATT&CK T1569 - System Services"
|
|
@@ -725,10 +980,14 @@
|
|
|
725
980
|
|
|
726
981
|
# --- T1592.002: Software ---
|
|
727
982
|
- id: "CLT-MITRE-104"
|
|
983
|
+
version: 1
|
|
984
|
+
detection_name: "CMD:SageMitre-CZ [Heur]"
|
|
728
985
|
category: reconnaissance
|
|
729
986
|
severity: warning
|
|
730
987
|
confidence: 0.60
|
|
731
|
-
|
|
988
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
989
|
+
# CLT-CMD-009.
|
|
990
|
+
pattern: "{{CMD_POS}}powershell(?:\\.exe)?{{NOT_FILENAME}}.*-Class.*AntiVirusProduct|{{CMD_POS}}powershell(?:\\.exe)?{{NOT_FILENAME}}.*path.*AntiVirusProduct"
|
|
732
991
|
case_insensitive: true
|
|
733
992
|
match_on: command
|
|
734
993
|
title: "MITRE ATT&CK T1592.002 - Software"
|
|
@@ -737,10 +996,14 @@
|
|
|
737
996
|
|
|
738
997
|
# --- T1592.004: Client Configurations ---
|
|
739
998
|
- id: "CLT-MITRE-105"
|
|
999
|
+
version: 1
|
|
1000
|
+
detection_name: "CMD:SageMitre-DA [Heur]"
|
|
740
1001
|
category: reconnaissance
|
|
741
1002
|
severity: warning
|
|
742
1003
|
confidence: 0.60
|
|
743
|
-
|
|
1004
|
+
# {{CMD_POS}} + {{NOT_FILENAME}} on each alternative, same shape as
|
|
1005
|
+
# CLT-CMD-009.
|
|
1006
|
+
pattern: "{{CMD_POS}}powershell(?:\\.exe)?{{NOT_FILENAME}}.*-Class.*Win32_UserAccount|{{CMD_POS}}powershell(?:\\.exe)?{{NOT_FILENAME}}.*Get-SmbShare"
|
|
744
1007
|
case_insensitive: true
|
|
745
1008
|
match_on: command
|
|
746
1009
|
title: "MITRE ATT&CK T1592.004 - Client Configurations"
|