Nav apraksta

soc-a4-windows-ad-rules.xml 8.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <!--
  2. SOC Proposal Rules — Appendix A4: Windows / Active Directory
  3. Simulation profile rule IDs : 100341-100364
  4. Production profile rule IDs : 110341-110364
  5. Production rules use specific built-in Wazuh rule SIDs as parents
  6. to avoid the N×M rule-tree explosion from if_group=windows:
  7. 60105/60122 → event 4625 (auth failure)
  8. 60106 → event 4624 (auth success / logon)
  9. 60109 → events 4720/4722 (account create/enable)
  10. 60113 → events 4728/4732 (group membership change)
  11. 67027 → event 4688 (new process created)
  12. 60103 → event 4794 (DSRM password set) — must add eventID=4794 constraint!
  13. 67017 → event 5140 (network share access, non-IPC$)
  14. 60103 → event 4771 (Kerberos pre-auth failure) — constrained with eventID field
  15. Real event volumes observed (2026-03-20):
  16. 4624: 209K | 4625: 1.5K | 4688: 138K | 5140: 26K | 4776: 25K
  17. 4771: 281 | 4648: 6K | 4740: 7
  18. -->
  19. <group name="soc_mvp,appendix_a,a4,windows,">
  20. <!-- ── Simulation profile ── -->
  21. <!-- ── Production profile ──
  22. Parents are specific built-in Wazuh SIDs (not if_group=windows) to
  23. avoid N×M rule-tree explosion. Each parent fires for one event ID.
  24. -->
  25. <!-- A4-01/02/19: Auth failures (event 4625)
  26. Parent: 60105 (4625 base), 60122 (4625 variant) -->
  27. <rule id="110341" level="8">
  28. <if_sid>60105, 60122</if_sid>
  29. <field name="win.eventdata.targetUserName" type="pcre2">(?i)admin</field>
  30. <description>A4-01 [PROD] Windows: privileged account name auth failure (4625)</description>
  31. <group>soc_prod,a4,auth_fail,</group>
  32. <mitre><id>T1110.001</id></mitre>
  33. </rule>
  34. <rule id="110342" level="8">
  35. <if_sid>60105, 60122</if_sid>
  36. <field name="win.eventdata.targetUserName" type="pcre2">(?i)svc|service|\$$</field>
  37. <description>A4-02 [PROD] Windows: service account auth failure (4625)</description>
  38. <group>soc_prod,a4,auth_fail,</group>
  39. <mitre><id>T1110.001</id></mitre>
  40. </rule>
  41. <rule id="110359" level="5">
  42. <if_sid>60105, 60122</if_sid>
  43. <description>A4-19 [PROD] Windows: authentication failure (4625)</description>
  44. <group>soc_prod,a4,spray,</group>
  45. <mitre><id>T1110.003</id></mitre>
  46. </rule>
  47. <!-- A4-03: AD enumeration via process execution (event 4688)
  48. Parent: 67027 (new process created) -->
  49. <rule id="110343" level="8">
  50. <if_sid>67027</if_sid>
  51. <field name="win.eventdata.newProcessName" type="pcre2">(?i)adfind\.exe</field>
  52. <description>A4-03 [PROD] Windows AD: adfind enumeration tool executed (4688)</description>
  53. <group>soc_prod,a4,ad_enum,</group>
  54. <mitre><id>T1087.002</id></mitre>
  55. </rule>
  56. <!-- A4-06/07/08/09/10: Auth successes (event 4624)
  57. Parent: 60106 (logon success) -->
  58. <rule id="110346" level="12">
  59. <if_sid>60106</if_sid>
  60. <field name="win.eventdata.logonType">^10$</field>
  61. <description>A4-06 [PROD] Windows: remote interactive auth success logon type 10 (4624)</description>
  62. <group>soc_prod,a4,auth_success,remote,</group>
  63. <mitre><id>T1021.001</id></mitre>
  64. <mitre><id>T1078</id></mitre>
  65. </rule>
  66. <rule id="110348" level="12">
  67. <if_sid>60106</if_sid>
  68. <field name="win.eventdata.authenticationPackageName">NTLM</field>
  69. <field name="win.eventdata.logonType">^3$</field>
  70. <description>A4-08 [PROD] Windows: NTLM network logon type 3 — pass-the-hash indicator (4624)</description>
  71. <group>soc_prod,a4,pth,</group>
  72. <mitre><id>T1550.002</id></mitre>
  73. </rule>
  74. <rule id="110349" level="12">
  75. <if_sid>60106</if_sid>
  76. <field name="win.eventdata.targetUserName" type="pcre2">(?i)^guest$</field>
  77. <description>A4-09 [PROD] Windows: guest account auth success (4624)</description>
  78. <group>soc_prod,a4,auth_success,guest,</group>
  79. <mitre><id>T1078.001</id></mitre>
  80. </rule>
  81. <rule id="110350" level="12">
  82. <if_sid>60106</if_sid>
  83. <field name="win.eventdata.logonType">^2$</field>
  84. <field name="win.eventdata.targetUserName" type="pcre2">(?i)svc|service|\$$</field>
  85. <description>A4-10 [PROD] Windows: service account interactive logon type 2 (4624)</description>
  86. <group>soc_prod,a4,service_account,</group>
  87. <mitre><id>T1078.003</id></mitre>
  88. </rule>
  89. <!-- A4-11/12: Group membership changes (events 4728/4732)
  90. Parent: 60113 (member added to security-enabled group) -->
  91. <rule id="110352" level="12">
  92. <if_sid>60113</if_sid>
  93. <field name="win.system.eventID">^4728$</field>
  94. <description>A4-12 [PROD] Windows: account added to privileged domain group (4728)</description>
  95. <group>soc_prod,a4,privilege_escalation,</group>
  96. <mitre><id>T1098.007</id></mitre>
  97. </rule>
  98. <rule id="110353" level="12">
  99. <if_sid>60113</if_sid>
  100. <field name="win.system.eventID">^4732$</field>
  101. <description>A4-11 [PROD] Windows: account added to privileged local group (4732)</description>
  102. <group>soc_prod,a4,privilege_escalation,</group>
  103. <mitre><id>T1098.007</id></mitre>
  104. </rule>
  105. <!-- A4-13: DSRM password set (event 4794)
  106. Parent: 60103 (Windows audit success event — must constrain to eventID 4794) -->
  107. <rule id="110354" level="12">
  108. <if_sid>60103</if_sid>
  109. <field name="win.system.eventID">^4794$</field>
  110. <description>A4-13 [PROD] Windows DC: DSRM account password set (4794)</description>
  111. <group>soc_prod,a4,persistence,</group>
  112. <mitre><id>T1098</id></mitre>
  113. </rule>
  114. <!-- A4-21/22/23/24: Account lifecycle (events 4720/4722)
  115. Parent: 60109 (account created/enabled) -->
  116. <rule id="110361" level="5">
  117. <if_sid>60109</if_sid>
  118. <field name="win.system.eventID">^4720$</field>
  119. <description>A4-21/23 [PROD] Windows: new user account created (4720)</description>
  120. <group>soc_prod,a4,account_create,</group>
  121. <mitre><id>T1136</id></mitre>
  122. </rule>
  123. <rule id="110362" level="5">
  124. <if_sid>60109</if_sid>
  125. <field name="win.system.eventID">^4722$</field>
  126. <description>A4-22/24 [PROD] Windows: user account re-enabled (4722)</description>
  127. <group>soc_prod,a4,account_lifecycle,</group>
  128. <mitre><id>T1078</id></mitre>
  129. </rule>
  130. <!-- A4-05: Network share access (file share enumeration / lateral movement)
  131. Event 5140 — A network share object was accessed
  132. Parent: 67017 (WEF baseline: network share accessed, non-IPC$/NetLogon)
  133. Real data: 26,202 events/day observed; admin shares (D$, C$, ADMIN$) accessed by
  134. both machine accounts ($) and user accounts — alert on user accounts accessing admin shares.
  135. Excludes machine accounts (ending in $) to reduce service/replication noise. -->
  136. <rule id="110355" level="8">
  137. <if_sid>67017</if_sid>
  138. <field name="win.eventdata.shareName" type="pcre2">(?i)\\\\[A-Z]\$|\\\\ADMIN\$|\\\\C\$|\\\\D\$|\\\\E\$</field>
  139. <field name="win.eventdata.subjectUserName" negate="yes" type="pcre2">\$$</field>
  140. <description>A4-05 [PROD] Windows: user account accessing admin share (5140) — lateral movement indicator</description>
  141. <group>soc_prod,a4,lateral_movement,share,</group>
  142. <mitre><id>T1021.002</id></mitre>
  143. </rule>
  144. <!-- A4 (supplemental): Kerberos pre-authentication failure (event 4771)
  145. Event 4771 — Kerberos pre-authentication failed (similar to 4625 but Kerberos-specific)
  146. Parent: 60103 (Windows audit success — constrained to eventID 4771)
  147. Real data: 281 events observed; status=0x18 = bad password
  148. Note: Wazuh has no dedicated built-in parent for 4771 in the base ruleset. -->
  149. <rule id="110356" level="5">
  150. <if_sid>60103</if_sid>
  151. <field name="win.system.eventID">^4771$</field>
  152. <description>A4-supplemental [PROD] Windows: Kerberos pre-authentication failure (4771)</description>
  153. <group>soc_prod,a4,auth_fail,kerberos,</group>
  154. <mitre><id>T1110.001</id></mitre>
  155. </rule>
  156. <!-- A4 (supplemental): Account lockout (event 4740)
  157. Parent: 60103 (Windows audit events — constrained to eventID 4740)
  158. Real data: 7 events observed — indicates repeated auth failures triggering lockout policy -->
  159. <rule id="110357" level="8">
  160. <if_sid>60103</if_sid>
  161. <field name="win.system.eventID">^4740$</field>
  162. <description>A4-supplemental [PROD] Windows: user account locked out (4740)</description>
  163. <group>soc_prod,a4,auth_fail,lockout,</group>
  164. <mitre><id>T1110.001</id></mitre>
  165. </rule>
  166. </group>