|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+# Wazuh Rule Match Summary — SOC Proposal Appendices A / B / C
|
|
|
2
|
+
|
|
|
3
|
+**Query window:** 2026-03-17 (today only)
|
|
|
4
|
+**Total meaningful events (post rule-fix):** 199
|
|
|
5
|
+**Data source:** OpenSearch index `wazuh-alerts-*` (filter: `rule.groups: soc_prod*`)
|
|
|
6
|
+
|
|
|
7
|
+> **Note — Rule 110354 fix:** Rule 110354 (A4-13 DSRM) was found to be misconfigured — parent SID 60103
|
|
|
8
|
+> is "Windows audit success event" (matches ALL `AUDIT_SUCCESS` events), and the rule had no `eventID`
|
|
|
9
|
+> constraint. This caused ~313,000 false-positive fires today on events like 4624, 4634, 4688, 4793, etc.
|
|
|
10
|
+> Fix applied: added `<field name="win.system.eventID">^4794$</field>`. Rule is now silent (0 events post-fix,
|
|
|
11
|
+> confirmed correct). Pre-fix event count is excluded from the summary totals below.
|
|
|
12
|
+
|
|
|
13
|
+---
|
|
|
14
|
+
|
|
|
15
|
+## Appendix A — Threat Detection (FortiGate + Windows/AD)
|
|
|
16
|
+
|
|
|
17
|
+### A1 — DNS / Firewall IOC *(file: soc-a1-ioc-rules.xml)*
|
|
|
18
|
+
|
|
|
19
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
20
|
+|---------|----------|-------------|-------|--------|
|
|
|
21
|
+| 110301 | A1-01 | DNS query to malicious domain (IOC traffic indicator) | T1071.004 | 0 |
|
|
|
22
|
+| 110302 | A1-02 | DNS IOC domain match from threat intelligence feed | T1568 | 0 |
|
|
|
23
|
+
|
|
|
24
|
+---
|
|
|
25
|
+
|
|
|
26
|
+### A2 — FortiGate IPS/IDS & Firewall *(file: soc-a2-fortigate-fw-rules.xml)*
|
|
|
27
|
+
|
|
|
28
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
29
|
+|---------|----------|-------------|-------|--------|
|
|
|
30
|
+| 110311 | A2-01 | FortiGate: RDP (3389) traffic allowed | T1021.001 | 0 |
|
|
|
31
|
+| 110312 | A2-02 | FortiGate: admin account password changed | T1098 | 0 |
|
|
|
32
|
+| 110313 | A2-03 | FortiGate: new admin account created | T1136 | 0 |
|
|
|
33
|
+| 110314 | A2-04 | FortiGate: alerting/notification disabled via config change | T1562 | 0 |
|
|
|
34
|
+| 110315 | A2-05 | FortiGate: firewall configuration file downloaded | T1005 | 0 |
|
|
|
35
|
+| 110316 | A2-06 | FortiGate IPS: multiple critical signatures triggered | T1595 | 0 |
|
|
|
36
|
+| 110317 | A2-07 | FortiGate: TCP port scan from external IP | T1046 | 0 |
|
|
|
37
|
+| 110318 | A2-08 | FortiGate IPS: IOC-based IP indicator detected | T1071.001 | 0 |
|
|
|
38
|
+| 110319 | A2-09 | FortiGate: internal port scan from private source IP | T1046 | 0 |
|
|
|
39
|
+| 110320 | A2-10 | FortiGate: traffic to known C2/malicious IP allowed | T1071.001 | 0 |
|
|
|
40
|
+
|
|
|
41
|
+> No FortiGate syslog events received today.
|
|
|
42
|
+
|
|
|
43
|
+---
|
|
|
44
|
+
|
|
|
45
|
+### A3 — FortiGate VPN *(file: soc-a3-fortigate-vpn-rules.xml)*
|
|
|
46
|
+
|
|
|
47
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
48
|
+|---------|----------|-------------|-------|--------|
|
|
|
49
|
+| 110331 | A3-01 | VPN authentication success by guest account | T1078.001 | 0 |
|
|
|
50
|
+| 110332 | A3-02 | VPN success from different country than last login | T1078 | 0 |
|
|
|
51
|
+| 110333 | A3-03 | VPN success after multiple prior failures (brute-force indicator) | T1110.001 | 0 |
|
|
|
52
|
+| 110334 | A3-04 | VPN multiple account failures from single source IP | T1110.003 | 0 |
|
|
|
53
|
+| 110335 | A3-05 | VPN authentication success from outside Thailand | T1078 | 0 |
|
|
|
54
|
+
|
|
|
55
|
+> VPN logs not yet forwarded to Wazuh.
|
|
|
56
|
+
|
|
|
57
|
+---
|
|
|
58
|
+
|
|
|
59
|
+### A4 — Windows / Active Directory *(file: soc-a4-windows-ad-rules.xml)*
|
|
|
60
|
+
|
|
|
61
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
62
|
+|---------|----------|-------------|-------|--------|
|
|
|
63
|
+| 110341 | A4-01 | Windows: privileged account name auth failure (4625) | T1110.001 | **1** |
|
|
|
64
|
+| 110342 | A4-02 | Windows: service account auth failure (4625) | T1110.001 | **50** |
|
|
|
65
|
+| 110343 | A4-03 | Windows AD: adfind enumeration tool executed (4688) | T1087.002 | 0 |
|
|
|
66
|
+| 110346 | A4-06 | Windows: remote interactive auth success logon type 10 (4624) | T1021.001, T1078 | 0 |
|
|
|
67
|
+| 110348 | A4-08 | Windows: NTLM network logon type 3 — pass-the-hash indicator (4624) | T1550.002 | **46** |
|
|
|
68
|
+| 110349 | A4-09 | Windows: guest account auth success (4624) | T1078.001 | 0 |
|
|
|
69
|
+| 110350 | A4-10 | Windows: service account interactive logon type 2 (4624) | T1078.003 | 0 |
|
|
|
70
|
+| 110352 | A4-12 | Windows: account added to privileged domain group (4728) | T1098.007 | 0 |
|
|
|
71
|
+| 110353 | A4-11 | Windows: account added to privileged local group (4732) | T1098.007 | 0 |
|
|
|
72
|
+| 110354 | A4-13 | Windows DC: DSRM account password set (4794) | T1098 | 0 ✅ fixed |
|
|
|
73
|
+| 110359 | A4-19 | Windows: authentication failure (4625) — general | T1110.003 | **71** |
|
|
|
74
|
+| 110361 | A4-21/23 | Windows: new user account created (4720) | T1136 | 0 |
|
|
|
75
|
+| 110362 | A4-22/24 | Windows: user account re-enabled (4722) | T1078 | 0 |
|
|
|
76
|
+
|
|
|
77
|
+> Rule 110354 now correctly requires `eventID=4794` and is silent (no genuine DSRM events today).
|
|
|
78
|
+> Rule 110348 (NTLM/pass-the-hash) was previously masked by 110354 noise — now visible with 46 events.
|
|
|
79
|
+
|
|
|
80
|
+---
|
|
|
81
|
+
|
|
|
82
|
+## Appendix B — Expanded Monitoring
|
|
|
83
|
+
|
|
|
84
|
+### B1 — VMware vCenter / ESXi *(file: soc-b1-vmware-rules.xml)*
|
|
|
85
|
+
|
|
|
86
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
87
|
+|---------|----------|-------------|-------|--------|
|
|
|
88
|
+| 110401 | B1-01 | vCenter: login failure detected (brute-force indicator) | T1110 | 0 |
|
|
|
89
|
+| 110402 | B1-02 | ESXi: SSH service enabled on host | T1021.004 | 0 |
|
|
|
90
|
+| 110403 | B1-03 | ESXi: SSH authentication event detected | T1021.004 | 0 |
|
|
|
91
|
+
|
|
|
92
|
+> VMware logs not yet forwarded to Wazuh.
|
|
|
93
|
+
|
|
|
94
|
+---
|
|
|
95
|
+
|
|
|
96
|
+### B2 — Log Monitoring *(file: soc-b2-logmon-rules.xml)*
|
|
|
97
|
+
|
|
|
98
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
99
|
+|---------|----------|-------------|-------|--------|
|
|
|
100
|
+| 110411 | B2-01 | Log Monitor: log ingestion loss detected on monitored stream | T1562.006 | 0 |
|
|
|
101
|
+
|
|
|
102
|
+---
|
|
|
103
|
+
|
|
|
104
|
+### B3 — Windows Sysmon *(file: soc-b3-sysmon-rules.xml)*
|
|
|
105
|
+
|
|
|
106
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
107
|
+|---------|----------|-------------|-------|--------|
|
|
|
108
|
+| 110421 | B3-01 | Sysmon: LSASS process access detected (event 10) | T1003.001 | 0 |
|
|
|
109
|
+| 110422 | B3-02 | Sysmon: SQL keyword in process command line (event 1) | T1190 | 0 |
|
|
|
110
|
+| 110423 | B3-03 | Sysmon: web script file created (possible webshell, event 11) | T1505.003 | 0 |
|
|
|
111
|
+| 110424 | B3-04 | Sysmon: msiexec uninstall detected (event 1) | T1562.001 | 0 |
|
|
|
112
|
+| 110425 | B3-05 | Sysmon: LSASS dump via Task Manager (event 10) | T1003.001 | 0 |
|
|
|
113
|
+| 110426 | B3-06 | Sysmon: certutil.exe execution detected (event 1) | T1105 | 0 |
|
|
|
114
|
+
|
|
|
115
|
+> Sysmon not deployed on endpoints.
|
|
|
116
|
+
|
|
|
117
|
+---
|
|
|
118
|
+
|
|
|
119
|
+## Appendix C — Advanced Detection (Correlation)
|
|
|
120
|
+
|
|
|
121
|
+### C1 — Impossible Travel *(file: soc-c1-c3-rules.xml)*
|
|
|
122
|
+
|
|
|
123
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
124
|
+|---------|----------|-------------|-------|--------|
|
|
|
125
|
+| 110501 | C1-01 | VPN login success with geo context — impossible travel candidate | T1078 | 0 |
|
|
|
126
|
+| 110502 | C1-01 | Impossible travel confirmed by soc-integrator correlation | T1078 | 0 |
|
|
|
127
|
+
|
|
|
128
|
+---
|
|
|
129
|
+
|
|
|
130
|
+### C2 — Advanced Credential Abuse & Privilege Misuse *(file: soc-c1-c3-rules.xml)*
|
|
|
131
|
+
|
|
|
132
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
133
|
+|---------|----------|-------------|-------|--------|
|
|
|
134
|
+| 110511 | C2-01 | Privileged account auth success (4624) | T1078.002 | 0 |
|
|
|
135
|
+| 110512 | C2-02 | Dormant/legacy account auth success (4624) | T1078 | 0 |
|
|
|
136
|
+| 110513 | C2-03 | Service account remote interactive logon type 10 (4624) | T1078.003 | 0 |
|
|
|
137
|
+| 110514 | C2-04 | Privilege escalation: group membership change (4732) | T1098.007 | 0 |
|
|
|
138
|
+
|
|
|
139
|
+---
|
|
|
140
|
+
|
|
|
141
|
+### C3 — Lateral Movement & Internal Reconnaissance *(file: soc-c1-c3-rules.xml)*
|
|
|
142
|
+
|
|
|
143
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
144
|
+|---------|----------|-------------|-------|--------|
|
|
|
145
|
+| 110521 | C3-01/02 | RDP auth success logon type 10 (lateral movement indicator) | T1021.001, T1078 | 0 |
|
|
|
146
|
+| 110522 | C3-02 | SMB network logon type 3 (lateral movement indicator) | T1021.002, T1078 | **8** |
|
|
|
147
|
+| 110523 | C3-03 | Admin account auth success — lateral movement candidate (4624) | T1021.001, T1078.002 | **23** |
|
|
|
148
|
+
|
|
|
149
|
+> C3 rules (110522, 110523) were previously masked by 110354 noise — now visible with real event data.
|
|
|
150
|
+
|
|
|
151
|
+---
|
|
|
152
|
+
|
|
|
153
|
+## Summary
|
|
|
154
|
+
|
|
|
155
|
+| Appendix | Section | Rules Implemented | Rules with Events | Total Events |
|
|
|
156
|
+|----------|---------|:-----------------:|:-----------------:|:------------:|
|
|
|
157
|
+| A | A1 — DNS/IOC | 2 | 0 | 0 |
|
|
|
158
|
+| A | A2 — FortiGate FW/IPS | 10 | 0 | 0 |
|
|
|
159
|
+| A | A3 — FortiGate VPN | 5 | 0 | 0 |
|
|
|
160
|
+| A | A4 — Windows/AD | 13 | 4 | 168 |
|
|
|
161
|
+| B | B1 — VMware | 3 | 0 | 0 |
|
|
|
162
|
+| B | B2 — Log Monitor | 1 | 0 | 0 |
|
|
|
163
|
+| B | B3 — Sysmon | 6 | 0 | 0 |
|
|
|
164
|
+| C | C1 — Impossible Travel | 2 | 0 | 0 |
|
|
|
165
|
+| C | C2 — Credential Abuse | 4 | 0 | 0 |
|
|
|
166
|
+| C | C3 — Lateral Movement | 3 | 2 | 31 |
|
|
|
167
|
+| **Total** | | **49** | **6** | **199** |
|
|
|
168
|
+
|
|
|
169
|
+### Active rules today (post rule-fix)
|
|
|
170
|
+
|
|
|
171
|
+| Rule | Description | Events | Note |
|
|
|
172
|
+|------|-------------|--------|------|
|
|
|
173
|
+| 110359 | A4-19 Windows auth failure (4625) general | 71 | Normal auth noise |
|
|
|
174
|
+| 110342 | A4-02 Service account auth failure (4625) | 50 | Service account brute-force pattern |
|
|
|
175
|
+| 110348 | A4-08 NTLM logon type 3 — pass-the-hash indicator | 46 | Previously masked by 110354 bug |
|
|
|
176
|
+| 110523 | C3-03 Admin account auth success — lateral movement candidate | 23 | Previously masked by 110354 bug |
|
|
|
177
|
+| 110522 | C3-02 SMB network logon type 3 | 8 | Previously masked by 110354 bug |
|
|
|
178
|
+| 110341 | A4-01 Privileged account auth failure | 1 | |
|
|
|
179
|
+| 110354 | A4-13 DSRM password set (4794) | 0 ✅ | Fixed — was false-positive firing on all AUDIT_SUCCESS |
|
|
|
180
|
+
|
|
|
181
|
+### Active log sources (today)
|
|
|
182
|
+
|
|
|
183
|
+| Source | Appendix | Status |
|
|
|
184
|
+|--------|----------|--------|
|
|
|
185
|
+| Windows Security Event Log (via Wazuh agent) | A4, C3 | ✅ Active — auth events (4624, 4625) ingesting across multiple agents |
|
|
|
186
|
+| FortiGate firewall/IPS syslog | A2 | ❌ No events today |
|
|
|
187
|
+| FortiGate VPN syslog | A3, C1 | ❌ Not forwarding |
|
|
|
188
|
+| DNS / soc-mvp decoder | A1 | ❌ No events today |
|
|
|
189
|
+| soc-integrator log-loss events | B2 | ❌ No events today |
|
|
|
190
|
+| VMware vCenter/ESXi syslog | B1 | ❌ Not forwarding |
|
|
|
191
|
+| Windows Sysmon (via Wazuh agent) | B3 | ❌ Not deployed |
|