@gendigital/sage 0.4.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.
@@ -0,0 +1,785 @@
1
+ # Windows command threat patterns for Sage
2
+ # Author: Gen Digital Inc.
3
+ # License: DRL-1.1 (see threats/LICENSE)
4
+ # Covers: PowerShell download-execute (with aliases), LOLBins, destructive ops, reverse shells, privesc
5
+
6
+ # --- PowerShell Download-Execute ---
7
+
8
+ # Pipe to IEX: irm url | iex, iwr url | iex, curl url | iex, Invoke-WebRequest url | Invoke-Expression
9
+ - id: "CLT-WIN-CMD-001"
10
+ category: tool
11
+ severity: critical
12
+ confidence: 0.95
13
+ action: block
14
+ 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
+ match_on: command
16
+ title: "PowerShell download piped to Invoke-Expression"
17
+ expires_at: null
18
+ revoked: false
19
+
20
+ # IEX wrapping download: iex(irm url), IEX((New-Object Net.WebClient).DownloadString(url))
21
+ - id: "CLT-WIN-CMD-002"
22
+ category: tool
23
+ severity: critical
24
+ confidence: 0.95
25
+ action: block
26
+ 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
+ match_on: command
28
+ title: "Invoke-Expression wrapping remote download"
29
+ expires_at: null
30
+ revoked: false
31
+
32
+ # Start-Process with executable
33
+ - id: "CLT-WIN-CMD-003"
34
+ category: tool
35
+ severity: high
36
+ confidence: 0.85
37
+ action: require_approval
38
+ pattern: "[Ss]tart-[Pp]rocess.*-[Ff]ile[Pp]ath.*\\.(exe|bat|cmd|ps1)"
39
+ match_on: command
40
+ title: "Start-Process launching executable file"
41
+ expires_at: null
42
+ revoked: false
43
+
44
+ # Download to file then chain-execute: curl -o install.cmd url && install.cmd
45
+ - id: "CLT-WIN-CMD-004"
46
+ category: tool
47
+ severity: critical
48
+ confidence: 0.90
49
+ action: block
50
+ 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
+ match_on: command
52
+ title: "Download file then chain-execute"
53
+ expires_at: null
54
+ revoked: false
55
+
56
+ # .NET WebClient download
57
+ - id: "CLT-WIN-CMD-005"
58
+ category: tool
59
+ severity: critical
60
+ confidence: 0.90
61
+ action: block
62
+ pattern: "[Nn]ew-[Oo]bject\\s+[Nn]et\\.[Ww]eb[Cc]lient.*[Dd]ownload(String|File)"
63
+ match_on: command
64
+ title: ".NET WebClient download (DownloadString/DownloadFile)"
65
+ expires_at: null
66
+ revoked: false
67
+
68
+ # Start-BitsTransfer cmdlet
69
+ - id: "CLT-WIN-CMD-006"
70
+ category: tool
71
+ severity: high
72
+ confidence: 0.85
73
+ action: require_approval
74
+ pattern: "[Ss]tart-[Bb]its[Tt]ransfer"
75
+ match_on: command
76
+ title: "PowerShell BITS transfer download"
77
+ expires_at: null
78
+ revoked: false
79
+
80
+ # --- LOLBins (Living Off The Land Binaries) ---
81
+
82
+ # certutil download/decode
83
+ - id: "CLT-WIN-CMD-007"
84
+ category: tool
85
+ severity: critical
86
+ confidence: 0.95
87
+ action: block
88
+ pattern: "[Cc][Ee][Rr][Tt][Uu][Tt][Ii][Ll].*(-urlcache|-split|-decode)"
89
+ match_on: command
90
+ title: "certutil used for download or decode (LOLBin)"
91
+ expires_at: null
92
+ revoked: false
93
+
94
+ # bitsadmin transfer
95
+ - id: "CLT-WIN-CMD-008"
96
+ category: tool
97
+ severity: critical
98
+ confidence: 0.90
99
+ action: block
100
+ pattern: "[Bb][Ii][Tt][Ss][Aa][Dd][Mm][Ii][Nn].*/transfer"
101
+ match_on: command
102
+ title: "bitsadmin file transfer (LOLBin)"
103
+ expires_at: null
104
+ revoked: false
105
+
106
+ # mshta remote HTA execution
107
+ - id: "CLT-WIN-CMD-009"
108
+ category: tool
109
+ severity: critical
110
+ confidence: 0.90
111
+ action: block
112
+ pattern: "[Mm][Ss][Hh][Tt][Aa]\\s+.*https?://"
113
+ match_on: command
114
+ title: "mshta executing remote HTA file (LOLBin)"
115
+ expires_at: null
116
+ revoked: false
117
+
118
+ # regsvr32 scriptlet loading
119
+ - id: "CLT-WIN-CMD-010"
120
+ category: tool
121
+ severity: critical
122
+ confidence: 0.90
123
+ action: block
124
+ pattern: "[Rr][Ee][Gg][Ss][Vv][Rr]32.*/[SsIi].*\\.(dll|sct)"
125
+ match_on: command
126
+ title: "regsvr32 loading DLL/scriptlet (LOLBin)"
127
+ expires_at: null
128
+ revoked: false
129
+
130
+ # rundll32 javascript execution
131
+ - id: "CLT-WIN-CMD-011"
132
+ category: tool
133
+ severity: critical
134
+ confidence: 0.90
135
+ action: block
136
+ pattern: "[Rr][Uu][Nn][Dd][Ll][Ll]32.*javascript:"
137
+ match_on: command
138
+ title: "rundll32 executing JavaScript (LOLBin)"
139
+ expires_at: null
140
+ revoked: false
141
+
142
+ # cmstp INF install (UAC bypass)
143
+ - id: "CLT-WIN-CMD-012"
144
+ category: tool
145
+ severity: high
146
+ confidence: 0.85
147
+ action: block
148
+ pattern: "[Cc][Mm][Ss][Tt][Pp].*/[AaUuSs].*\\.inf"
149
+ match_on: command
150
+ title: "cmstp INF install (UAC bypass LOLBin)"
151
+ expires_at: null
152
+ revoked: false
153
+
154
+ # wmic process create
155
+ - id: "CLT-WIN-CMD-013"
156
+ category: tool
157
+ severity: critical
158
+ confidence: 0.90
159
+ action: block
160
+ pattern: "\\b[Ww][Mm][Ii][Cc]\\b.*\\bprocess\\s+call\\s+create\\b"
161
+ match_on: command
162
+ title: "wmic process call create (LOLBin)"
163
+ expires_at: null
164
+ revoked: false
165
+
166
+ # msiexec remote install
167
+ - id: "CLT-WIN-CMD-014"
168
+ category: tool
169
+ severity: critical
170
+ confidence: 0.90
171
+ action: block
172
+ pattern: "\\b[Mm][Ss][Ii][Ee][Xx][Ee][Cc]\\b.*/[QqIi].*https?://"
173
+ match_on: command
174
+ title: "msiexec remote MSI install (LOLBin)"
175
+ expires_at: null
176
+ revoked: false
177
+
178
+ # forfiles command execution
179
+ - id: "CLT-WIN-CMD-015"
180
+ category: tool
181
+ severity: high
182
+ confidence: 0.85
183
+ action: block
184
+ pattern: "\\b[Ff][Oo][Rr][Ff][Ii][Ll][Ee][Ss]\\b.*/[Cc].*\\b(cmd|powershell)\\b"
185
+ match_on: command
186
+ title: "forfiles dispatching cmd/powershell (LOLBin)"
187
+ expires_at: null
188
+ revoked: false
189
+
190
+ # pcalua execution
191
+ - id: "CLT-WIN-CMD-016"
192
+ category: tool
193
+ severity: high
194
+ confidence: 0.85
195
+ action: block
196
+ pattern: "\\b[Pp][Cc][Aa][Ll][Uu][Aa]\\b.*-a.*\\.(exe|dll)"
197
+ match_on: command
198
+ title: "pcalua executing binary (LOLBin)"
199
+ expires_at: null
200
+ revoked: false
201
+
202
+ # installutil abuse
203
+ - id: "CLT-WIN-CMD-017"
204
+ category: tool
205
+ severity: high
206
+ confidence: 0.85
207
+ action: block
208
+ pattern: "\\b[Ii]nstall[Uu]til\\b.*/[Ll]og[Ff]ile="
209
+ match_on: command
210
+ title: "installutil .NET execution (LOLBin)"
211
+ expires_at: null
212
+ revoked: false
213
+
214
+ # regasm/regsvcs
215
+ - id: "CLT-WIN-CMD-018"
216
+ category: tool
217
+ severity: high
218
+ confidence: 0.85
219
+ action: block
220
+ pattern: "\\b[Rr]eg[Aa]sm\\b.*/[Uu]|\\b[Rr]eg[Ss]vcs\\b"
221
+ match_on: command
222
+ title: "regasm/regsvcs .NET assembly execution (LOLBin)"
223
+ expires_at: null
224
+ revoked: false
225
+
226
+ # --- Destructive Operations ---
227
+
228
+ # format drive
229
+ - id: "CLT-WIN-CMD-019"
230
+ category: tool
231
+ severity: critical
232
+ confidence: 0.95
233
+ action: block
234
+ pattern: "\\b[Ff][Oo][Rr][Mm][Aa][Tt]\\s+[A-Za-z]:"
235
+ match_on: command
236
+ title: "Format drive command"
237
+ expires_at: null
238
+ revoked: false
239
+
240
+ # rd /s /q recursive delete
241
+ - id: "CLT-WIN-CMD-020"
242
+ category: tool
243
+ severity: critical
244
+ confidence: 0.95
245
+ action: block
246
+ pattern: "\\b(rd|rmdir)\\b\\s+/[Ss]\\s+/[Qq]\\s+[A-Za-z]:\\\\"
247
+ match_on: command
248
+ title: "Recursive forced deletion from drive root"
249
+ expires_at: null
250
+ revoked: false
251
+
252
+ # del /f /s /q force delete
253
+ - id: "CLT-WIN-CMD-021"
254
+ category: tool
255
+ severity: critical
256
+ confidence: 0.95
257
+ action: block
258
+ pattern: "\\b[Dd][Ee][Ll]\\b\\s+/[Ff].*\\s+/[Ss].*\\s+[A-Za-z]:\\\\"
259
+ match_on: command
260
+ title: "Force delete all files from drive root"
261
+ expires_at: null
262
+ revoked: false
263
+
264
+ # diskpart
265
+ - id: "CLT-WIN-CMD-022"
266
+ category: tool
267
+ severity: critical
268
+ confidence: 0.95
269
+ action: block
270
+ pattern: "\\bdiskpart\\b"
271
+ match_on: command
272
+ title: "diskpart disk partition manipulation"
273
+ expires_at: null
274
+ revoked: false
275
+
276
+ # --- Reverse Shells ---
277
+
278
+ # PowerShell TCP reverse shell
279
+ - id: "CLT-WIN-CMD-023"
280
+ category: tool
281
+ severity: critical
282
+ confidence: 0.90
283
+ action: block
284
+ pattern: "[Nn]ew-[Oo]bject\\s+[Ss]ystem\\.[Nn]et\\.[Ss]ockets\\.[Tt][Cc][Pp][Cc]lient"
285
+ match_on: command
286
+ title: "PowerShell TCP reverse shell via .NET socket"
287
+ expires_at: null
288
+ revoked: false
289
+
290
+ # PowerShell UDP reverse shell
291
+ - id: "CLT-WIN-CMD-024"
292
+ category: tool
293
+ severity: critical
294
+ confidence: 0.90
295
+ action: block
296
+ pattern: "[Nn]ew-[Oo]bject\\s+[Ss]ystem\\.[Nn]et\\.[Ss]ockets\\.[Uu][Dd][Pp][Cc]lient"
297
+ match_on: command
298
+ title: "PowerShell UDP reverse shell via .NET socket"
299
+ expires_at: null
300
+ revoked: false
301
+
302
+ # --- Privilege Escalation ---
303
+
304
+ # runas
305
+ - id: "CLT-WIN-CMD-025"
306
+ category: tool
307
+ severity: high
308
+ confidence: 0.80
309
+ action: require_approval
310
+ pattern: "\\b[Rr][Uu][Nn][Aa][Ss]\\s+/user:"
311
+ match_on: command
312
+ title: "runas with alternate user credentials"
313
+ expires_at: null
314
+ revoked: false
315
+
316
+ # Set-ExecutionPolicy Bypass/Unrestricted
317
+ - id: "CLT-WIN-CMD-026"
318
+ category: tool
319
+ severity: high
320
+ confidence: 0.80
321
+ action: require_approval
322
+ pattern: "[Ss]et-[Ee]xecution[Pp]olicy\\s+([Bb]ypass|[Uu]nrestricted)"
323
+ match_on: command
324
+ title: "Disabling PowerShell execution policy"
325
+ expires_at: null
326
+ revoked: false
327
+
328
+ # fodhelper UAC bypass
329
+ - id: "CLT-WIN-CMD-027"
330
+ category: tool
331
+ severity: high
332
+ confidence: 0.80
333
+ action: block
334
+ pattern: "\\b[Ff]od[Hh]elper\\b"
335
+ match_on: command
336
+ title: "fodhelper.exe UAC bypass"
337
+ expires_at: null
338
+ revoked: false
339
+
340
+ # --- PowerShell Destructive Operations ---
341
+
342
+ # Remove-Item -Recurse -Force
343
+ - id: "CLT-WIN-CMD-028"
344
+ category: tool
345
+ severity: critical
346
+ confidence: 0.90
347
+ action: block
348
+ pattern: "\\bRemove-Item\\b.*-Recurse.*-Force|\\bRemove-Item\\b.*-Force.*-Recurse"
349
+ match_on: command
350
+ title: "PowerShell recursive forced deletion (Remove-Item -Recurse -Force)"
351
+ expires_at: null
352
+ revoked: false
353
+
354
+ # Clear-RecycleBin -Force
355
+ - id: "CLT-WIN-CMD-029"
356
+ category: tool
357
+ severity: high
358
+ confidence: 0.80
359
+ action: require_approval
360
+ pattern: "\\bClear-RecycleBin\\b.*-Force"
361
+ match_on: command
362
+ title: "PowerShell destructive recycle bin cleanup"
363
+ expires_at: null
364
+ revoked: false
365
+
366
+ # --- Additional Reverse Shells ---
367
+
368
+ # ncat reverse shell
369
+ - id: "CLT-WIN-CMD-030"
370
+ category: tool
371
+ severity: critical
372
+ confidence: 0.90
373
+ action: block
374
+ pattern: "\\bncat\\b.*\\s-e\\s+(cmd|powershell|cmd\\.exe|powershell\\.exe)"
375
+ match_on: command
376
+ title: "Reverse shell via ncat -e cmd/powershell"
377
+ expires_at: null
378
+ revoked: false
379
+
380
+ # --- Shadow Copy / Recovery Destruction (Ransomware Indicators) ---
381
+
382
+ # vssadmin delete shadows
383
+ - id: "CLT-WIN-CMD-031"
384
+ category: tool
385
+ severity: critical
386
+ confidence: 0.95
387
+ action: block
388
+ pattern: "\\bvssadmin\\b.*\\bdelete\\s+shadows\\b"
389
+ case_insensitive: true
390
+ match_on: command
391
+ title: "Shadow copy deletion via vssadmin (ransomware indicator)"
392
+ expires_at: null
393
+ revoked: false
394
+
395
+ # wmic shadowcopy delete
396
+ - id: "CLT-WIN-CMD-032"
397
+ category: tool
398
+ severity: critical
399
+ confidence: 0.95
400
+ action: block
401
+ pattern: "\\bwmic\\b.*\\bshadowcopy\\b.*\\bdelete\\b"
402
+ match_on: command
403
+ title: "Shadow copy deletion via wmic (ransomware indicator)"
404
+ expires_at: null
405
+ revoked: false
406
+
407
+ # bcdedit recovery disable
408
+ - id: "CLT-WIN-CMD-033"
409
+ category: tool
410
+ severity: critical
411
+ confidence: 0.95
412
+ action: block
413
+ 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
+ match_on: command
415
+ title: "Recovery/boot disable via bcdedit, SafeBoot reg delete, or Winlogon Userinit (ransomware indicator)"
416
+ expires_at: null
417
+ revoked: false
418
+
419
+ # PowerShell WMI/CIM shadow copy deletion
420
+ - id: "CLT-WIN-CMD-034"
421
+ category: tool
422
+ severity: critical
423
+ confidence: 0.95
424
+ action: block
425
+ pattern: "\\b(Get-WmiObject|Get-CimInstance)\\b.*\\bWin32_ShadowCopy\\b.*\\b(Remove-WmiObject|Remove-CimInstance|Delete)\\b"
426
+ match_on: command
427
+ title: "PowerShell shadow copy deletion (ransomware indicator)"
428
+ expires_at: null
429
+ revoked: false
430
+
431
+ # --- Defense Evasion / Anti-Forensics ---
432
+
433
+ # wevtutil event log clearing
434
+ - id: "CLT-WIN-CMD-035"
435
+ category: tool
436
+ severity: critical
437
+ confidence: 0.95
438
+ action: block
439
+ pattern: "\\bwevtutil\\b.*\\b(cl|clear-log)\\b"
440
+ match_on: command
441
+ title: "Windows event log clearing via wevtutil (anti-forensics)"
442
+ expires_at: null
443
+ revoked: false
444
+
445
+ # PowerShell event log clearing
446
+ - id: "CLT-WIN-CMD-036"
447
+ category: tool
448
+ severity: critical
449
+ confidence: 0.95
450
+ action: block
451
+ pattern: "\\b(Clear-EventLog|Remove-EventLog)\\b"
452
+ match_on: command
453
+ title: "PowerShell event log clearing (anti-forensics)"
454
+ expires_at: null
455
+ revoked: false
456
+
457
+ # Set-MpPreference Defender disable
458
+ - id: "CLT-WIN-CMD-037"
459
+ category: tool
460
+ severity: critical
461
+ confidence: 0.95
462
+ action: block
463
+ pattern: "\\b(Set|Add)-MpPreference\\b.*(-Disable|-Exclusion)"
464
+ match_on: command
465
+ title: "Windows Defender settings modification via Set/Add-MpPreference"
466
+ expires_at: null
467
+ revoked: false
468
+
469
+ # Security service tampering
470
+ - id: "CLT-WIN-CMD-038"
471
+ category: tool
472
+ severity: critical
473
+ confidence: 0.90
474
+ action: block
475
+ pattern: "\\b(sc\\s+(stop|config)|net\\s+stop|Stop-Service)\\b.*\\b(WinDefend|MpsSvc|wscsvc|SecurityHealthService)\\b"
476
+ match_on: command
477
+ title: "Security service tampering (WinDefend/firewall service stop/disable)"
478
+ expires_at: null
479
+ revoked: false
480
+
481
+ # netsh firewall disable
482
+ - id: "CLT-WIN-CMD-039"
483
+ category: tool
484
+ severity: critical
485
+ confidence: 0.90
486
+ action: block
487
+ pattern: "\\bnetsh\\b.*\\badvfirewall\\b.*\\bstate\\s+off\\b"
488
+ match_on: command
489
+ title: "Windows Firewall disabling via netsh"
490
+ expires_at: null
491
+ revoked: false
492
+
493
+ # --- Data Exfiltration Indicators ---
494
+
495
+ # Password-protected archive creation
496
+ - id: "CLT-WIN-CMD-040"
497
+ category: tool
498
+ severity: high
499
+ confidence: 0.85
500
+ action: require_approval
501
+ pattern: "\\b(rar|winrar)(\\.exe)?\\b.*\\s-h?p|\\b(7z|7za)(\\.exe)?\\b.*\\s-p|\\bzip\\b.*\\s(-P\\s|--password\\b)"
502
+ match_on: command
503
+ title: "Password-protected archive creation (potential data exfiltration)"
504
+ expires_at: null
505
+ revoked: false
506
+
507
+ # Bulk document archiving with wildcards
508
+ - id: "CLT-WIN-CMD-041"
509
+ category: tool
510
+ severity: high
511
+ confidence: 0.85
512
+ action: require_approval
513
+ pattern: "\\b(rar|winrar|7z|7za|zip|tar)(\\.exe)?\\b.*\\*\\.(docx?|xlsx?|pptx?|pdf|csv)\\b"
514
+ match_on: command
515
+ title: "Bulk document archiving with wildcards (data exfiltration indicator)"
516
+ expires_at: null
517
+ revoked: false
518
+
519
+ # --- AutoIt3 Script Execution (malware delivery) ---
520
+
521
+ # AutoIt3 /AutoIt3ExecuteScript flag — prevalent malware delivery mechanism
522
+ - id: "CLT-WIN-CMD-042"
523
+ category: tool
524
+ severity: critical
525
+ confidence: 0.95
526
+ action: block
527
+ pattern: "/AutoIt3ExecuteScript"
528
+ case_insensitive: true
529
+ match_on: command
530
+ title: "AutoIt3 script execution (common malware delivery)"
531
+ expires_at: null
532
+ revoked: false
533
+
534
+ # --- Suspicious Script Execution Locations ---
535
+
536
+ # wscript/cscript executing scripts from C:\Users\Public (world-writable staging)
537
+ - id: "CLT-WIN-CMD-043"
538
+ category: tool
539
+ severity: high
540
+ confidence: 0.85
541
+ action: require_approval
542
+ pattern: "(wscript|cscript)(\\.exe)?\\b.*\\\\Users\\\\Public\\\\"
543
+ case_insensitive: true
544
+ match_on: command
545
+ title: "Script execution from C:\\Users\\Public (suspicious staging location)"
546
+ expires_at: null
547
+ revoked: false
548
+
549
+ # --- Additional LOLBins ---
550
+
551
+ # regsvr32 /i: with remote URL (Squiblydoo — shellcode or scrobj.dll variant)
552
+ - id: "CLT-WIN-CMD-044"
553
+ category: tool
554
+ severity: critical
555
+ confidence: 0.95
556
+ action: block
557
+ pattern: "regsvr32(\\.exe)?\\b.*/[Ii]:[^\\s]*https?://"
558
+ case_insensitive: true
559
+ match_on: command
560
+ title: "regsvr32 /i: with remote URL (Squiblydoo attack)"
561
+ expires_at: null
562
+ revoked: false
563
+
564
+ # cmdl32.exe Connection Manager Profile Installer abuse
565
+ - id: "CLT-WIN-CMD-045"
566
+ category: tool
567
+ severity: high
568
+ confidence: 0.80
569
+ action: require_approval
570
+ pattern: "\\bcmdl32(\\.exe)?\\b"
571
+ case_insensitive: true
572
+ match_on: command
573
+ title: "cmdl32.exe Connection Manager abuse (LOLBin)"
574
+ expires_at: null
575
+ revoked: false
576
+
577
+ # --- Download-Execute Chain (single & separator) ---
578
+
579
+ # curl/wget download to file then start (single & in cmd.exe)
580
+ - id: "CLT-WIN-CMD-046"
581
+ category: tool
582
+ severity: critical
583
+ confidence: 0.90
584
+ action: block
585
+ pattern: "\\b(curl|wget)\\b[^&]*(--(output|o\\b)|-o\\b)[^&]*&\\s*(start\\b|cmd)"
586
+ case_insensitive: true
587
+ match_on: command
588
+ title: "Download file then execute via cmd start (download-execute chain)"
589
+ expires_at: null
590
+ revoked: false
591
+
592
+ # Shadow copy resize + VSS/SystemRestore disable + wbadmin backup deletion (ex CLT-TECH-005)
593
+ - id: "CLT-WIN-CMD-047"
594
+ category: tool
595
+ severity: critical
596
+ confidence: 0.90
597
+ action: block
598
+ 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
+ case_insensitive: true
600
+ match_on: command
601
+ title: "Shadow copy/VSS/SystemRestore disable or wbadmin backup deletion"
602
+ expires_at: null
603
+ revoked: false
604
+
605
+ # Legacy firewall disable via netsh opmode (ex CLT-TECH-007, MpsSvc parts covered by CLT-WIN-CMD-038)
606
+ - id: "CLT-WIN-CMD-048"
607
+ category: tool
608
+ severity: high
609
+ confidence: 0.80
610
+ action: require_approval
611
+ pattern: "netsh\\s+firewall\\s+set\\s+opmode\\s+mode[= ]+DISABLE"
612
+ case_insensitive: true
613
+ match_on: command
614
+ title: "Legacy firewall disable via netsh opmode (pre-Vista)"
615
+ expires_at: null
616
+ revoked: false
617
+
618
+ # Firewall exclusion: add allowed program (ex CLT-TECH-008)
619
+ - id: "CLT-WIN-CMD-049"
620
+ category: tool
621
+ severity: high
622
+ confidence: 0.80
623
+ action: require_approval
624
+ pattern: "(netsh\\s+firewall.+add.+allowedprogram.+ENABLE|netsh.+advfirewall.+firewall.+add.+rule.+name.+program|netsh\\s+advfirewall\\s+firewall.+allow.+program.+enable[= ]+yes)"
625
+ case_insensitive: true
626
+ match_on: command
627
+ title: "Excluding program from firewall detection via netsh"
628
+ expires_at: null
629
+ revoked: false
630
+
631
+ # AppLocker bypass via regsvr32 /i:http (ex CLT-TECH-006)
632
+ - id: "CLT-WIN-CMD-050"
633
+ category: tool
634
+ severity: high
635
+ confidence: 0.80
636
+ action: require_approval
637
+ pattern: "regsvr32.+i:\\s*http"
638
+ case_insensitive: true
639
+ match_on: command
640
+ title: "AppLocker bypass via regsvr32 /i:http"
641
+ expires_at: null
642
+ revoked: false
643
+
644
+ # Mavinject DLL injection (ex CLT-TECH-009)
645
+ - id: "CLT-WIN-CMD-051"
646
+ category: tool
647
+ severity: critical
648
+ confidence: 0.90
649
+ action: block
650
+ pattern: "(\\\\|/)Mavinject(64|32)\\.exe"
651
+ case_insensitive: true
652
+ match_on: command
653
+ title: "Mavinject DLL injection (LOLBin)"
654
+ expires_at: null
655
+ revoked: false
656
+
657
+ # PyDev inject_dll injection (ex CLT-TECH-010)
658
+ - id: "CLT-WIN-CMD-052"
659
+ category: tool
660
+ severity: critical
661
+ confidence: 0.90
662
+ action: block
663
+ pattern: "(\\\\|/)inject_dll_(x86|amd64)\\.exe"
664
+ case_insensitive: true
665
+ match_on: command
666
+ title: "PyDev inject_dll injection (LOLBin)"
667
+ expires_at: null
668
+ revoked: false
669
+
670
+ # PowerShdll execution (ex CLT-TECH-028)
671
+ - id: "CLT-WIN-CMD-053"
672
+ category: tool
673
+ severity: high
674
+ confidence: 0.80
675
+ action: require_approval
676
+ pattern: "(rundll32\\.exe PowerShdll\\.dll,main|POWERSHDLL\\.(DLL|EXE))"
677
+ case_insensitive: true
678
+ match_on: command
679
+ title: "PowerShdll execution (LOLBin)"
680
+ expires_at: null
681
+ revoked: false
682
+
683
+ # SyncAppvPublishingServer execution (ex CLT-TECH-030)
684
+ - id: "CLT-WIN-CMD-054"
685
+ category: tool
686
+ severity: high
687
+ confidence: 0.80
688
+ action: require_approval
689
+ pattern: "SyncAppvPublishingServer\\.vbs \".*(iwr|iex)"
690
+ case_insensitive: true
691
+ match_on: command
692
+ title: "Execution via SyncAppvPublishingServer (LOLBin)"
693
+ expires_at: null
694
+ revoked: false
695
+
696
+ # sdclt/CompMgmtLauncher UAC bypass (ex CLT-TECH-033)
697
+ - id: "CLT-WIN-CMD-055"
698
+ category: tool
699
+ severity: critical
700
+ confidence: 0.90
701
+ action: block
702
+ pattern: "(sdclt\\.exe|CompMgmtLauncher\\.exe)"
703
+ case_insensitive: true
704
+ match_on: command
705
+ title: "UAC bypass via sdclt or CompMgmtLauncher"
706
+ expires_at: null
707
+ revoked: false
708
+
709
+ # PowerShell fileless execution via iex $env (ex CLT-TECH-017)
710
+ - id: "CLT-WIN-CMD-056"
711
+ category: tool
712
+ severity: high
713
+ confidence: 0.80
714
+ action: require_approval
715
+ pattern: "powershell.*iex.*\\$env"
716
+ case_insensitive: true
717
+ match_on: command
718
+ title: "PowerShell fileless execution via iex $env"
719
+ expires_at: null
720
+ revoked: false
721
+
722
+ # PowerShell version downgrade (ex CLT-TECH-018)
723
+ - id: "CLT-WIN-CMD-057"
724
+ category: tool
725
+ severity: high
726
+ confidence: 0.80
727
+ action: require_approval
728
+ pattern: "powershell.*-Version"
729
+ case_insensitive: true
730
+ match_on: command
731
+ title: "PowerShell version downgrade attack"
732
+ expires_at: null
733
+ revoked: false
734
+
735
+ # PowerShell download cradle iex+downloadstring (ex CLT-TECH-023)
736
+ - id: "CLT-WIN-CMD-058"
737
+ category: tool
738
+ severity: critical
739
+ confidence: 0.90
740
+ action: block
741
+ pattern: "(powershell.*(iex|invoke-expression).*downloadstring|powershell.*Start-BitsTransfer.*(iex|invoke-expression)|powershell.*xmlhttp.*send.*(iex|invoke-expression))"
742
+ case_insensitive: true
743
+ match_on: command
744
+ title: "PowerShell download cradle (iex+downloadstring)"
745
+ expires_at: null
746
+ revoked: false
747
+
748
+ # PowerShell Reflection.Assembly Load (ex CLT-TECH-024)
749
+ - id: "CLT-WIN-CMD-059"
750
+ category: tool
751
+ severity: high
752
+ confidence: 0.80
753
+ action: require_approval
754
+ pattern: "powershell.+\\[Reflection\\.Assembly\\]::Load"
755
+ case_insensitive: true
756
+ match_on: command
757
+ title: "PowerShell Reflection.Assembly Load"
758
+ expires_at: null
759
+ revoked: false
760
+
761
+ # PowerShell certificate validation bypass (ex CLT-TECH-025)
762
+ - id: "CLT-WIN-CMD-060"
763
+ category: tool
764
+ severity: high
765
+ confidence: 0.80
766
+ action: require_approval
767
+ pattern: "powershell.+ServerCertificateValidationCallback\\s*=\\s*\\{\\s*\\$true\\s*\\}"
768
+ case_insensitive: true
769
+ match_on: command
770
+ title: "PowerShell certificate validation bypass"
771
+ expires_at: null
772
+ revoked: false
773
+
774
+ # PowerShell GetTypeFromCLSID (ex CLT-TECH-029)
775
+ - id: "CLT-WIN-CMD-061"
776
+ category: tool
777
+ severity: high
778
+ confidence: 0.80
779
+ action: require_approval
780
+ pattern: "powershell.+GetTypeFromCLSID"
781
+ case_insensitive: true
782
+ match_on: command
783
+ title: "PowerShell GetTypeFromCLSID usage"
784
+ expires_at: null
785
+ revoked: false