Active Directory FundamentalsActive Directory Policies

SIEM alert rules for AD exploitation attempts

SIEM Alert Rules for Active Directory Exploitation Attempts

SIEM Alert Rules for Active Directory Exploitation Attempts

If you’re monitoring Active Directory with a SIEM, your job isn’t “collect all the logs” — it’s to turn identity telemetry into high-signal alerts that catch exploitation early, stay resilient to evasion, and don’t drown you in noise.

This guide focuses on rule logic, required data sources, tuning strategies, and test ideas for the most common AD exploitation paths.

Windows Security Events Directory Service Changes Kerberos/NTLM Privileged Group Abuse Replication Abuse GPO Tampering

1) Detection mindset: “Exploit chain” rules vs. single events

The fastest way to build a noisy SIEM is to alert on every “security event ID of interest.” The fastest way to build a useful SIEM is to alert on attack behavior: rare sequences, impossible combinations, or privilege transitions that should not happen.

Prefer these alert shapes

  • Multi-event correlation: “Directory replication permission used” + “unusual host” + “non-DC account”.
  • Rate-based anomaly: “>N service tickets requested in M minutes” (Kerberoast-style patterns).
  • Invariant violations: “Non-admin workstation performing domain admin activity”.
  • Change monitoring: “Sensitive attribute changed” (delegation flags, key credentials, RBCD).
Reminder: A large chunk of AD detection comes from understanding authentication flows. If you need a refresher on the protocol-level mechanics behind your alerts, link readers to NTLM vs. Kerberos and the broader authentication/authorization explanation.

2) Data sources you actually need

You can build a strong AD exploitation rule set with a “core four” data collection strategy:

Source Why it matters Key event families
Domain Controller Security log Authentication, ticketing, logons, account changes, privilege assignment 4624/4625, 4672, 4688, 4720–4767, 4768/4769/4771/4776
Directory Service changes (DC logs) Detect “object/attribute tampering” (delegation, RBCD, shadow creds, ACL changes) 5136/5137/5138/5139 (with useful attribute details)
LDAP/ADWS/Network telemetry (optional but powerful) Correlate odd client behavior, DC service access, lateral movement pivots Netflow, DNS, firewall logs, endpoint network events
Endpoint telemetry (EDR/Sysmon) Catch tooling: secretsdump, procdump, rundll32 comsvcs, GPO abuse staging Process creation, LSASS access, file access, scripting activity
If you’re instrumenting around Microsoft Defender for Identity (MDI), you can guide readers to Event collection with Microsoft Defender for Identity so they enable the right audit categories and don’t build “rules that can never fire.”

3) High-signal SIEM rule packs (with logic + tuning)

Below are rule packs that map cleanly to exploitation attempts. Each entry includes: what to detect, data prerequisites, and tuning guidance.

Rule Pack A — Replication abuse (DCSync / replication-permission misuse)

Why it matters: Replication permissions let attackers pull password material (or equivalent secrets) at scale. It’s one of the highest impact AD exploitation moves.

  • Detect: Directory replication permissions being exercised by non-DC principals, especially from non-DC hosts.
  • Signals: Object access / directory service access events (commonly 4662 with replication-related GUIDs) plus host/account context.
  • Tune: Allowlist legitimate sync services (Azure AD Connect/Entra Connect, identity governance tools, backup products), and restrict by host.
// Pseudocode / SIEM-agnostic logic
WHEN event_id IN (4662)
AND operation IN ("Directory Replication")
AND subject_user NOT IN allowlisted_replication_accounts
AND source_host NOT IN domain_controllers
THEN ALERT "Possible DCSync / replication abuse"
Context link idea: If you want to reference “how AD got here” and why replication is powerful, link to Active Directory 25-year evolution.

Rule Pack B — Kerberos abuse (Kerberoasting, AS-REP roasting, ticket anomalies)

Detect: ticket request patterns that look like password cracking preparation or forged-ticket activity.

B1) Kerberoasting-style spikes (service ticket request bursts)

  • Signals: 4769 (service ticket requests) aggregated by user + source host.
  • Logic: “Many distinct SPNs requested in a short window” or “unusual encryption types” depending on your environment.
  • Tune: Exclude known service management accounts, vulnerability scanners, monitoring tooling, and jump boxes used by admins.
// Example aggregation logic
WINDOW 10m
COUNT_DISTINCT(service_name/SPN) BY requester_user, source_host
IF count > 30
AND requester_user NOT IN allowlisted_accounts
THEN ALERT "Possible Kerberoasting behavior"

