@gendigital/sage-opencode 0.10.0 → 0.11.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/README.md +5 -5
- package/dist/bundled-dirs.d.ts +1 -1
- package/dist/bundled-dirs.d.ts.map +1 -1
- package/dist/bundled-dirs.js +1 -1
- package/dist/bundled-dirs.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.cjs +31776 -0
- package/dist/mcp-server.cjs.map +7 -0
- package/dist/startup-scan.d.ts.map +1 -1
- package/dist/startup-scan.js +3 -2
- package/dist/startup-scan.js.map +1 -1
- package/dist/tool-handler.d.ts +1 -1
- package/dist/tool-handler.d.ts.map +1 -1
- package/dist/tool-handler.js +9 -3
- package/dist/tool-handler.js.map +1 -1
- package/package.json +5 -3
- package/resources/threats/agent-layer.yaml +186 -0
- package/resources/threats/commands.yaml +24 -53
- package/resources/threats/credentials.yaml +12 -20
- package/resources/threats/dummy.yaml +22 -33
- package/resources/threats/files.yaml +34 -53
- package/resources/threats/mac-commands.yaml +20 -47
- package/resources/threats/mac-credentials.yaml +4 -12
- package/resources/threats/mac-files.yaml +5 -15
- package/resources/threats/mac-obfuscation.yaml +6 -13
- package/resources/threats/mac-persistence.yaml +11 -20
- package/resources/threats/mac-supply-chain.yaml +5 -8
- package/resources/threats/mitre.yaml +105 -167
- package/resources/threats/obfuscation.yaml +7 -15
- package/resources/threats/persistence.yaml +10 -17
- package/resources/threats/prompt-injection.yaml +92 -43
- package/resources/threats/self-defense.yaml +8 -12
- package/resources/threats/supply_chain.yaml +1 -2
- package/resources/threats/urls.yaml +9 -14
- package/resources/threats/win-commands.yaml +46 -106
- package/resources/threats/win-credentials.yaml +14 -24
- package/resources/threats/win-files.yaml +10 -20
- package/resources/threats/win-obfuscation.yaml +21 -37
- package/resources/threats/win-persistence.yaml +8 -16
- package/resources/threats/win-supply-chain.yaml +2 -3
- /package/resources/{allowlists → trusted-domains}/trusted-installer-domains.yaml +0 -0
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
category: tool
|
|
11
11
|
severity: critical
|
|
12
12
|
confidence: 0.95
|
|
13
|
-
action: block
|
|
14
13
|
pattern: "\\b([Ii][Rr][Mm]|[Ii][Ww][Rr]|curl|wget|[Ii]nvoke-[Ww]eb[Rr]equest|[Ii]nvoke-[Rr]est[Mm]ethod)\\b.*\\|\\s*([Ii][Ee][Xx]|[Ii]nvoke-[Ee]xpression)\\b"
|
|
15
14
|
match_on: command
|
|
16
15
|
title: "PowerShell download piped to Invoke-Expression"
|
|
@@ -22,7 +21,6 @@
|
|
|
22
21
|
category: tool
|
|
23
22
|
severity: critical
|
|
24
23
|
confidence: 0.95
|
|
25
|
-
action: block
|
|
26
24
|
pattern: "\\b([Ii][Ee][Xx]|[Ii]nvoke-[Ee]xpression)\\s*\\(?\\s*\\(?\\s*(\\b([Ii][Rr][Mm]|[Ii][Ww][Rr])\\b|[Nn]ew-[Oo]bject|[Ii]nvoke-[Ww]eb[Rr]equest|[Ii]nvoke-[Rr]est[Mm]ethod)"
|
|
27
25
|
match_on: command
|
|
28
26
|
title: "Invoke-Expression wrapping remote download"
|
|
@@ -32,9 +30,8 @@
|
|
|
32
30
|
# Start-Process with executable
|
|
33
31
|
- id: "CLT-WIN-CMD-003"
|
|
34
32
|
category: tool
|
|
35
|
-
severity:
|
|
36
|
-
confidence: 0.
|
|
37
|
-
action: require_approval
|
|
33
|
+
severity: warning
|
|
34
|
+
confidence: 0.60
|
|
38
35
|
pattern: "[Ss]tart-[Pp]rocess.*-[Ff]ile[Pp]ath.*\\.(exe|bat|cmd|ps1)"
|
|
39
36
|
match_on: command
|
|
40
37
|
title: "Start-Process launching executable file"
|
|
@@ -46,7 +43,6 @@
|
|
|
46
43
|
category: tool
|
|
47
44
|
severity: critical
|
|
48
45
|
confidence: 0.90
|
|
49
|
-
action: block
|
|
50
46
|
pattern: "\\b(curl|wget|[Ii][Rr][Mm]|[Ii][Ww][Rr]|[Ii]nvoke-[Ww]eb[Rr]equest|[Ii]nvoke-[Rr]est[Mm]ethod)\\b[^|]*(-[Oo]\\w*\\s+|-[Oo]ut[Ff]ile\\s+)\\S+\\.(cmd|bat|ps1|exe|msi).*(&&|;)"
|
|
51
47
|
match_on: command
|
|
52
48
|
title: "Download file then chain-execute"
|
|
@@ -58,7 +54,6 @@
|
|
|
58
54
|
category: tool
|
|
59
55
|
severity: critical
|
|
60
56
|
confidence: 0.90
|
|
61
|
-
action: block
|
|
62
57
|
pattern: "[Nn]ew-[Oo]bject\\s+[Nn]et\\.[Ww]eb[Cc]lient.*[Dd]ownload(String|File)"
|
|
63
58
|
match_on: command
|
|
64
59
|
title: ".NET WebClient download (DownloadString/DownloadFile)"
|
|
@@ -68,9 +63,8 @@
|
|
|
68
63
|
# Start-BitsTransfer cmdlet
|
|
69
64
|
- id: "CLT-WIN-CMD-006"
|
|
70
65
|
category: tool
|
|
71
|
-
severity:
|
|
72
|
-
confidence: 0.
|
|
73
|
-
action: require_approval
|
|
66
|
+
severity: warning
|
|
67
|
+
confidence: 0.60
|
|
74
68
|
pattern: "[Ss]tart-[Bb]its[Tt]ransfer"
|
|
75
69
|
match_on: command
|
|
76
70
|
title: "PowerShell BITS transfer download"
|
|
@@ -84,7 +78,6 @@
|
|
|
84
78
|
category: tool
|
|
85
79
|
severity: critical
|
|
86
80
|
confidence: 0.95
|
|
87
|
-
action: block
|
|
88
81
|
pattern: "[Cc][Ee][Rr][Tt][Uu][Tt][Ii][Ll].*(-urlcache|-split|-decode)"
|
|
89
82
|
match_on: command
|
|
90
83
|
title: "certutil used for download or decode (LOLBin)"
|
|
@@ -96,7 +89,6 @@
|
|
|
96
89
|
category: tool
|
|
97
90
|
severity: critical
|
|
98
91
|
confidence: 0.90
|
|
99
|
-
action: block
|
|
100
92
|
pattern: "[Bb][Ii][Tt][Ss][Aa][Dd][Mm][Ii][Nn].*/transfer"
|
|
101
93
|
match_on: command
|
|
102
94
|
title: "bitsadmin file transfer (LOLBin)"
|
|
@@ -108,7 +100,6 @@
|
|
|
108
100
|
category: tool
|
|
109
101
|
severity: critical
|
|
110
102
|
confidence: 0.90
|
|
111
|
-
action: block
|
|
112
103
|
pattern: "[Mm][Ss][Hh][Tt][Aa]\\s+.*https?://"
|
|
113
104
|
match_on: command
|
|
114
105
|
title: "mshta executing remote HTA file (LOLBin)"
|
|
@@ -120,7 +111,6 @@
|
|
|
120
111
|
category: tool
|
|
121
112
|
severity: critical
|
|
122
113
|
confidence: 0.90
|
|
123
|
-
action: block
|
|
124
114
|
pattern: "[Rr][Ee][Gg][Ss][Vv][Rr]32.*/[SsIi].*\\.(dll|sct)"
|
|
125
115
|
match_on: command
|
|
126
116
|
title: "regsvr32 loading DLL/scriptlet (LOLBin)"
|
|
@@ -132,7 +122,6 @@
|
|
|
132
122
|
category: tool
|
|
133
123
|
severity: critical
|
|
134
124
|
confidence: 0.90
|
|
135
|
-
action: block
|
|
136
125
|
pattern: "[Rr][Uu][Nn][Dd][Ll][Ll]32.*javascript:"
|
|
137
126
|
match_on: command
|
|
138
127
|
title: "rundll32 executing JavaScript (LOLBin)"
|
|
@@ -142,9 +131,8 @@
|
|
|
142
131
|
# cmstp INF install (UAC bypass)
|
|
143
132
|
- id: "CLT-WIN-CMD-012"
|
|
144
133
|
category: tool
|
|
145
|
-
severity:
|
|
134
|
+
severity: warning
|
|
146
135
|
confidence: 0.85
|
|
147
|
-
action: block
|
|
148
136
|
pattern: "[Cc][Mm][Ss][Tt][Pp].*/[AaUuSs].*\\.inf"
|
|
149
137
|
match_on: command
|
|
150
138
|
title: "cmstp INF install (UAC bypass LOLBin)"
|
|
@@ -156,7 +144,6 @@
|
|
|
156
144
|
category: tool
|
|
157
145
|
severity: critical
|
|
158
146
|
confidence: 0.90
|
|
159
|
-
action: block
|
|
160
147
|
pattern: "\\b[Ww][Mm][Ii][Cc]\\b.*\\bprocess\\s+call\\s+create\\b"
|
|
161
148
|
match_on: command
|
|
162
149
|
title: "wmic process call create (LOLBin)"
|
|
@@ -168,7 +155,6 @@
|
|
|
168
155
|
category: tool
|
|
169
156
|
severity: critical
|
|
170
157
|
confidence: 0.90
|
|
171
|
-
action: block
|
|
172
158
|
pattern: "\\b[Mm][Ss][Ii][Ee][Xx][Ee][Cc]\\b.*/[QqIi].*https?://"
|
|
173
159
|
match_on: command
|
|
174
160
|
title: "msiexec remote MSI install (LOLBin)"
|
|
@@ -178,9 +164,8 @@
|
|
|
178
164
|
# forfiles command execution
|
|
179
165
|
- id: "CLT-WIN-CMD-015"
|
|
180
166
|
category: tool
|
|
181
|
-
severity:
|
|
167
|
+
severity: warning
|
|
182
168
|
confidence: 0.85
|
|
183
|
-
action: block
|
|
184
169
|
pattern: "\\b[Ff][Oo][Rr][Ff][Ii][Ll][Ee][Ss]\\b.*/[Cc].*\\b(cmd|powershell)\\b"
|
|
185
170
|
match_on: command
|
|
186
171
|
title: "forfiles dispatching cmd/powershell (LOLBin)"
|
|
@@ -190,9 +175,8 @@
|
|
|
190
175
|
# pcalua execution
|
|
191
176
|
- id: "CLT-WIN-CMD-016"
|
|
192
177
|
category: tool
|
|
193
|
-
severity:
|
|
178
|
+
severity: warning
|
|
194
179
|
confidence: 0.85
|
|
195
|
-
action: block
|
|
196
180
|
pattern: "\\b[Pp][Cc][Aa][Ll][Uu][Aa]\\b.*-a.*\\.(exe|dll)"
|
|
197
181
|
match_on: command
|
|
198
182
|
title: "pcalua executing binary (LOLBin)"
|
|
@@ -202,9 +186,8 @@
|
|
|
202
186
|
# installutil abuse
|
|
203
187
|
- id: "CLT-WIN-CMD-017"
|
|
204
188
|
category: tool
|
|
205
|
-
severity:
|
|
189
|
+
severity: warning
|
|
206
190
|
confidence: 0.85
|
|
207
|
-
action: block
|
|
208
191
|
pattern: "\\b[Ii]nstall[Uu]til\\b.*/[Ll]og[Ff]ile="
|
|
209
192
|
match_on: command
|
|
210
193
|
title: "installutil .NET execution (LOLBin)"
|
|
@@ -214,9 +197,8 @@
|
|
|
214
197
|
# regasm/regsvcs
|
|
215
198
|
- id: "CLT-WIN-CMD-018"
|
|
216
199
|
category: tool
|
|
217
|
-
severity:
|
|
200
|
+
severity: warning
|
|
218
201
|
confidence: 0.85
|
|
219
|
-
action: block
|
|
220
202
|
pattern: "\\b[Rr]eg[Aa]sm\\b.*/[Uu]|\\b[Rr]eg[Ss]vcs\\b"
|
|
221
203
|
match_on: command
|
|
222
204
|
title: "regasm/regsvcs .NET assembly execution (LOLBin)"
|
|
@@ -230,7 +212,6 @@
|
|
|
230
212
|
category: tool
|
|
231
213
|
severity: critical
|
|
232
214
|
confidence: 0.95
|
|
233
|
-
action: block
|
|
234
215
|
pattern: "\\b[Ff][Oo][Rr][Mm][Aa][Tt]\\s+[A-Za-z]:"
|
|
235
216
|
match_on: command
|
|
236
217
|
title: "Format drive command"
|
|
@@ -242,7 +223,6 @@
|
|
|
242
223
|
category: tool
|
|
243
224
|
severity: critical
|
|
244
225
|
confidence: 0.95
|
|
245
|
-
action: block
|
|
246
226
|
pattern: "\\b(rd|rmdir)\\b\\s+/[Ss]\\s+/[Qq]\\s+[A-Za-z]:\\\\"
|
|
247
227
|
match_on: command
|
|
248
228
|
title: "Recursive forced deletion from drive root"
|
|
@@ -254,7 +234,6 @@
|
|
|
254
234
|
category: tool
|
|
255
235
|
severity: critical
|
|
256
236
|
confidence: 0.95
|
|
257
|
-
action: block
|
|
258
237
|
pattern: "\\b[Dd][Ee][Ll]\\b\\s+/[Ff].*\\s+/[Ss].*\\s+[A-Za-z]:\\\\"
|
|
259
238
|
match_on: command
|
|
260
239
|
title: "Force delete all files from drive root"
|
|
@@ -266,7 +245,6 @@
|
|
|
266
245
|
category: tool
|
|
267
246
|
severity: critical
|
|
268
247
|
confidence: 0.95
|
|
269
|
-
action: block
|
|
270
248
|
pattern: "\\bdiskpart\\b"
|
|
271
249
|
match_on: command
|
|
272
250
|
title: "diskpart disk partition manipulation"
|
|
@@ -280,7 +258,6 @@
|
|
|
280
258
|
category: tool
|
|
281
259
|
severity: critical
|
|
282
260
|
confidence: 0.90
|
|
283
|
-
action: block
|
|
284
261
|
pattern: "[Nn]ew-[Oo]bject\\s+[Ss]ystem\\.[Nn]et\\.[Ss]ockets\\.[Tt][Cc][Pp][Cc]lient"
|
|
285
262
|
match_on: command
|
|
286
263
|
title: "PowerShell TCP reverse shell via .NET socket"
|
|
@@ -292,7 +269,6 @@
|
|
|
292
269
|
category: tool
|
|
293
270
|
severity: critical
|
|
294
271
|
confidence: 0.90
|
|
295
|
-
action: block
|
|
296
272
|
pattern: "[Nn]ew-[Oo]bject\\s+[Ss]ystem\\.[Nn]et\\.[Ss]ockets\\.[Uu][Dd][Pp][Cc]lient"
|
|
297
273
|
match_on: command
|
|
298
274
|
title: "PowerShell UDP reverse shell via .NET socket"
|
|
@@ -304,9 +280,8 @@
|
|
|
304
280
|
# runas
|
|
305
281
|
- id: "CLT-WIN-CMD-025"
|
|
306
282
|
category: tool
|
|
307
|
-
severity:
|
|
308
|
-
confidence: 0.
|
|
309
|
-
action: require_approval
|
|
283
|
+
severity: warning
|
|
284
|
+
confidence: 0.60
|
|
310
285
|
pattern: "\\b[Rr][Uu][Nn][Aa][Ss]\\s+/user:"
|
|
311
286
|
match_on: command
|
|
312
287
|
title: "runas with alternate user credentials"
|
|
@@ -316,9 +291,8 @@
|
|
|
316
291
|
# Set-ExecutionPolicy Bypass/Unrestricted
|
|
317
292
|
- id: "CLT-WIN-CMD-026"
|
|
318
293
|
category: tool
|
|
319
|
-
severity:
|
|
320
|
-
confidence: 0.
|
|
321
|
-
action: require_approval
|
|
294
|
+
severity: warning
|
|
295
|
+
confidence: 0.60
|
|
322
296
|
pattern: "[Ss]et-[Ee]xecution[Pp]olicy\\s+([Bb]ypass|[Uu]nrestricted)"
|
|
323
297
|
match_on: command
|
|
324
298
|
title: "Disabling PowerShell execution policy"
|
|
@@ -328,9 +302,8 @@
|
|
|
328
302
|
# fodhelper UAC bypass
|
|
329
303
|
- id: "CLT-WIN-CMD-027"
|
|
330
304
|
category: tool
|
|
331
|
-
severity:
|
|
305
|
+
severity: warning
|
|
332
306
|
confidence: 0.80
|
|
333
|
-
action: block
|
|
334
307
|
pattern: "\\b[Ff]od[Hh]elper\\b"
|
|
335
308
|
match_on: command
|
|
336
309
|
title: "fodhelper.exe UAC bypass"
|
|
@@ -344,8 +317,8 @@
|
|
|
344
317
|
category: tool
|
|
345
318
|
severity: critical
|
|
346
319
|
confidence: 0.90
|
|
347
|
-
|
|
348
|
-
|
|
320
|
+
pattern: "\\bRemove-Item\\b(?=[^;&|#\\r\\n]*\\s-(?:Recurse|r)\\b)(?=[^;&|#\\r\\n]*\\s-(?:Force|f)\\b)[^;&|#\\r\\n]*?(?:[A-Za-z]:\\\\(?:Windows|ProgramData|Users\\\\Public|Program Files(?: \\(x86\\))?)(?=\\\\|\\s|[\"']|$)|(?:\\$env:(?:SystemRoot|ProgramData|windir)|\\$\\{env:(?:SystemRoot|ProgramData|windir)\\})(?=\\\\|\\s|[\"']|$))"
|
|
321
|
+
case_insensitive: true
|
|
349
322
|
match_on: command
|
|
350
323
|
title: "PowerShell recursive forced deletion (Remove-Item -Recurse -Force)"
|
|
351
324
|
expires_at: null
|
|
@@ -354,9 +327,8 @@
|
|
|
354
327
|
# Clear-RecycleBin -Force
|
|
355
328
|
- id: "CLT-WIN-CMD-029"
|
|
356
329
|
category: tool
|
|
357
|
-
severity:
|
|
358
|
-
confidence: 0.
|
|
359
|
-
action: require_approval
|
|
330
|
+
severity: warning
|
|
331
|
+
confidence: 0.60
|
|
360
332
|
pattern: "\\bClear-RecycleBin\\b.*-Force"
|
|
361
333
|
match_on: command
|
|
362
334
|
title: "PowerShell destructive recycle bin cleanup"
|
|
@@ -370,7 +342,6 @@
|
|
|
370
342
|
category: tool
|
|
371
343
|
severity: critical
|
|
372
344
|
confidence: 0.90
|
|
373
|
-
action: block
|
|
374
345
|
pattern: "\\bncat\\b.*\\s-e\\s+(cmd|powershell|cmd\\.exe|powershell\\.exe)"
|
|
375
346
|
match_on: command
|
|
376
347
|
title: "Reverse shell via ncat -e cmd/powershell"
|
|
@@ -384,7 +355,6 @@
|
|
|
384
355
|
category: tool
|
|
385
356
|
severity: critical
|
|
386
357
|
confidence: 0.95
|
|
387
|
-
action: block
|
|
388
358
|
pattern: "\\bvssadmin\\b.*\\bdelete\\s+shadows\\b"
|
|
389
359
|
case_insensitive: true
|
|
390
360
|
match_on: command
|
|
@@ -397,7 +367,6 @@
|
|
|
397
367
|
category: tool
|
|
398
368
|
severity: critical
|
|
399
369
|
confidence: 0.95
|
|
400
|
-
action: block
|
|
401
370
|
pattern: "\\bwmic\\b.*\\bshadowcopy\\b.*\\bdelete\\b"
|
|
402
371
|
match_on: command
|
|
403
372
|
title: "Shadow copy deletion via wmic (ransomware indicator)"
|
|
@@ -409,7 +378,6 @@
|
|
|
409
378
|
category: tool
|
|
410
379
|
severity: critical
|
|
411
380
|
confidence: 0.95
|
|
412
|
-
action: block
|
|
413
381
|
pattern: "\\bbcdedit\\b.*/set\\b.*\\b(recoveryenabled\\b.*\\b(No|no|NO|false|0)|bootems\\s+off|advancedoptions\\s+off|optionsedit\\s+off)\\b|\\breg\\b.*\\bdelete\\b.*\\bSYSTEM\\\\.*CurrentControlSet\\\\Control\\\\SafeBoot\\b|\\breg\\b.*\\badd\\b.*\\bSOFTWARE\\\\.*Microsoft\\\\Windows NT\\\\.*CurrentVersion\\\\Winlogon\\b.*/v.*Userinit"
|
|
414
382
|
match_on: command
|
|
415
383
|
title: "Recovery/boot disable via bcdedit, SafeBoot reg delete, or Winlogon Userinit (ransomware indicator)"
|
|
@@ -421,7 +389,6 @@
|
|
|
421
389
|
category: tool
|
|
422
390
|
severity: critical
|
|
423
391
|
confidence: 0.95
|
|
424
|
-
action: block
|
|
425
392
|
pattern: "\\b(Get-WmiObject|Get-CimInstance)\\b.*\\bWin32_ShadowCopy\\b.*\\b(Remove-WmiObject|Remove-CimInstance|Delete)\\b"
|
|
426
393
|
match_on: command
|
|
427
394
|
title: "PowerShell shadow copy deletion (ransomware indicator)"
|
|
@@ -435,7 +402,6 @@
|
|
|
435
402
|
category: tool
|
|
436
403
|
severity: critical
|
|
437
404
|
confidence: 0.95
|
|
438
|
-
action: block
|
|
439
405
|
pattern: "\\bwevtutil\\b.*\\b(cl|clear-log)\\b"
|
|
440
406
|
match_on: command
|
|
441
407
|
title: "Windows event log clearing via wevtutil (anti-forensics)"
|
|
@@ -447,7 +413,6 @@
|
|
|
447
413
|
category: tool
|
|
448
414
|
severity: critical
|
|
449
415
|
confidence: 0.95
|
|
450
|
-
action: block
|
|
451
416
|
pattern: "\\b(Clear-EventLog|Remove-EventLog)\\b"
|
|
452
417
|
match_on: command
|
|
453
418
|
title: "PowerShell event log clearing (anti-forensics)"
|
|
@@ -459,7 +424,6 @@
|
|
|
459
424
|
category: tool
|
|
460
425
|
severity: critical
|
|
461
426
|
confidence: 0.95
|
|
462
|
-
action: block
|
|
463
427
|
pattern: "\\b(Set|Add)-MpPreference\\b.*(-Disable|-Exclusion)"
|
|
464
428
|
match_on: command
|
|
465
429
|
title: "Windows Defender settings modification via Set/Add-MpPreference"
|
|
@@ -471,7 +435,6 @@
|
|
|
471
435
|
category: tool
|
|
472
436
|
severity: critical
|
|
473
437
|
confidence: 0.90
|
|
474
|
-
action: block
|
|
475
438
|
pattern: "\\b(sc\\s+(stop|config)|net\\s+stop|Stop-Service)\\b.*\\b(WinDefend|MpsSvc|wscsvc|SecurityHealthService)\\b"
|
|
476
439
|
match_on: command
|
|
477
440
|
title: "Security service tampering (WinDefend/firewall service stop/disable)"
|
|
@@ -483,7 +446,6 @@
|
|
|
483
446
|
category: tool
|
|
484
447
|
severity: critical
|
|
485
448
|
confidence: 0.90
|
|
486
|
-
action: block
|
|
487
449
|
pattern: "\\bnetsh\\b.*\\badvfirewall\\b.*\\bstate\\s+off\\b"
|
|
488
450
|
match_on: command
|
|
489
451
|
title: "Windows Firewall disabling via netsh"
|
|
@@ -495,9 +457,8 @@
|
|
|
495
457
|
# Password-protected archive creation
|
|
496
458
|
- id: "CLT-WIN-CMD-040"
|
|
497
459
|
category: tool
|
|
498
|
-
severity:
|
|
499
|
-
confidence: 0.
|
|
500
|
-
action: require_approval
|
|
460
|
+
severity: warning
|
|
461
|
+
confidence: 0.60
|
|
501
462
|
pattern: "\\b(rar|winrar)(\\.exe)?\\b.*\\s-h?p|\\b(7z|7za)(\\.exe)?\\b.*\\s-p|\\bzip\\b.*\\s(-P\\s|--password\\b)"
|
|
502
463
|
match_on: command
|
|
503
464
|
title: "Password-protected archive creation (potential data exfiltration)"
|
|
@@ -507,9 +468,8 @@
|
|
|
507
468
|
# Bulk document archiving with wildcards
|
|
508
469
|
- id: "CLT-WIN-CMD-041"
|
|
509
470
|
category: tool
|
|
510
|
-
severity:
|
|
511
|
-
confidence: 0.
|
|
512
|
-
action: require_approval
|
|
471
|
+
severity: warning
|
|
472
|
+
confidence: 0.60
|
|
513
473
|
pattern: "\\b(rar|winrar|7z|7za|zip|tar)(\\.exe)?\\b.*\\*\\.(docx?|xlsx?|pptx?|pdf|csv)\\b"
|
|
514
474
|
match_on: command
|
|
515
475
|
title: "Bulk document archiving with wildcards (data exfiltration indicator)"
|
|
@@ -523,7 +483,6 @@
|
|
|
523
483
|
category: tool
|
|
524
484
|
severity: critical
|
|
525
485
|
confidence: 0.95
|
|
526
|
-
action: block
|
|
527
486
|
pattern: "/AutoIt3ExecuteScript"
|
|
528
487
|
case_insensitive: true
|
|
529
488
|
match_on: command
|
|
@@ -536,9 +495,8 @@
|
|
|
536
495
|
# wscript/cscript executing scripts from C:\Users\Public (world-writable staging)
|
|
537
496
|
- id: "CLT-WIN-CMD-043"
|
|
538
497
|
category: tool
|
|
539
|
-
severity:
|
|
540
|
-
confidence: 0.
|
|
541
|
-
action: require_approval
|
|
498
|
+
severity: warning
|
|
499
|
+
confidence: 0.60
|
|
542
500
|
pattern: "(wscript|cscript)(\\.exe)?\\b.*\\\\Users\\\\Public\\\\"
|
|
543
501
|
case_insensitive: true
|
|
544
502
|
match_on: command
|
|
@@ -553,7 +511,6 @@
|
|
|
553
511
|
category: tool
|
|
554
512
|
severity: critical
|
|
555
513
|
confidence: 0.95
|
|
556
|
-
action: block
|
|
557
514
|
pattern: "regsvr32(\\.exe)?\\b.*/[Ii]:[^\\s]*https?://"
|
|
558
515
|
case_insensitive: true
|
|
559
516
|
match_on: command
|
|
@@ -564,9 +521,8 @@
|
|
|
564
521
|
# cmdl32.exe Connection Manager Profile Installer abuse
|
|
565
522
|
- id: "CLT-WIN-CMD-045"
|
|
566
523
|
category: tool
|
|
567
|
-
severity:
|
|
568
|
-
confidence: 0.
|
|
569
|
-
action: require_approval
|
|
524
|
+
severity: warning
|
|
525
|
+
confidence: 0.60
|
|
570
526
|
pattern: "\\bcmdl32(\\.exe)?\\b"
|
|
571
527
|
case_insensitive: true
|
|
572
528
|
match_on: command
|
|
@@ -581,7 +537,6 @@
|
|
|
581
537
|
category: tool
|
|
582
538
|
severity: critical
|
|
583
539
|
confidence: 0.90
|
|
584
|
-
action: block
|
|
585
540
|
pattern: "\\b(curl|wget)\\b[^&]*(--(output|o\\b)|-o\\b)[^&]*&\\s*(start\\b|cmd)"
|
|
586
541
|
case_insensitive: true
|
|
587
542
|
match_on: command
|
|
@@ -594,7 +549,6 @@
|
|
|
594
549
|
category: tool
|
|
595
550
|
severity: critical
|
|
596
551
|
confidence: 0.90
|
|
597
|
-
action: block
|
|
598
552
|
pattern: "(vssadmin.*resize.*shadowstorage|net.*stop.*swprv|reg.*add.*HKLM.*SOFTWARE.*Microsoft.*Windows NT.*CurrentVersion.*SystemRestore.*/v.*DisableSR.*/t.*REG_DWORD.*/d.*1.*/f|reg.*add.*HKLM.*SYSTEM.*CurrentControlSet.*services.*VSS.*/v.*Start.*/t.*REG_DWORD.*/d.*4.*/f|wbadmin.*delete.*catalog|wbadmin.*delete.*systemstatebackup)"
|
|
599
553
|
case_insensitive: true
|
|
600
554
|
match_on: command
|
|
@@ -605,9 +559,8 @@
|
|
|
605
559
|
# Legacy firewall disable via netsh opmode (ex CLT-TECH-007, MpsSvc parts covered by CLT-WIN-CMD-038)
|
|
606
560
|
- id: "CLT-WIN-CMD-048"
|
|
607
561
|
category: tool
|
|
608
|
-
severity:
|
|
609
|
-
confidence: 0.
|
|
610
|
-
action: require_approval
|
|
562
|
+
severity: warning
|
|
563
|
+
confidence: 0.60
|
|
611
564
|
pattern: "netsh\\s+firewall\\s+set\\s+opmode\\s+mode[= ]+DISABLE"
|
|
612
565
|
case_insensitive: true
|
|
613
566
|
match_on: command
|
|
@@ -618,9 +571,8 @@
|
|
|
618
571
|
# Firewall exclusion: add allowed program (ex CLT-TECH-008)
|
|
619
572
|
- id: "CLT-WIN-CMD-049"
|
|
620
573
|
category: tool
|
|
621
|
-
severity:
|
|
622
|
-
confidence: 0.
|
|
623
|
-
action: require_approval
|
|
574
|
+
severity: warning
|
|
575
|
+
confidence: 0.60
|
|
624
576
|
pattern: "(netsh\\s+firewall.+add.+allowedprogram.+ENABLE|netsh.+advfirewall.+firewall.+add.+rule.+name.+program|netsh\\s+advfirewall\\s+firewall.+allow.+program.+enable[= ]+yes)"
|
|
625
577
|
case_insensitive: true
|
|
626
578
|
match_on: command
|
|
@@ -631,9 +583,8 @@
|
|
|
631
583
|
# AppLocker bypass via regsvr32 /i:http (ex CLT-TECH-006)
|
|
632
584
|
- id: "CLT-WIN-CMD-050"
|
|
633
585
|
category: tool
|
|
634
|
-
severity:
|
|
635
|
-
confidence: 0.
|
|
636
|
-
action: require_approval
|
|
586
|
+
severity: warning
|
|
587
|
+
confidence: 0.60
|
|
637
588
|
pattern: "regsvr32.+i:\\s*http"
|
|
638
589
|
case_insensitive: true
|
|
639
590
|
match_on: command
|
|
@@ -646,7 +597,6 @@
|
|
|
646
597
|
category: tool
|
|
647
598
|
severity: critical
|
|
648
599
|
confidence: 0.90
|
|
649
|
-
action: block
|
|
650
600
|
pattern: "(\\\\|/)Mavinject(64|32)\\.exe"
|
|
651
601
|
case_insensitive: true
|
|
652
602
|
match_on: command
|
|
@@ -659,7 +609,6 @@
|
|
|
659
609
|
category: tool
|
|
660
610
|
severity: critical
|
|
661
611
|
confidence: 0.90
|
|
662
|
-
action: block
|
|
663
612
|
pattern: "(\\\\|/)inject_dll_(x86|amd64)\\.exe"
|
|
664
613
|
case_insensitive: true
|
|
665
614
|
match_on: command
|
|
@@ -670,9 +619,8 @@
|
|
|
670
619
|
# PowerShdll execution (ex CLT-TECH-028)
|
|
671
620
|
- id: "CLT-WIN-CMD-053"
|
|
672
621
|
category: tool
|
|
673
|
-
severity:
|
|
674
|
-
confidence: 0.
|
|
675
|
-
action: require_approval
|
|
622
|
+
severity: warning
|
|
623
|
+
confidence: 0.60
|
|
676
624
|
pattern: "(rundll32\\.exe PowerShdll\\.dll,main|POWERSHDLL\\.(DLL|EXE))"
|
|
677
625
|
case_insensitive: true
|
|
678
626
|
match_on: command
|
|
@@ -683,9 +631,8 @@
|
|
|
683
631
|
# SyncAppvPublishingServer execution (ex CLT-TECH-030)
|
|
684
632
|
- id: "CLT-WIN-CMD-054"
|
|
685
633
|
category: tool
|
|
686
|
-
severity:
|
|
687
|
-
confidence: 0.
|
|
688
|
-
action: require_approval
|
|
634
|
+
severity: warning
|
|
635
|
+
confidence: 0.60
|
|
689
636
|
pattern: "SyncAppvPublishingServer\\.vbs \".*(iwr|iex)"
|
|
690
637
|
case_insensitive: true
|
|
691
638
|
match_on: command
|
|
@@ -698,7 +645,6 @@
|
|
|
698
645
|
category: tool
|
|
699
646
|
severity: critical
|
|
700
647
|
confidence: 0.90
|
|
701
|
-
action: block
|
|
702
648
|
pattern: "(sdclt\\.exe|CompMgmtLauncher\\.exe)"
|
|
703
649
|
case_insensitive: true
|
|
704
650
|
match_on: command
|
|
@@ -709,9 +655,8 @@
|
|
|
709
655
|
# PowerShell fileless execution via iex $env (ex CLT-TECH-017)
|
|
710
656
|
- id: "CLT-WIN-CMD-056"
|
|
711
657
|
category: tool
|
|
712
|
-
severity:
|
|
713
|
-
confidence: 0.
|
|
714
|
-
action: require_approval
|
|
658
|
+
severity: warning
|
|
659
|
+
confidence: 0.60
|
|
715
660
|
pattern: "powershell.*iex.*\\$env"
|
|
716
661
|
case_insensitive: true
|
|
717
662
|
match_on: command
|
|
@@ -722,9 +667,8 @@
|
|
|
722
667
|
# PowerShell version downgrade (ex CLT-TECH-018)
|
|
723
668
|
- id: "CLT-WIN-CMD-057"
|
|
724
669
|
category: tool
|
|
725
|
-
severity:
|
|
726
|
-
confidence: 0.
|
|
727
|
-
action: require_approval
|
|
670
|
+
severity: warning
|
|
671
|
+
confidence: 0.60
|
|
728
672
|
pattern: "powershell.*-Version"
|
|
729
673
|
case_insensitive: true
|
|
730
674
|
match_on: command
|
|
@@ -737,7 +681,6 @@
|
|
|
737
681
|
category: tool
|
|
738
682
|
severity: critical
|
|
739
683
|
confidence: 0.90
|
|
740
|
-
action: block
|
|
741
684
|
pattern: "(powershell.*(iex|invoke-expression).*downloadstring|powershell.*Start-BitsTransfer.*(iex|invoke-expression)|powershell.*xmlhttp.*send.*(iex|invoke-expression))"
|
|
742
685
|
case_insensitive: true
|
|
743
686
|
match_on: command
|
|
@@ -748,9 +691,8 @@
|
|
|
748
691
|
# PowerShell Reflection.Assembly Load (ex CLT-TECH-024)
|
|
749
692
|
- id: "CLT-WIN-CMD-059"
|
|
750
693
|
category: tool
|
|
751
|
-
severity:
|
|
752
|
-
confidence: 0.
|
|
753
|
-
action: require_approval
|
|
694
|
+
severity: warning
|
|
695
|
+
confidence: 0.60
|
|
754
696
|
pattern: "powershell.+\\[Reflection\\.Assembly\\]::Load"
|
|
755
697
|
case_insensitive: true
|
|
756
698
|
match_on: command
|
|
@@ -761,9 +703,8 @@
|
|
|
761
703
|
# PowerShell certificate validation bypass (ex CLT-TECH-025)
|
|
762
704
|
- id: "CLT-WIN-CMD-060"
|
|
763
705
|
category: tool
|
|
764
|
-
severity:
|
|
765
|
-
confidence: 0.
|
|
766
|
-
action: require_approval
|
|
706
|
+
severity: warning
|
|
707
|
+
confidence: 0.60
|
|
767
708
|
pattern: "powershell.+ServerCertificateValidationCallback\\s*=\\s*\\{\\s*\\$true\\s*\\}"
|
|
768
709
|
case_insensitive: true
|
|
769
710
|
match_on: command
|
|
@@ -774,9 +715,8 @@
|
|
|
774
715
|
# PowerShell GetTypeFromCLSID (ex CLT-TECH-029)
|
|
775
716
|
- id: "CLT-WIN-CMD-061"
|
|
776
717
|
category: tool
|
|
777
|
-
severity:
|
|
778
|
-
confidence: 0.
|
|
779
|
-
action: require_approval
|
|
718
|
+
severity: warning
|
|
719
|
+
confidence: 0.60
|
|
780
720
|
pattern: "powershell.+GetTypeFromCLSID"
|
|
781
721
|
case_insensitive: true
|
|
782
722
|
match_on: command
|
|
@@ -5,9 +5,8 @@
|
|
|
5
5
|
# cmdkey stored credentials
|
|
6
6
|
- id: "CLT-WIN-CRED-001"
|
|
7
7
|
category: secrets
|
|
8
|
-
severity:
|
|
9
|
-
confidence: 0.
|
|
10
|
-
action: require_approval
|
|
8
|
+
severity: warning
|
|
9
|
+
confidence: 0.60
|
|
11
10
|
pattern: "\\b[Cc]mdkey\\s+/add:"
|
|
12
11
|
match_on: command
|
|
13
12
|
title: "Stored credential creation via cmdkey"
|
|
@@ -17,9 +16,8 @@
|
|
|
17
16
|
# ConvertTo-SecureString with plaintext
|
|
18
17
|
- id: "CLT-WIN-CRED-002"
|
|
19
18
|
category: secrets
|
|
20
|
-
severity:
|
|
21
|
-
confidence: 0.
|
|
22
|
-
action: require_approval
|
|
19
|
+
severity: warning
|
|
20
|
+
confidence: 0.60
|
|
23
21
|
pattern: "[Cc]onvert[Tt]o-[Ss]ecure[Ss]tring.*-[Aa]s[Pp]lain[Tt]ext"
|
|
24
22
|
match_on: command
|
|
25
23
|
title: "ConvertTo-SecureString with plaintext password"
|
|
@@ -29,9 +27,8 @@
|
|
|
29
27
|
# Reading credential files on Windows (type, more, Get-Content)
|
|
30
28
|
- id: "CLT-WIN-CRED-003"
|
|
31
29
|
category: secrets
|
|
32
|
-
severity:
|
|
33
|
-
confidence: 0.
|
|
34
|
-
action: require_approval
|
|
30
|
+
severity: warning
|
|
31
|
+
confidence: 0.60
|
|
35
32
|
pattern: "(^|[^\\w-])(?:type|more|[Gg]et-[Cc]ontent)\\b.*\\.(?:env|credentials|pgpass|netrc)(?=$|[.\\s\"'`;&|)<>])"
|
|
36
33
|
match_on: command
|
|
37
34
|
title: "Reading credential file via type/more/Get-Content"
|
|
@@ -41,9 +38,8 @@
|
|
|
41
38
|
# [Environment]::SetEnvironmentVariable with credential keyword
|
|
42
39
|
- id: "CLT-WIN-CRED-004"
|
|
43
40
|
category: secrets
|
|
44
|
-
severity:
|
|
45
|
-
confidence: 0.
|
|
46
|
-
action: require_approval
|
|
41
|
+
severity: warning
|
|
42
|
+
confidence: 0.60
|
|
47
43
|
pattern: "\\[Environment\\]::SetEnvironmentVariable.*([Pp]assword|[Ss]ecret|[Tt]oken|[Kk]ey)"
|
|
48
44
|
match_on: command
|
|
49
45
|
title: "Setting credential environment variable via .NET"
|
|
@@ -53,9 +49,8 @@
|
|
|
53
49
|
# $env: credential assignment
|
|
54
50
|
- id: "CLT-WIN-CRED-005"
|
|
55
51
|
category: secrets
|
|
56
|
-
severity:
|
|
57
|
-
confidence: 0.
|
|
58
|
-
action: require_approval
|
|
52
|
+
severity: warning
|
|
53
|
+
confidence: 0.60
|
|
59
54
|
pattern: "\\$env:.*([Pp]assword|[Ss]ecret|[Tt]oken|[Aa]pi_?[Kk]ey)\\s*="
|
|
60
55
|
match_on: command
|
|
61
56
|
title: "PowerShell $env: credential variable assignment"
|
|
@@ -67,7 +62,6 @@
|
|
|
67
62
|
category: secrets
|
|
68
63
|
severity: critical
|
|
69
64
|
confidence: 0.95
|
|
70
|
-
action: block
|
|
71
65
|
pattern: "[Mm]imikatz|[Ss]ekurlsa::"
|
|
72
66
|
match_on: command
|
|
73
67
|
title: "Mimikatz credential dumping tool"
|
|
@@ -79,7 +73,6 @@
|
|
|
79
73
|
category: secrets
|
|
80
74
|
severity: critical
|
|
81
75
|
confidence: 0.95
|
|
82
|
-
action: block
|
|
83
76
|
pattern: "\\breg\\s+save\\b.*\\bHKLM\\\\(SAM|SYSTEM|SECURITY)\\b"
|
|
84
77
|
match_on: command
|
|
85
78
|
title: "Registry hive export for credential theft (reg save HKLM\\SAM/SYSTEM)"
|
|
@@ -91,7 +84,6 @@
|
|
|
91
84
|
category: secrets
|
|
92
85
|
severity: critical
|
|
93
86
|
confidence: 0.95
|
|
94
|
-
action: block
|
|
95
87
|
pattern: "\\b(procdump|procdump64)\\b.*\\blsass\\b|\\brundll32\\b.*\\bcomsvcs(\\.dll)?\\b.*\\bMiniDump\\b"
|
|
96
88
|
match_on: command
|
|
97
89
|
title: "LSASS credential dumping (procdump/comsvcs.dll MiniDump)"
|
|
@@ -101,9 +93,8 @@
|
|
|
101
93
|
# WLAN password extraction (ex CLT-TECH-034)
|
|
102
94
|
- id: "CLT-WIN-CRED-009"
|
|
103
95
|
category: secrets
|
|
104
|
-
severity:
|
|
105
|
-
confidence: 0.
|
|
106
|
-
action: require_approval
|
|
96
|
+
severity: warning
|
|
97
|
+
confidence: 0.60
|
|
107
98
|
pattern: "netsh.*wlan.*show.*profiles.*key=clear"
|
|
108
99
|
case_insensitive: true
|
|
109
100
|
match_on: command
|
|
@@ -114,9 +105,8 @@
|
|
|
114
105
|
# --- Windows copy/move/link of secret files ---
|
|
115
106
|
- id: "CLT-WIN-CRED-010"
|
|
116
107
|
category: secrets
|
|
117
|
-
severity:
|
|
118
|
-
confidence: 0.
|
|
119
|
-
action: require_approval
|
|
108
|
+
severity: warning
|
|
109
|
+
confidence: 0.60
|
|
120
110
|
# Protected files: .env*, .aws\credentials, .ssh\(id_rsa|id_ed25519|id_ecdsa|id_dsa),
|
|
121
111
|
# .netrc, .pgpass, .npmrc, .pypirc, key.properties, .docker\config.json,
|
|
122
112
|
# kubeconfig, .kube\config, master.key, credentials.yml
|