An attacker who creates, changes or quietly re-enables a domain account gains persistence that survives malware clean-up, and most of those changes are recorded by the domain controller long before anyone looks. MITRE D3FEND names this countermeasure Domain Account Monitoring (D3-DAM) and defines it as "Monitoring the existence of or changes to Domain User Accounts." It sits under the Detect tactic as a child of User Behavior Analysis. This card covers what D3-DAM watches, which ATT&CK techniques D3FEND relates it to, the Windows and cloud directory events that implement it, how to prove the detections fire and where they fall short. It is written for detection engineers and identity security teams; the wider event catalogue is in the Active Directory Security Monitoring and Event IDs Guide, which this card does not repeat.
Key takeaways
- It is change detection on accounts. D3-DAM watches the lifecycle of domain user accounts: creation, enablement, attribute changes, group membership, password resets and deletion, rather than how the account is used to log on.
- D3FEND relates it to four technique families. Through the Domain User Account artefact, D3FEND infers links to Valid Accounts: Domain Accounts (T1078.002), Account Discovery: Domain Account (T1087.002), Create Account: Domain Account (T1136.002) and Account Manipulation: Additional Email Delegate Permissions (T1098.002).
- The audit policy is the control. On Windows, the Audit User Account Management and Audit Security Group Management subcategories produce events 4720, 4738, 4728 and related IDs; if they are not enabled on every domain controller, the countermeasure does not exist.
- Service accounts deserve the tightest rules. Non-human domain accounts rarely change legitimately, so any password reset, delegation change or group addition on them is a high-value alert.
- Verify with synthetic changes. A scheduled create, modify and delete of a test account proves the audit policy, log forwarding and SIEM rules all work end to end.
D3-DAM at a glance
| Attribute | Value |
|---|---|
| D3FEND ID | D3-DAM (d3f:DomainAccountMonitoring) |
| Tactic | Detect |
| Parent technique | User Behavior Analysis |
| Digital artefact | Domain User Account (D3FEND relation: monitors) |
| Sibling technique | Local Account Monitoring (D3-LAM), the same idea for accounts on a single host |
| D3FEND reference | Microsoft: Audit User Account Management |
| Related ATT&CK mitigations in D3FEND | M1026 Privileged Account Management, M1047 Audit |
| Typical data sources | Domain controller Security log, directory audit logs for cloud identity providers, identity threat detection sensors |
| Main limitation | Sees changes made through the directory; does not see use of an existing account with stolen credentials unless combined with logon analytics |
What D3-DAM watches
D3FEND gives no extended description for D3-DAM beyond its definition and the Microsoft audit reference, so the practical scope comes from that reference. Monitoring the "existence of or changes to" domain accounts breaks into five event groups.
- Existence: accounts created (4720), deleted (4726), enabled (4722) and disabled (4725). A new account outside the provisioning process, or a dormant account re-enabled, is the classic persistence signal.
- Attribute changes: event 4738 "A user account was changed" lists changed attributes, including User Principal Name, Script Path, Password Last Set, Primary Group ID, AllowedToDelegateTo, SID History and the User Account Control flags.
- Credentials: password change attempts (4723) and resets (4724). A reset by a help desk account on a privileged or service account is worth an alert on its own.
- Group membership: members added to security-enabled global groups (4728) and universal groups (4756), with local group changes on domain controllers (4732) covering built-in groups such as Administrators.
- Sensitive state: SID History added (4765) or failed (4766), account name changed (4781), and the Directory Services Restore Mode password set attempt (4794).
Where identity fits
Domain service accounts are non-human identities with long-lived passwords, broad rights and no owner who would notice a change. Microsoft's own monitoring guidance for event 4738 singles out domain administrator and service accounts as the critical accounts whose changes should be watched by name. Build a watch list from your service account inventory, as described in the M1026 Privileged Account Management guide, and treat any change to those accounts as an incident until the change ticket is found.
ATT&CK techniques D3FEND relates to D3-DAM
Relationship type: inferred only. D3FEND lists no hand-made ATT&CK mapping for D3-DAM. Every row below is inferred through the shared Domain User Account artefact and labelled "inferred and experimental" on the D3FEND site (D3FEND 1.6.0, checked November 2026). Each ID was checked against ATT&CK v20.
| ATT&CK ID | Technique | D3FEND artefact relation | What D3-DAM can see |
|---|---|---|---|
| T1136.002 | Create Account: Domain Account | Technique creates Domain User Account | Event 4720 for an account not created by the provisioning system or approved administrators |
| T1078.002 | Valid Accounts: Domain Accounts | Technique uses Domain User Account | Preparatory changes such as a dormant account enabled (4722), a password reset (4724) or a flag change in 4738; the logon itself needs logon analytics |
| T1098.002 | Account Manipulation: Additional Email Delegate Permissions | Technique modifies Domain User Account | Directory-side changes to the account; the mailbox permission itself is logged by the mail platform, not by the domain controller |
| T1087.002 | Account Discovery: Domain Account | Technique enumerates Domain User Account | Little: enumeration reads accounts without changing them, so change auditing does not record it (see Limits) |
Read the table as a coverage guide. D3-DAM is strong against creation and manipulation, partial against valid account abuse and weak against discovery. Defensive detail for each technique is in the MITRE ATT&CK T1136 Create Account Guide, the MITRE ATT&CK T1098 Account Manipulation Guide, the MITRE ATT&CK T1078 Valid Accounts Guide and the T1087 and T1069 Account and Permission Group Discovery Defensive Guide. A closely related technique, Additional Local or Domain Groups (T1098.007), is not in D3FEND's inferred list, but group membership events 4728 and 4756 are the main way to see it.
Where it is implemented
| Implementation class | Signal | Notes |
|---|---|---|
| Windows advanced audit policy on domain controllers | Audit User Account Management (4720, 4722 to 4726, 4738, 4740, 4765, 4767, 4781, 4794) and Audit Security Group Management (4727 to 4730, 4737, 4754 to 4758) | Microsoft recommends Success and Failure for User Account Management on domain controllers, and Success only for Security Group Management, which has no Failure events |
| SIEM correlation | Forwarded DC Security log events, joined with HR and provisioning data | Where most custom rules live: watch lists, out-of-hours changes, changes by unexpected actors |
| Cloud identity provider audit logs | For Microsoft Entra ID, activities such as "Add user", "Update user", "Delete user", "Add member to group" and "Add member to role" | Microsoft notes that activity names change over time, so confirm them against your own audit log before writing rules |
| Identity threat detection and response (ITDR) tooling | Directory replication or DC sensors that record object changes | Captures changes that do not produce a clear 4738, such as some attribute and ACL changes |
| Directory change tracking | Object metadata and attribute-level directory service change auditing | Fills gaps where the account management events do not say which attribute changed |
Detection rules worth building first
Microsoft's event 4738 guidance lists specific values that should be treated as suspicious. They make a good first rule set because they are rarely legitimate.
| Condition | Event | Why it matters |
|---|---|---|
| "Don't Require Preauth" enabled | 4738 | Makes the account vulnerable to AS-REP roasting; see the Kerberoasting and AS-REP Roasting Defence Guide |
| "Password Not Required" or "Encrypted Text Password Allowed" enabled | 4738 | Weakens the credential; Microsoft flags both as suspicious |
| SID History not "-" | 4738, 4765 | Should only occur during a planned domain migration |
| AllowedToDelegateTo set or delegation flags changed | 4738 | Delegation changes can grant impersonation paths |
| Primary Group ID not 513 | 4738 | 513 is the usual value for users; a change can hide group membership |
| Member added to a privileged group | 4728, 4732, 4756 | Fast route to domain privilege |
| Account created by an actor other than the provisioning service | 4720 | Covers T1136.002 directly |
| Disabled or dormant account re-enabled | 4722 | Reusing dormant accounts avoids new-account alerts |
Which groups count as privileged is your decision; start with the built-in administrative groups and any group with rights over domain controllers, then add the groups that the BloodHound and Active Directory Attack Path Guide shows as stepping stones in your own directory.
Implementation steps
- Set the audit policy. Enable Audit User Account Management (Success and Failure) and Audit Security Group Management (Success) through advanced audit policy on the Domain Controllers organisational unit. Confirm with auditpol on each domain controller.
- Forward and retain. Send the DC Security log to the SIEM from every domain controller, including read-only DCs and DCs in small sites. Check the log size so that events are not overwritten before collection.
- Build watch lists. Tier 0 accounts, privileged groups, service accounts and break-glass accounts. Keep them generated from the directory and the service account register, not hand-maintained.
- Write rules in audit mode. Run the rules above as reports for two to four weeks. Record the legitimate sources of change: the provisioning system, the help desk, migration tooling.
- Promote to alerts. Turn the low-noise rules into alerts, suppress only by named actor and change ticket, never by blanket account exclusions.
- Add the cloud side. Collect identity provider audit logs and mirror the high-value rules for cloud role and group changes.
- Roll back safely. If a rule floods the queue, return it to report mode rather than deleting it, and keep the audit policy on: the events are needed for investigations even when no rule uses them.
How to verify it works
- Synthetic lifecycle test: monthly, from an approved test account, create a test user, change one watched attribute, add it to a monitored test group, then delete it. Confirm events 4720, 4738, 4728 and 4726 arrive in the SIEM and the matching alerts fire.
- Per-DC coverage check: confirm every domain controller has sent account management events in the last period. A DC that never reports is a blind spot, since a change is logged on the DC that processed it.
- Policy drift check: compare effective audit policy on each DC with the baseline after every Group Policy change.
- Exercise test: in authorised adversary emulation, record whether account creation and group additions were detected and how quickly.
| Metric | Example target (NHI Mgmt Group suggestion, not a standard) |
|---|---|
| Domain controllers reporting account management events | 100% |
| Monthly synthetic lifecycle test passing | Every month |
| Privileged group additions matched to a change ticket | 100% within one business day |
| Service account changes reviewed | Every change, same day |
| Time from 4720 or 4728 on a watched object to analyst acknowledgement | Under 30 minutes |
Limits, bypasses and failure patterns
- Discovery is invisible to change auditing: account enumeration through LDAP reads produces no account management event. Pair D3-DAM with LDAP query monitoring or decoy accounts; see Decoy accounts in Active Directory.
- Some changes produce no useful 4738: Microsoft states that some changes do not generate the event, and that changes to unlisted attributes, such as a DACL change, can produce a 4738 with every attribute shown as "-". ACL abuse needs directory service change auditing; see the Active Directory ACL and Delegation Hygiene Guide.
- Replication-based changes: techniques that write directly through replication, rather than through normal administration interfaces, may not produce the expected account management events. Detection then depends on replication monitoring, covered in the Golden Ticket, Silver Ticket and DCSync Guide.
- Noise from provisioning: rules that alert on every 4738 drown in password expiry and HR sync changes. Filter by actor and by watched attribute.
- Log tampering: an attacker with domain admin rights can change audit policy or clear logs. Alert on audit policy changes and on DCs that stop reporting.
- Cloud-only blind spots: accounts and roles created directly in the cloud identity provider never touch a domain controller.
Framework mapping
| Framework | Reference | Relevance |
|---|---|---|
| NIST SP 800-53 Rev 5 | AC-2 Account Management, AC-2(4) Automated Audit Actions | Automatic auditing of account creation, modification, enabling, disabling and removal |
| NIST SP 800-53 Rev 5 | AU-12 Audit Record Generation, AU-6 Audit Record Review, Analysis, and Reporting, SI-4 System Monitoring | Generating, reviewing and alerting on the events |
| NIST CSF 2.0 | DE.CM-03, DE.AE-02 | Monitoring personnel activity and technology usage; analysing adverse events |
| CIS Controls v8.1 | Control 5 Account Management, Control 8 Audit Log Management | Account inventory and the logs that monitor it |
| ISO/IEC 27001:2022 Annex A | A.5.18 Access rights, A.8.15 Logging, A.8.16 Monitoring activities | Access right changes and their monitoring |
| MITRE ATT&CK mitigations | M1026 Privileged Account Management, M1047 Audit | Mitigations D3FEND relates to D3-DAM; see M1047 Audit |
Practitioner checklist
- Enable Audit User Account Management (Success and Failure) and Audit Security Group Management (Success) on every domain controller.
- Forward the Security log from every DC and alert when a DC goes silent.
- Keep generated watch lists for Tier 0, privileged groups, service accounts and break-glass accounts.
- Alert on the 4738 flag changes Microsoft lists as suspicious, starting with "Don't Require Preauth" and SID History.
- Match every privileged group addition to a change ticket.
- Collect cloud identity provider audit logs and mirror the high-value rules there.
- Run a monthly synthetic account lifecycle test and record the result.
- Pair D3-DAM with logon analytics and discovery detection, since it does not see either.
Standards and references
- MITRE D3FEND: Domain Account Monitoring (D3-DAM)
- Microsoft Learn: Audit User Account Management
- Microsoft Learn: Audit Security Group Management
- Microsoft Learn: Event 4738, a user account was changed
- Microsoft Learn: Microsoft Entra audit log activities
- MITRE ATT&CK: T1136.002 Create Account: Domain Account
- NIST: SP 800-53 Rev. 5 Security and Privacy Controls (AC-2)
Related NHI Mgmt Group resources: Active Directory Security Monitoring and Event IDs Guide · MITRE ATT&CK T1136 Create Account Guide · M1026 Privileged Account Management · D3-DUC Decoy User Credential · MITRE D3FEND Guide