B2) Suspicious TGT/TGS characteristics (possible Golden Ticket / ticket forgery signals)

  • Signals: 4768/4769 plus fields for ticket lifetime, client address, and service name (field availability varies by ingestion/parser).
  • Logic: “Impossible lifetime”, “TGT used from an unexpected host”, “privileged user authenticating without expected preconditions”.
  • Tune: Focus on protected accounts, Tier-0 users, and admin workstations first.
// Pseudocode
WHEN kerberos_ticket_event IN (4768,4769)
AND (ticket_lifetime > baseline_max OR source_host_is_unseen_for_user = true)
AND user IN tier0_or_privileged_scope
THEN ALERT "Kerberos ticket anomaly - investigate for forgery"
Kerberos alerts are much easier to explain (and tune) if your readers understand the protocol mechanics. Consider linking directly here: NTLM and Kerberos Authentication Protocols Explained.

Rule Pack C — NTLM & lateral movement (Pass-the-Hash style patterns)

Detect: NTLM network logons that violate your expected admin operating model.

  • Signals: 4624 (LogonType 3), 4776 (NTLM auth), plus workstation/user relationships.
  • Logic: “Privileged account authenticating via NTLM from a non-admin workstation” or “sudden NTLM auth across many hosts.”
  • Tune: Allowlist legacy apps if needed, but treat privileged accounts as “no-exception” where possible.
// Pseudocode
WHEN event_id = 4624
AND logon_type = 3
AND auth_package = "NTLM"
AND user IN privileged_scope
AND source_host NOT IN admin_workstations
THEN ALERT "Privileged NTLM network logon from non-admin host (PtH risk)"

Rule Pack D — Privileged group abuse (fastest “you lose” moves)

Detect: membership changes in Tier-0 / privileged groups and suspicious privilege assignment.

  • Signals: group membership changes (commonly 4728/4729/4732/4733/4756/4757), special privileges (4672), account enablement/reset events depending on policy.
  • Logic: “User added to Domain Admins (or equivalent) outside approved change window” + “initiator not in admin workflow.”
  • Tune: Integrate with your change ticketing system, or at least maintain an allowlist of expected admin operators and jump hosts.
// Pseudocode
WHEN event_id IN (4728,4732,4756)   // add to privileged group
AND target_group IN ("Domain Admins","Enterprise Admins","Schema Admins","Administrators","Account Operators")
AND initiator_user NOT IN approved_admin_operators
THEN ALERT "Privileged group membership change (unexpected initiator)"
High priority response: Treat unexpected privileged group changes as “contain first, investigate second.” If this is real, the attacker is already in your blast radius.

Rule Pack E — Directory attribute tampering (delegation, RBCD, shadow credentials)

Detect: the “quiet” AD object changes that enable stealthy persistence and lateral movement. This is where Directory Service change logs (often 5136) pay for themselves.

E1) Resource-Based Constrained Delegation (RBCD) changes

  • Detect: changes to msDS-AllowedToActOnBehalfOfOtherIdentity on computer/service objects.
  • Signals: 5136 with attribute name + new value details (parser-dependent).
  • Tune: Focus on Tier-0 servers (DCs, identity servers) and high-value application servers.
// Pseudocode
WHEN event_id = 5136
AND attribute_name = "msDS-AllowedToActOnBehalfOfOtherIdentity"
AND target_object_type IN ("computer","user","serviceAccount")
AND (target_is_tier0 = true OR initiator_is_unusual = true)
THEN ALERT "RBCD attribute modified - possible delegation abuse"

E2) Shadow Credentials (key credential link modifications)

  • Detect: changes to msDS-KeyCredentialLink for users/computers (commonly used to add attacker-controlled keys).
  • Signals: 5136 attribute changes; correlate with subsequent logons/ticketing.
  • Tune: Make this high priority for privileged users and service accounts.
// Pseudocode
WHEN event_id = 5136
AND attribute_name = "msDS-KeyCredentialLink"
AND target_user IN privileged_scope
THEN ALERT "Shadow credentials attempt on privileged identity"

E3) Delegation flags / userAccountControl risky flips

  • Detect: user/computer delegation-related flag changes (e.g., unconstrained delegation enablement).
  • Signals: 5136 (attribute changes) + user/computer modification events depending on your audit configuration.
  • Tune: Alert when delegation is enabled on servers that should never delegate.
// Pseudocode
WHEN event_id = 5136
AND attribute_name IN ("userAccountControl","msDS-AllowedToDelegateTo")
AND change_enables_delegation = true
AND target_is_server_or_privileged_identity = true
THEN ALERT "Delegation settings modified (persistence / lateral movement risk)"

Rule Pack F — GPO tampering & domain policy manipulation

