|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+# Wazuh Rule Match Summary — SOC Proposal Appendices A / B / C
|
|
|
2
|
+
|
|
|
3
|
+**Query window:** 2026-03-14 → 2026-03-17
|
|
|
4
|
+**Total events matched across all SOC custom rules:** 252,262
|
|
|
5
|
+**Data source:** OpenSearch index `wazuh-alerts-*` (filter: `rule.groups: soc_prod*`)
|
|
|
6
|
+
|
|
|
7
|
+---
|
|
|
8
|
+
|
|
|
9
|
+## Appendix A — Threat Detection (FortiGate + Windows/AD)
|
|
|
10
|
+
|
|
|
11
|
+### A1 — DNS / Firewall IOC *(file: soc-a1-ioc-rules.xml)*
|
|
|
12
|
+
|
|
|
13
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
14
|
+|---------|----------|-------------|-------|--------|
|
|
|
15
|
+| 110301 | A1-01 | DNS query to malicious domain (IOC traffic indicator) | T1071.004 | **32** |
|
|
|
16
|
+| 110302 | A1-02 | DNS IOC domain match from threat intelligence feed | T1568 | **32** |
|
|
|
17
|
+
|
|
|
18
|
+---
|
|
|
19
|
+
|
|
|
20
|
+### A2 — FortiGate IPS/IDS & Firewall *(file: soc-a2-fortigate-fw-rules.xml)*
|
|
|
21
|
+
|
|
|
22
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
23
|
+|---------|----------|-------------|-------|--------|
|
|
|
24
|
+| 110311 | A2-01 | FortiGate: RDP (3389) traffic allowed | T1021.001 | 0 |
|
|
|
25
|
+| 110312 | A2-02 | FortiGate: admin account password changed | T1098 | **32** |
|
|
|
26
|
+| 110313 | A2-03 | FortiGate: new admin account created | T1136 | **32** |
|
|
|
27
|
+| 110314 | A2-04 | FortiGate: alerting/notification disabled via config change | T1562 | 0 |
|
|
|
28
|
+| 110315 | A2-05 | FortiGate: firewall configuration file downloaded | T1005 | **32** |
|
|
|
29
|
+| 110316 | A2-06 | FortiGate IPS: multiple critical signatures triggered | T1595 | 0 |
|
|
|
30
|
+| 110317 | A2-07 | FortiGate: TCP port scan from external IP | T1046 | 0 |
|
|
|
31
|
+| 110318 | A2-08 | FortiGate IPS: IOC-based IP indicator detected | T1071.001 | 0 |
|
|
|
32
|
+| 110319 | A2-09 | FortiGate: internal port scan from private source IP | T1046 | 0 |
|
|
|
33
|
+| 110320 | A2-10 | FortiGate: traffic to known C2/malicious IP allowed | T1071.001 | **32** |
|
|
|
34
|
+
|
|
|
35
|
+---
|
|
|
36
|
+
|
|
|
37
|
+### A3 — FortiGate VPN *(file: soc-a3-fortigate-vpn-rules.xml)*
|
|
|
38
|
+
|
|
|
39
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
40
|
+|---------|----------|-------------|-------|--------|
|
|
|
41
|
+| 110331 | A3-01 | VPN authentication success by guest account | T1078.001 | 0 |
|
|
|
42
|
+| 110332 | A3-02 | VPN success from different country than last login | T1078 | 0 |
|
|
|
43
|
+| 110333 | A3-03 | VPN success after multiple prior failures (brute-force indicator) | T1110.001 | 0 |
|
|
|
44
|
+| 110334 | A3-04 | VPN multiple account failures from single source IP | T1110.003 | 0 |
|
|
|
45
|
+| 110335 | A3-05 | VPN authentication success from outside Thailand | T1078 | 0 |
|
|
|
46
|
+
|
|
|
47
|
+> **Note:** A3 rules require FortiGate VPN syslogs (`if_group=fortigate`) with `action=ssl-login-*` events. No matching events in the query window suggests VPN logs are not yet being forwarded to Wazuh.
|
|
|
48
|
+
|
|
|
49
|
+---
|
|
|
50
|
+
|
|
|
51
|
+### A4 — Windows / Active Directory *(file: soc-a4-windows-ad-rules.xml)*
|
|
|
52
|
+
|
|
|
53
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
54
|
+|---------|----------|-------------|-------|--------|
|
|
|
55
|
+| 110341 | A4-01 | Windows: privileged account name auth failure (4625) | T1110.001 | **1** |
|
|
|
56
|
+| 110342 | A4-02 | Windows: service account auth failure (4625) | T1110.001 | **38** |
|
|
|
57
|
+| 110343 | A4-03 | Windows AD: adfind enumeration tool executed (4688) | T1087.002 | 0 |
|
|
|
58
|
+| 110346 | A4-06 | Windows: remote interactive auth success logon type 10 (4624) | T1021.001, T1078 | 0 |
|
|
|
59
|
+| 110348 | A4-08 | Windows: NTLM network logon type 3 — pass-the-hash indicator (4624) | T1550.002 | 0 |
|
|
|
60
|
+| 110349 | A4-09 | Windows: guest account auth success (4624) | T1078.001 | 0 |
|
|
|
61
|
+| 110350 | A4-10 | Windows: service account interactive logon type 2 (4624) | T1078.003 | 0 |
|
|
|
62
|
+| 110352 | A4-12 | Windows: account added to privileged domain group (4728) | T1098.007 | 0 |
|
|
|
63
|
+| 110353 | A4-11 | Windows: account added to privileged local group (4732) | T1098.007 | 0 |
|
|
|
64
|
+| 110354 | A4-13 | Windows DC: DSRM account password set (4794) | T1098 | **251,833** ⚠️ |
|
|
|
65
|
+| 110359 | A4-19 | Windows: authentication failure (4625) | T1110.003 | **54** |
|
|
|
66
|
+| 110361 | A4-21/23 | Windows: new user account created (4720) | T1136 | 0 |
|
|
|
67
|
+| 110362 | A4-22/24 | Windows: user account re-enabled (4722) | T1078 | 0 |
|
|
|
68
|
+
|
|
|
69
|
+> ⚠️ **Rule 110354** (DSRM password set / event 4794) accounts for 251,833 of all matched events — **99.8% of total volume**. The parent rule `60103` fires on Windows Event ID 4794. The extremely high count over 3 days warrants investigation: confirm whether these are genuine events or if the parent SID 60103 matches a broader event set than intended.
|
|
|
70
|
+
|
|
|
71
|
+> **Note:** A4-04, A4-05, A4-07, A4-14 through A4-18, A4-20 have no production rules implemented.
|
|
|
72
|
+
|
|
|
73
|
+---
|
|
|
74
|
+
|
|
|
75
|
+## Appendix B — Expanded Monitoring
|
|
|
76
|
+
|
|
|
77
|
+### B1 — VMware vCenter / ESXi *(file: soc-b1-vmware-rules.xml)*
|
|
|
78
|
+
|
|
|
79
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
80
|
+|---------|----------|-------------|-------|--------|
|
|
|
81
|
+| 110401 | B1-01 | vCenter: login failure detected (brute-force indicator) | T1110 | 0 |
|
|
|
82
|
+| 110402 | B1-02 | ESXi: SSH service enabled on host | T1021.004 | 0 |
|
|
|
83
|
+| 110403 | B1-03 | ESXi: SSH authentication event detected | T1021.004 | 0 |
|
|
|
84
|
+
|
|
|
85
|
+> **Note:** B1 rules require VMware syslog (`if_group=vmware`). No matching events suggests VMware logs are not yet forwarded.
|
|
|
86
|
+
|
|
|
87
|
+---
|
|
|
88
|
+
|
|
|
89
|
+### B2 — Log Monitoring *(file: soc-b2-logmon-rules.xml)*
|
|
|
90
|
+
|
|
|
91
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
92
|
+|---------|----------|-------------|-------|--------|
|
|
|
93
|
+| 110411 | B2-01 | Log Monitor: log ingestion loss detected on monitored stream | T1562.006 | **16** |
|
|
|
94
|
+
|
|
|
95
|
+---
|
|
|
96
|
+
|
|
|
97
|
+### B3 — Windows Sysmon *(file: soc-b3-sysmon-rules.xml)*
|
|
|
98
|
+
|
|
|
99
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
100
|
+|---------|----------|-------------|-------|--------|
|
|
|
101
|
+| 110421 | B3-01 | Sysmon: LSASS process access detected (event 10) | T1003.001 | 0 |
|
|
|
102
|
+| 110422 | B3-02 | Sysmon: SQL keyword in process command line (event 1) | T1190 | 0 |
|
|
|
103
|
+| 110423 | B3-03 | Sysmon: web script file created (possible webshell, event 11) | T1505.003 | 0 |
|
|
|
104
|
+| 110424 | B3-04 | Sysmon: msiexec uninstall detected (event 1) | T1562.001 | 0 |
|
|
|
105
|
+| 110425 | B3-05 | Sysmon: LSASS dump via Task Manager (event 10) | T1003.001 | 0 |
|
|
|
106
|
+| 110426 | B3-06 | Sysmon: certutil.exe execution detected (event 1) | T1105 | 0 |
|
|
|
107
|
+
|
|
|
108
|
+> **Note:** B3 rules require Windows Sysmon agent installed on endpoints and event forwarding via Wazuh agent. No matching events suggests Sysmon is not yet deployed.
|
|
|
109
|
+
|
|
|
110
|
+---
|
|
|
111
|
+
|
|
|
112
|
+## Appendix C — Advanced Detection (Correlation)
|
|
|
113
|
+
|
|
|
114
|
+### C1 — Impossible Travel *(file: soc-c1-c3-rules.xml)*
|
|
|
115
|
+
|
|
|
116
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
117
|
+|---------|----------|-------------|-------|--------|
|
|
|
118
|
+| 110501 | C1-01 | VPN login success with geo context — impossible travel candidate | T1078 | **97** |
|
|
|
119
|
+| 110502 | C1-01 | Impossible travel confirmed by soc-integrator correlation | T1078 | **31** |
|
|
|
120
|
+
|
|
|
121
|
+> Rule 110501 collects VPN login candidates; 110502 fires when soc-integrator confirms the impossible travel pattern. 31 confirmed impossible travel events were generated over the window.
|
|
|
122
|
+
|
|
|
123
|
+---
|
|
|
124
|
+
|
|
|
125
|
+### C2 — Advanced Credential Abuse & Privilege Misuse *(file: soc-c1-c3-rules.xml)*
|
|
|
126
|
+
|
|
|
127
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
128
|
+|---------|----------|-------------|-------|--------|
|
|
|
129
|
+| 110511 | C2-01 | Privileged account auth success (4624) | T1078.002 | 0 |
|
|
|
130
|
+| 110512 | C2-02 | Dormant/legacy account auth success (4624) | T1078 | 0 |
|
|
|
131
|
+| 110513 | C2-03 | Service account remote interactive logon type 10 (4624) | T1078.003 | 0 |
|
|
|
132
|
+| 110514 | C2-04 | Privilege escalation: group membership change (4732) | T1098.007 | 0 |
|
|
|
133
|
+
|
|
|
134
|
+---
|
|
|
135
|
+
|
|
|
136
|
+### C3 — Lateral Movement & Internal Reconnaissance *(file: soc-c1-c3-rules.xml)*
|
|
|
137
|
+
|
|
|
138
|
+| Rule ID | Use Case | Description | MITRE | Events |
|
|
|
139
|
+|---------|----------|-------------|-------|--------|
|
|
|
140
|
+| 110521 | C3-01/02 | RDP auth success logon type 10 (lateral movement indicator) | T1021.001, T1078 | 0 |
|
|
|
141
|
+| 110522 | C3-02 | SMB network logon type 3 (lateral movement indicator) | T1021.002, T1078 | 0 |
|
|
|
142
|
+| 110523 | C3-03 | Admin account auth success — lateral movement candidate (4624) | T1021.001, T1078.002 | 0 |
|
|
|
143
|
+
|
|
|
144
|
+> **Note:** C3-04 (WFP event 5156) has no production rule implemented — skipped to avoid rule-tree explosion from a generic Windows parent.
|
|
|
145
|
+
|
|
|
146
|
+---
|
|
|
147
|
+
|
|
|
148
|
+## Summary
|
|
|
149
|
+
|
|
|
150
|
+| Appendix | Section | Rules Implemented | Rules with Events | Total Events |
|
|
|
151
|
+|----------|---------|:-----------------:|:-----------------:|:------------:|
|
|
|
152
|
+| A | A1 — DNS/IOC | 2 | 2 | 64 |
|
|
|
153
|
+| A | A2 — FortiGate FW/IPS | 10 | 4 | 128 |
|
|
|
154
|
+| A | A3 — FortiGate VPN | 5 | 0 | 0 |
|
|
|
155
|
+| A | A4 — Windows/AD | 13 | 4 | 251,926 |
|
|
|
156
|
+| B | B1 — VMware | 3 | 0 | 0 |
|
|
|
157
|
+| B | B2 — Log Monitor | 1 | 1 | 16 |
|
|
|
158
|
+| B | B3 — Sysmon | 6 | 0 | 0 |
|
|
|
159
|
+| C | C1 — Impossible Travel | 2 | 2 | 128 |
|
|
|
160
|
+| C | C2 — Credential Abuse | 4 | 0 | 0 |
|
|
|
161
|
+| C | C3 — Lateral Movement | 3 | 0 | 0 |
|
|
|
162
|
+| **Total** | | **49** | **13** | **252,262** |
|
|
|
163
|
+
|
|
|
164
|
+### Active log sources
|
|
|
165
|
+
|
|
|
166
|
+| Source | Appendix | Status |
|
|
|
167
|
+|--------|----------|--------|
|
|
|
168
|
+| DNS / soc-mvp decoder | A1 | ✅ Receiving events |
|
|
|
169
|
+| FortiGate firewall syslog | A2 | ✅ Receiving events |
|
|
|
170
|
+| FortiGate VPN syslog | A3, C1 | ⚠️ C1 active; A3 no events (VPN action types not seen) |
|
|
|
171
|
+| Windows Security Event Log (via Wazuh agent) | A4, C2, C3 | ✅ Partial — auth failures and DSRM events seen |
|
|
|
172
|
+| VMware vCenter/ESXi syslog | B1 | ❌ Not forwarding |
|
|
|
173
|
+| soc-integrator log-loss events | B2 | ✅ Receiving events |
|
|
|
174
|
+| Windows Sysmon (via Wazuh agent) | B3 | ❌ Not deployed |
|