@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,112 @@
1
+ # Windows credential exposure threat patterns for Sage
2
+ # Author: Gen Digital Inc.
3
+ # License: DRL-1.1 (see threats/LICENSE)
4
+
5
+ # cmdkey stored credentials
6
+ - id: "CLT-WIN-CRED-001"
7
+ category: secrets
8
+ severity: high
9
+ confidence: 0.85
10
+ action: require_approval
11
+ pattern: "\\b[Cc]mdkey\\s+/add:"
12
+ match_on: command
13
+ title: "Stored credential creation via cmdkey"
14
+ expires_at: null
15
+ revoked: false
16
+
17
+ # ConvertTo-SecureString with plaintext
18
+ - id: "CLT-WIN-CRED-002"
19
+ category: secrets
20
+ severity: high
21
+ confidence: 0.85
22
+ action: require_approval
23
+ pattern: "[Cc]onvert[Tt]o-[Ss]ecure[Ss]tring.*-[Aa]s[Pp]lain[Tt]ext"
24
+ match_on: command
25
+ title: "ConvertTo-SecureString with plaintext password"
26
+ expires_at: null
27
+ revoked: false
28
+
29
+ # Reading credential files on Windows (type, more, Get-Content)
30
+ - id: "CLT-WIN-CRED-003"
31
+ category: secrets
32
+ severity: high
33
+ confidence: 0.80
34
+ action: require_approval
35
+ pattern: "\\b(type|more|[Gg]et-[Cc]ontent)\\b.*\\.(env|credentials|pgpass|netrc)"
36
+ match_on: command
37
+ title: "Reading credential file via type/more/Get-Content"
38
+ expires_at: null
39
+ revoked: false
40
+
41
+ # [Environment]::SetEnvironmentVariable with credential keyword
42
+ - id: "CLT-WIN-CRED-004"
43
+ category: secrets
44
+ severity: high
45
+ confidence: 0.80
46
+ action: require_approval
47
+ pattern: "\\[Environment\\]::SetEnvironmentVariable.*([Pp]assword|[Ss]ecret|[Tt]oken|[Kk]ey)"
48
+ match_on: command
49
+ title: "Setting credential environment variable via .NET"
50
+ expires_at: null
51
+ revoked: false
52
+
53
+ # $env: credential assignment
54
+ - id: "CLT-WIN-CRED-005"
55
+ category: secrets
56
+ severity: high
57
+ confidence: 0.80
58
+ action: require_approval
59
+ pattern: "\\$env:.*([Pp]assword|[Ss]ecret|[Tt]oken|[Aa]pi_?[Kk]ey)\\s*="
60
+ match_on: command
61
+ title: "PowerShell $env: credential variable assignment"
62
+ expires_at: null
63
+ revoked: false
64
+
65
+ # Mimikatz / sekurlsa
66
+ - id: "CLT-WIN-CRED-006"
67
+ category: secrets
68
+ severity: critical
69
+ confidence: 0.95
70
+ action: block
71
+ pattern: "[Mm]imikatz|[Ss]ekurlsa::"
72
+ match_on: command
73
+ title: "Mimikatz credential dumping tool"
74
+ expires_at: null
75
+ revoked: false
76
+
77
+ # Registry hive export for credential theft
78
+ - id: "CLT-WIN-CRED-007"
79
+ category: secrets
80
+ severity: critical
81
+ confidence: 0.95
82
+ action: block
83
+ pattern: "\\breg\\s+save\\b.*\\bHKLM\\\\(SAM|SYSTEM|SECURITY)\\b"
84
+ match_on: command
85
+ title: "Registry hive export for credential theft (reg save HKLM\\SAM/SYSTEM)"
86
+ expires_at: null
87
+ revoked: false
88
+
89
+ # LSASS credential dumping
90
+ - id: "CLT-WIN-CRED-008"
91
+ category: secrets
92
+ severity: critical
93
+ confidence: 0.95
94
+ action: block
95
+ pattern: "\\b(procdump|procdump64)\\b.*\\blsass\\b|\\brundll32\\b.*\\bcomsvcs(\\.dll)?\\b.*\\bMiniDump\\b"
96
+ match_on: command
97
+ title: "LSASS credential dumping (procdump/comsvcs.dll MiniDump)"
98
+ expires_at: null
99
+ revoked: false
100
+
101
+ # WLAN password extraction (ex CLT-TECH-034)
102
+ - id: "CLT-WIN-CRED-009"
103
+ category: secrets
104
+ severity: high
105
+ confidence: 0.80
106
+ action: require_approval
107
+ pattern: "netsh.*wlan.*show.*profiles.*key=clear"
108
+ case_insensitive: true
109
+ match_on: command
110
+ title: "WLAN password extraction via netsh"
111
+ expires_at: null
112
+ revoked: false
@@ -0,0 +1,124 @@
1
+ # Windows sensitive file path threat patterns for Sage
2
+ # Author: Gen Digital Inc.
3
+ # License: DRL-1.1 (see threats/LICENSE)
4
+ # Detects Write/Edit operations targeting Windows security-sensitive files
5
+
6
+ # SAM/SECURITY/SYSTEM hive
7
+ - id: "CLT-WIN-FILE-001"
8
+ category: secrets
9
+ severity: critical
10
+ confidence: 0.95
11
+ action: block
12
+ pattern: "(\\\\|/)Windows(\\\\|/)System32(\\\\|/)config(\\\\|/)(SAM|SECURITY|SYSTEM)"
13
+ match_on: file_path
14
+ title: "Write to SAM/SECURITY/SYSTEM registry hive"
15
+ expires_at: null
16
+ revoked: false
17
+
18
+ # NTDS.dit (Active Directory database)
19
+ - id: "CLT-WIN-FILE-002"
20
+ category: secrets
21
+ severity: critical
22
+ confidence: 0.95
23
+ action: block
24
+ pattern: "[Nn][Tt][Dd][Ss]\\.[Dd][Ii][Tt]"
25
+ match_on: file_path
26
+ title: "Write to NTDS.dit (Active Directory database)"
27
+ expires_at: null
28
+ revoked: false
29
+
30
+ # Windows hosts file
31
+ - id: "CLT-WIN-FILE-003"
32
+ category: tool
33
+ severity: high
34
+ confidence: 0.85
35
+ action: require_approval
36
+ pattern: "(\\\\|/)Windows(\\\\|/)System32(\\\\|/)drivers(\\\\|/)etc(\\\\|/)hosts"
37
+ match_on: file_path
38
+ title: "Write to Windows hosts file"
39
+ expires_at: null
40
+ revoked: false
41
+
42
+ # Startup folder
43
+ - id: "CLT-WIN-FILE-004"
44
+ category: tool
45
+ severity: high
46
+ confidence: 0.90
47
+ action: require_approval
48
+ pattern: "(\\\\|/)(Startup|Start Menu(\\\\|/)Programs(\\\\|/)Startup)(\\\\|/)"
49
+ match_on: file_path
50
+ title: "Write to Windows Startup folder"
51
+ expires_at: null
52
+ revoked: false
53
+
54
+ # Executable script in System32/SysWOW64
55
+ - id: "CLT-WIN-FILE-005"
56
+ category: tool
57
+ severity: critical
58
+ confidence: 0.90
59
+ action: block
60
+ pattern: "(\\\\|/)Windows(\\\\|/)(System32|SysWOW64)(\\\\|/).*\\.(bat|cmd|ps1|vbs|wsf)$"
61
+ match_on: file_path
62
+ title: "Write executable script to System32/SysWOW64"
63
+ expires_at: null
64
+ revoked: false
65
+
66
+ # Driver file in System32/drivers
67
+ - id: "CLT-WIN-FILE-006"
68
+ category: tool
69
+ severity: critical
70
+ confidence: 0.90
71
+ action: block
72
+ pattern: "(\\\\|/)Windows(\\\\|/)System32(\\\\|/)drivers(\\\\|/).*\\.sys$"
73
+ match_on: file_path
74
+ title: "Write driver file to System32/drivers"
75
+ expires_at: null
76
+ revoked: false
77
+
78
+ # Task Scheduler directory
79
+ - id: "CLT-WIN-FILE-007"
80
+ category: tool
81
+ severity: high
82
+ confidence: 0.85
83
+ action: require_approval
84
+ pattern: "(Windows|WINDOWS)[/\\\\]System32[/\\\\]Tasks[/\\\\]"
85
+ match_on: file_path
86
+ title: "Write to Windows Task Scheduler directory"
87
+ expires_at: null
88
+ revoked: false
89
+
90
+ # SSH key or config file (Windows path)
91
+ - id: "CLT-WIN-FILE-008"
92
+ category: secrets
93
+ severity: high
94
+ confidence: 0.90
95
+ action: require_approval
96
+ pattern: "\\.ssh[\\\\](id_rsa|id_ed25519|id_ecdsa|id_dsa|config|authorized_keys)$"
97
+ match_on: file_path
98
+ title: "Write to SSH key or config file (Windows path)"
99
+ expires_at: null
100
+ revoked: false
101
+
102
+ # AWS credentials file (Windows path)
103
+ - id: "CLT-WIN-FILE-009"
104
+ category: secrets
105
+ severity: high
106
+ confidence: 0.85
107
+ action: require_approval
108
+ pattern: "\\.aws[\\\\]credentials$"
109
+ match_on: file_path
110
+ title: "Write to AWS credentials file (Windows path)"
111
+ expires_at: null
112
+ revoked: false
113
+
114
+ # Browser credential stores
115
+ - id: "CLT-WIN-FILE-010"
116
+ category: secrets
117
+ severity: critical
118
+ confidence: 0.90
119
+ action: block
120
+ pattern: "(Google[/\\\\]Chrome|Mozilla[/\\\\]Firefox|Microsoft[/\\\\]Edge)[/\\\\].*[/\\\\](Login Data|logins\\.json|Cookies)$"
121
+ match_on: file_path
122
+ title: "Write to browser credential store"
123
+ expires_at: null
124
+ revoked: false
@@ -0,0 +1,205 @@
1
+ # Windows obfuscation threat patterns for Sage
2
+ # Author: Gen Digital Inc.
3
+ # License: DRL-1.1 (see threats/LICENSE)
4
+
5
+ # PowerShell -EncodedCommand
6
+ - id: "CLT-WIN-OBFUS-001"
7
+ category: tool
8
+ severity: critical
9
+ confidence: 0.95
10
+ action: block
11
+ pattern: "-[Ee]nc(oded[Cc]ommand)?\\s+[A-Za-z0-9+/=]{20,}"
12
+ match_on: command
13
+ title: "PowerShell -EncodedCommand with base64 payload"
14
+ expires_at: null
15
+ revoked: false
16
+
17
+ # certutil -decode
18
+ - id: "CLT-WIN-OBFUS-002"
19
+ category: tool
20
+ severity: high
21
+ confidence: 0.85
22
+ action: require_approval
23
+ pattern: "[Cc][Ee][Rr][Tt][Uu][Tt][Ii][Ll]\\s.*-decode"
24
+ match_on: command
25
+ title: "certutil base64 decode (obfuscation)"
26
+ expires_at: null
27
+ revoked: false
28
+
29
+ # Hidden PowerShell window
30
+ - id: "CLT-WIN-OBFUS-003"
31
+ category: tool
32
+ severity: high
33
+ confidence: 0.85
34
+ action: require_approval
35
+ pattern: "-[Ww]indow[Ss]tyle\\s+[Hh]idden"
36
+ match_on: command
37
+ title: "Hidden PowerShell window"
38
+ expires_at: null
39
+ revoked: false
40
+
41
+ # Bypass + NoProfile combo
42
+ - id: "CLT-WIN-OBFUS-004"
43
+ category: tool
44
+ severity: high
45
+ confidence: 0.90
46
+ action: block
47
+ pattern: "-[Ee]xecution[Pp]olicy\\s+[Bb]ypass.*-[Nn]o[Pp]rofile"
48
+ match_on: command
49
+ title: "PowerShell -ExecutionPolicy Bypass -NoProfile (malware pattern)"
50
+ expires_at: null
51
+ revoked: false
52
+
53
+ # [char] code obfuscation
54
+ - id: "CLT-WIN-OBFUS-005"
55
+ category: tool
56
+ severity: high
57
+ confidence: 0.80
58
+ action: require_approval
59
+ pattern: "\\[char\\]\\s*\\d+.*-[Jj]oin"
60
+ match_on: [command, content]
61
+ title: "PowerShell [char] code obfuscation with -join"
62
+ expires_at: null
63
+ revoked: false
64
+
65
+ # Security provider DLL injection via registry
66
+ - id: "CLT-WIN-OBFUS-006"
67
+ category: tool
68
+ severity: critical
69
+ confidence: 0.90
70
+ action: block
71
+ pattern: "\\bSYSTEM\\\\CurrentControlSet\\\\Control\\\\SecurityProviders\\b"
72
+ match_on: command
73
+ title: "Security provider DLL injection via registry"
74
+ expires_at: null
75
+ revoked: false
76
+
77
+ # mshta VBScript execution (Execute, CreateObject, close patterns)
78
+ - id: "CLT-WIN-OBFUS-007"
79
+ category: tool
80
+ severity: critical
81
+ confidence: 0.90
82
+ action: block
83
+ pattern: "\\bmshta\\b.*\\bvbscript:(Execute|CreateObject|close\\s*\\()"
84
+ case_insensitive: true
85
+ match_on: command
86
+ title: "mshta VBScript execution (Execute/CreateObject obfuscation)"
87
+ expires_at: null
88
+ revoked: false
89
+
90
+ # mshta javascript: eval execution
91
+ - id: "CLT-WIN-OBFUS-008"
92
+ category: tool
93
+ severity: critical
94
+ confidence: 0.90
95
+ action: block
96
+ pattern: "\\bmshta\\b.*\\bjavascript:"
97
+ case_insensitive: true
98
+ match_on: command
99
+ title: "mshta JavaScript execution (LOLBin obfuscation)"
100
+ expires_at: null
101
+ revoked: false
102
+
103
+ # wscript/cscript //E: engine override on non-script files
104
+ - id: "CLT-WIN-OBFUS-009"
105
+ category: tool
106
+ severity: critical
107
+ confidence: 0.90
108
+ action: block
109
+ pattern: "(wscript|cscript)(\\.exe)?\\b.*//[Ee]:([Vv][Bb][Ss]cript|[Jj][Ss]cript)"
110
+ case_insensitive: true
111
+ match_on: command
112
+ title: "wscript/cscript script engine override (//E:VBScript evasion)"
113
+ expires_at: null
114
+ revoked: false
115
+
116
+ # NTFS $INDEX_ALLOCATION folder creation (ex CLT-TECH-001)
117
+ - id: "CLT-WIN-OBFUS-010"
118
+ category: tool
119
+ severity: high
120
+ confidence: 0.80
121
+ action: require_approval
122
+ pattern: "echo [\\S\\s]+> [a-zA-Z0-9.]+::\\$INDEX_ALLOCATION"
123
+ case_insensitive: true
124
+ match_on: command
125
+ title: "NTFS $INDEX_ALLOCATION folder creation without permissions"
126
+ expires_at: null
127
+ revoked: false
128
+
129
+ # ADS bypass via type redirect or wmic process create (ex CLT-TECH-002)
130
+ - id: "CLT-WIN-OBFUS-011"
131
+ category: tool
132
+ severity: high
133
+ confidence: 0.80
134
+ action: require_approval
135
+ pattern: "(type [a-zA-Z+0-9.\\\\:]+ > [a-zA-Z+0-9.\\\\:]+:[0-9a-zA-Z+.]+|wmic process call create [a-zA-Z+0-9.\\\\:]+:[a-z0-9A-Z.]+)"
136
+ case_insensitive: true
137
+ match_on: command
138
+ title: "Alternate Data Streams bypass"
139
+ expires_at: null
140
+ revoked: false
141
+
142
+ # Dotdotdot hidden folder (ex CLT-TECH-003)
143
+ - id: "CLT-WIN-OBFUS-012"
144
+ category: tool
145
+ severity: high
146
+ confidence: 0.80
147
+ action: require_approval
148
+ pattern: "(mkdir\\s+\\.{3,}|[a-zA-Z]+\\s+[a-z0-9]+\\s+>\\s+\\.{3,})"
149
+ case_insensitive: true
150
+ match_on: command
151
+ title: "Hidden file/folder via ... directory trick"
152
+ expires_at: null
153
+ revoked: false
154
+
155
+ # cmd caret obfuscation (ex CLT-TECH-014)
156
+ - id: "CLT-WIN-OBFUS-013"
157
+ category: tool
158
+ severity: high
159
+ confidence: 0.80
160
+ action: require_approval
161
+ pattern: "cmd.*([^\\^]\\^[a-z].*){5}"
162
+ case_insensitive: true
163
+ match_on: command
164
+ title: "cmd caret (^) obfuscation"
165
+ expires_at: null
166
+ revoked: false
167
+
168
+ # cmd substring concatenation obfuscation (ex CLT-TECH-015)
169
+ - id: "CLT-WIN-OBFUS-014"
170
+ category: tool
171
+ severity: high
172
+ confidence: 0.80
173
+ action: require_approval
174
+ pattern: "cmd.*(%[^%]+:~[^%]*%[a-z]*){2}"
175
+ case_insensitive: true
176
+ match_on: command
177
+ title: "cmd substring concatenation obfuscation"
178
+ expires_at: null
179
+ revoked: false
180
+
181
+ # PowerShell backtick obfuscation (ex CLT-TECH-021)
182
+ - id: "CLT-WIN-OBFUS-015"
183
+ category: tool
184
+ severity: high
185
+ confidence: 0.80
186
+ action: require_approval
187
+ pattern: "powershell.*(`[a-z].*){4}"
188
+ case_insensitive: true
189
+ match_on: command
190
+ title: "PowerShell backtick obfuscation"
191
+ expires_at: null
192
+ revoked: false
193
+
194
+ # PowerShell XOR decryption (ex CLT-TECH-026)
195
+ - id: "CLT-WIN-OBFUS-016"
196
+ category: tool
197
+ severity: high
198
+ confidence: 0.80
199
+ action: require_approval
200
+ pattern: "powershell.+-bxor\\s*['\"]"
201
+ case_insensitive: true
202
+ match_on: command
203
+ title: "PowerShell XOR decryption"
204
+ expires_at: null
205
+ revoked: false
@@ -0,0 +1,100 @@
1
+ # Windows persistence mechanism threat patterns for Sage
2
+ # Author: Gen Digital Inc.
3
+ # License: DRL-1.1 (see threats/LICENSE)
4
+ # Covers: Registry Run keys, Services, Task Scheduler, Startup folder
5
+
6
+ # Registry Run key via reg add
7
+ - id: "CLT-WIN-PERSIST-001"
8
+ category: tool
9
+ severity: critical
10
+ confidence: 0.90
11
+ action: block
12
+ pattern: "\\b[Rr][Ee][Gg]\\b\\s+[Aa][Dd][Dd].*\\\\(Run|RunOnce)\\\\"
13
+ match_on: command
14
+ title: "Registry Run key persistence via reg add"
15
+ expires_at: null
16
+ revoked: false
17
+
18
+ # sc create/config service
19
+ - id: "CLT-WIN-PERSIST-002"
20
+ category: tool
21
+ severity: critical
22
+ confidence: 0.90
23
+ action: block
24
+ pattern: "\\b[Ss][Cc]\\b\\s+(create|config).*binpath"
25
+ match_on: command
26
+ title: "Windows service creation/modification via sc"
27
+ expires_at: null
28
+ revoked: false
29
+
30
+ # schtasks /create
31
+ - id: "CLT-WIN-PERSIST-003"
32
+ category: tool
33
+ severity: high
34
+ confidence: 0.85
35
+ action: require_approval
36
+ pattern: "\\b[Ss][Cc][Hh][Tt][Aa][Ss][Kk][Ss]\\b.*/[Cc]reate"
37
+ match_on: command
38
+ title: "Scheduled task creation via schtasks"
39
+ expires_at: null
40
+ revoked: false
41
+
42
+ # PowerShell New-ScheduledTask
43
+ - id: "CLT-WIN-PERSIST-004"
44
+ category: tool
45
+ severity: high
46
+ confidence: 0.85
47
+ action: require_approval
48
+ pattern: "[Nn]ew-[Ss]cheduled[Tt]ask"
49
+ match_on: command
50
+ title: "PowerShell scheduled task creation"
51
+ expires_at: null
52
+ revoked: false
53
+
54
+ # PowerShell Set-ItemProperty Run key
55
+ - id: "CLT-WIN-PERSIST-005"
56
+ category: tool
57
+ severity: critical
58
+ confidence: 0.90
59
+ action: block
60
+ pattern: "[Ss]et-[Ii]tem[Pp]roperty.*\\\\(Run|RunOnce)\\\\"
61
+ match_on: command
62
+ title: "PowerShell Registry Run key persistence"
63
+ expires_at: null
64
+ revoked: false
65
+
66
+ # PowerShell New-Service
67
+ - id: "CLT-WIN-PERSIST-006"
68
+ category: tool
69
+ severity: high
70
+ confidence: 0.85
71
+ action: require_approval
72
+ pattern: "\\b[Nn]ew-[Ss]ervice\\b"
73
+ match_on: command
74
+ title: "PowerShell Windows service creation"
75
+ expires_at: null
76
+ revoked: false
77
+
78
+ # Startup folder path
79
+ - id: "CLT-WIN-PERSIST-007"
80
+ category: tool
81
+ severity: high
82
+ confidence: 0.85
83
+ action: require_approval
84
+ pattern: "\\\\(Startup|Start Menu\\\\Programs\\\\Startup)\\\\"
85
+ match_on: command
86
+ title: "Startup folder drop (persistence)"
87
+ expires_at: null
88
+ revoked: false
89
+
90
+ # WMI event subscription persistence
91
+ - id: "CLT-WIN-PERSIST-008"
92
+ category: tool
93
+ severity: critical
94
+ confidence: 0.90
95
+ action: block
96
+ pattern: "\\b(CommandLineEventConsumer|ActiveScriptEventConsumer)\\b"
97
+ match_on: command
98
+ title: "WMI event subscription persistence"
99
+ expires_at: null
100
+ revoked: false
@@ -0,0 +1,15 @@
1
+ # Windows supply chain threat patterns for Sage
2
+ # Author: Gen Digital Inc.
3
+ # License: DRL-1.1 (see threats/LICENSE)
4
+
5
+ # Install-Module without -RequiredVersion
6
+ - id: "CLT-WIN-SUPPLY-001"
7
+ category: supply_chain
8
+ severity: medium
9
+ confidence: 0.65
10
+ action: require_approval
11
+ pattern: "[Ii]nstall-[Mm]odule\\s+(?!.*-[Rr]equired[Vv]ersion)"
12
+ match_on: command
13
+ title: "PowerShell Install-Module without -RequiredVersion"
14
+ expires_at: null
15
+ revoked: false