Detect: changes to Group Policy that can deploy scripts, scheduled tasks, startup items, or security setting downgrades.

  • Signals: 5136 for GPO object attribute changes (plus SYSVOL file modifications if you ingest them), and domain policy change events depending on audit settings.
  • Logic: “GPO changed” + “initiator not in GPO admin set” + “change outside window” + “GPO linked to sensitive OU”.
  • Tune: Maintain an allowlist of GPO admins and expected automation accounts; alert hard on Tier-0 OU-linked policies.
// Pseudocode
WHEN event_id = 5136
AND target_object_contains "CN=Policies,CN=System"
AND initiator_user NOT IN gpo_admin_allowlist
THEN ALERT "GPO modified by unexpected user (possible domain-wide persistence)"

Rule Pack G — Tooling & “hands-on-keyboard” exploitation indicators (endpoint + DC)

These rules are especially strong if you have EDR/Sysmon alongside DC logs.

  • LSASS dumping indicators: suspicious processes (procdump, taskmgr in odd contexts, rundll32 comsvcs) accessing LSASS; correlate to privileged logons.
  • Credential theft tooling hints: unusual DLL loads, access to \\*\ADMIN$, or known dumping binaries executed from temp/user profile paths.
  • NTDS access attempts: file access auditing on ntds.dit (if configured) or suspicious VSS usage.
// Pseudocode - endpoint centric
WHEN process_name IN ("procdump.exe","rundll32.exe","powershell.exe","cmd.exe")
AND (command_line CONTAINS "lsass" OR command_line CONTAINS "comsvcs.dll")
AND user IN privileged_scope
THEN ALERT "Potential LSASS credential dump attempt"

4) Baselines & allowlists that make rules usable

The difference between “cool detections” and “operational detections” is almost always: baselining + scoping.

Baselines worth building (minimum viable)

  • User ↔ workstation mapping: which hosts a user normally logs in from (especially admins).
  • Admin workstation list: PAWs / jump hosts / management subnets (treat as sacred).
  • Expected automation identities: sync, backups, monitoring, IAM tools, scheduled jobs.
  • Service ticket norms: typical volume of 4769 by user/host/service class.
  • Tier-0 object inventory: DCs, ADFS/identity servers, PKI, Entra Connect servers, privileged groups.
A simple starting point: scope alerts to Tier-0 identities + Tier-0 systems first. You’ll catch most “real compromises” early while you’re still tuning the long tail.

5) How to test and validate (without lying to yourself)

Validation principles

  • Test in a lab first, then in production with “audit-only” mode and controlled accounts.
  • Prove data presence before writing rules (“Do I even ingest 5136 with attribute details?”).
  • Run replay checks: query last 30–90 days to estimate noise and build allowlists.
  • Measure time-to-triage: if an analyst can’t decide “benign vs suspicious” quickly, enrich the alert.

Alert enrichment fields that matter

  • Initiator user + initiator host + initiator IP
  • Target object DN (for 5136) and attribute changed + old/new values (if available)
  • Group name and member added/removed (for group change rules)
  • Was this inside a change window? Was there a matching change ticket?
  • Is the initiator on an admin workstation? Is the target Tier-0?
Don’t stop at “the rule fired once in a lab.” Your rule is production-ready when: (1) it fires on the behavior you care about, (2) it rarely fires otherwise, and (3) the alert contains enough context to take action.

7) Quick-start checklist

  • Collect: DC Security logs + Directory Service changes (5136 family) + privileged group change events.
  • Inventory: Domain Controllers, admin workstations, Tier-0 groups, Tier-0 accounts.
  • Implement first: privileged group change alerts, replication abuse alerts, RBCD/shadow credential alerts.
  • Add baselines: “user normal hosts,” “admin workstation list,” “approved automation accounts.”
  • Enrich alerts: who/where/what changed + target tier + change window + last-seen history.
  • Test monthly: run controlled simulations and verify alert fidelity + triage speed.

Further reading (internal links)

Use these as contextual jump-links inside this article and as “next step” recommendations at the end:

Want to make this even stronger? Add environment-specific “rule thresholds” (counts per time window) and document your allowlist decisions so future you understands why something is excluded.

Related posts
Active Directory Fundamentals

Migrating from AD FS to Azure AD SSO

Active Directory FundamentalsActive Directory PoliciesUncategorized

Role-based access control (RBAC) in Azure

Active Directory Fundamentals

Federation strategies using Entra

Active Directory Fundamentals

Tracking privilege escalation in Azure AD

×

There are over 8,500 people who are getting towards perfection in Active Directory, IT Management & Cyber security through our insights from Identitude.

Wanna be a part of our bimonthly curation of IAM knowledge?

  • -Select-
  • By clicking 'Become an insider', you agree to processing of personal data according to the Privacy Policy.