Active Directory controls who can access what in most enterprise environments. It manages authentication, authorization, group policies, and trust relationships across every Windows domain on the planet. It is also, without exaggeration, the single most consistently misconfigured piece of infrastructure we encounter during penetration testing engagements.

Over the past several years, we have tested hundreds of Active Directory environments. The specifics vary, but the patterns are remarkably consistent. Default configurations that were never hardened. Service accounts with domain admin privileges. Password policies that haven't been updated since the domain was first stood up. Legacy protocols that broadcast credentials in cleartext across the network.

This article walks through what we actually find during AD penetration tests, how those findings chain together into full domain compromise, and what you can do to harden your environment before an attacker does it for you. If you are unfamiliar with how a penetration test works in general, start with our overview of what happens during a penetration test before diving into the AD-specific material here.


Why Active Directory is the number one target

Every attacker who lands on a corporate network asks the same question: where is Active Directory? The answer matters because AD is the central authority for identity in most enterprises. Compromise AD and you compromise everything it controls, which is usually everything.

There are several reasons AD environments are disproportionately targeted:

The combination of centralized authority, legacy configurations, and high-value payoff makes AD the preferred target for both nation-state actors and financially motivated attackers. It is also why AD penetration testing is one of the most impactful assessments an organization can invest in.


Common AD misconfigurations we find

The findings below appear in the majority of AD environments we test. Some are well-known in the security community but remain unpatched in production. Others are subtler configuration issues that compound into serious risk.

Kerberoasting

Kerberoasting is arguably the most common AD attack we execute successfully. It exploits the way Kerberos authentication works with service accounts. Any authenticated domain user can request a service ticket (TGS) for any account that has a Service Principal Name (SPN) registered. That ticket is encrypted with the service account's password hash. The attacker takes the ticket offline and cracks it. No network traffic, no logs, no alarms.

The problem is not Kerberos itself. The problem is that most service accounts have weak passwords that were set once and never rotated. We routinely crack service account passwords in minutes using commodity hardware. When that service account happens to be a domain admin, or has privileges over sensitive systems, the entire domain falls.

Real-world scenario: Kerberoasting to domain admin

  1. Attacker authenticates as any domain user (even a guest-level account)
  2. Requests TGS tickets for all accounts with SPNs: GetUserSPNs.py
  3. Exports tickets and cracks offline with hashcat -m 13100
  4. Service account svc_backup cracks in 4 minutes: password is Backup2019!
  5. svc_backup is a member of Domain Admins. Domain compromised.

AS-REP roasting

AS-REP roasting targets accounts that have Kerberos pre-authentication disabled. When this setting is turned off, an attacker can request an authentication ticket for that account without even knowing the password. The response from the domain controller contains data encrypted with the user's password hash, which can be cracked offline.

This configuration is sometimes enabled intentionally for legacy application compatibility, but more often it is enabled by accident or inherited from a migration. We find accounts with pre-authentication disabled in roughly 40% of the AD environments we test.

Unconstrained delegation

Delegation allows a service to impersonate a user when accessing other resources. Unconstrained delegation means a server can impersonate any user to any service. If an attacker compromises a server with unconstrained delegation, they can harvest Kerberos tickets for any user who authenticates to that server, including domain administrators.

The classic attack involves coercing a domain controller to authenticate to the compromised server (using techniques like PrinterBug or PetitPotam), capturing the DC's machine account ticket, and using it to perform a DCSync attack. This is a well-documented attack path that has been publicly known since 2018, yet we still find unconstrained delegation configured on servers that do not need it.

Weak GPO permissions

Group Policy Objects control security settings across the domain. If the permissions on a GPO are misconfigured, a lower-privileged user can modify the policy and push arbitrary settings or scripts to every machine in the GPO's scope. We have seen GPOs that apply to domain controllers writable by regular helpdesk users.

GPO abuse is particularly dangerous because the changes are applied automatically by the domain's own infrastructure. An attacker who modifies a GPO to deploy a scheduled task or startup script gets code execution on every machine the GPO targets, often with SYSTEM-level privileges.

LLMNR and NBT-NS poisoning

Link-Local Multicast Name Resolution (LLMNR) and NetBIOS Name Service (NBT-NS) are fallback name resolution protocols. When a Windows machine cannot resolve a hostname via DNS, it broadcasts a request on the local network asking "does anyone know where fileserverr is?" (note the typo). Any machine on the network can respond and claim to be that resource.

An attacker on the network responds to these broadcasts, redirects the requesting machine to their own system, and captures the NTLMv2 hash of the user attempting to authenticate. These hashes can be cracked offline or relayed to other services for immediate access.

LLMNR and NBT-NS have been the first step in the majority of our internal network penetration tests for years. Despite being a well-known issue with a straightforward fix (disable both protocols via GPO), we find them enabled in approximately 80% of environments.

SMB signing disabled

SMB signing ensures that SMB traffic between machines is authenticated and has not been tampered with. When SMB signing is not required, an attacker who captures an NTLM authentication request can relay it to another server and authenticate as that user. This is called an NTLM relay attack.

Combined with LLMNR poisoning, disabled SMB signing creates a direct path from network access to authenticated access on multiple systems. We capture credentials via LLMNR, relay them to a server without SMB signing required, and gain remote code execution. The entire chain, from network access to shell on a server, takes minutes.

Misconfiguration Prevalence Severity Fix Complexity
Kerberoastable accounts ~70% of environments High to Critical Medium
AS-REP roastable accounts ~40% of environments High Low
Unconstrained delegation ~50% of environments Critical Medium
Weak GPO permissions ~35% of environments High to Critical Medium
LLMNR / NBT-NS enabled ~80% of environments High Low
SMB signing not required ~65% of environments High Low

The attack chain: from initial foothold to domain admin

Individual misconfigurations are concerning. The real risk emerges when they chain together. In nearly every AD engagement, we follow an attack chain that looks something like this. Understanding the chain is important because fixing any single link can break the entire path to domain compromise.

Step 1: Initial foothold

The engagement starts with some level of access. In a network penetration test, this might be a laptop plugged into a network port, VPN access with low-privilege credentials, or a compromised workstation from a phishing exercise. The starting point simulates what an attacker would have after gaining initial access through any means.

From this foothold, the first action is reconnaissance. We query Active Directory for the full list of users, groups, computers, trust relationships, GPOs, and organizational units. All of this information is available to any authenticated domain user by default. Tools like BloodHound visualize these relationships and automatically identify the shortest paths to domain admin.

Step 2: Credential harvesting

With network access, we begin capturing credentials. LLMNR/NBT-NS poisoning runs passively in the background, collecting NTLMv2 hashes from machines that make typos in hostname lookups or try to reach decommissioned servers. Simultaneously, we identify Kerberoastable and AS-REP roastable accounts and begin cracking those hashes offline.

Within the first few hours, we typically have a handful of cracked passwords. Many of these belong to service accounts that authenticate to multiple systems, giving us lateral movement opportunities.

Step 3: Lateral movement

With valid credentials, we move laterally across the network. This means authenticating to other systems using techniques like Pass-the-Hash, Pass-the-Ticket, or simply logging in with cracked passwords over SMB, WinRM, or RDP. Each system we access is a new opportunity to harvest additional credentials, find cached tokens, and discover new attack paths.

On a compromised workstation, we extract credentials from memory using tools like Mimikatz. If a domain admin recently logged into that workstation (for troubleshooting, for example), their credentials may still be cached in memory. One careless RDP session from an admin to a compromised machine, and the engagement is effectively over.

Step 4: Privilege escalation

The path from regular user to domain admin rarely requires a single jump. It is usually a chain of smaller escalations. A helpdesk account has local admin on a server. That server has a cached credential for an IT admin. That IT admin has write access to a GPO that applies to domain controllers. Each link in the chain is a small permission issue. Together, they form a highway to full domain compromise.

Typical attack chain: 4 hops to domain admin

  1. Foothold: Compromised workstation via phishing (standard user context)
  2. Credential harvest: LLMNR poisoning captures NTLMv2 hash for svc_printer. Cracked password: Summer2024
  3. Lateral movement: svc_printer has local admin on FILESERVER01. Dump LSASS and recover cached credentials for admin.jsmith
  4. Escalation: admin.jsmith has GenericWrite over the "Server Admins" group. Add controlled account. Server Admins has DCSync rights. Replicate domain controller password database. Domain compromised.

Step 5: Domain compromise

Once we achieve domain admin or equivalent privileges, we demonstrate the full impact. This typically includes performing a DCSync to extract every password hash in the domain, accessing sensitive file shares, reading executive email (with permission in scope), and demonstrating the ability to deploy code to every machine on the network. The goal is not to cause damage but to prove conclusively what an attacker with this level of access could do.


Privilege escalation techniques in detail

Several privilege escalation techniques appear repeatedly in our engagements. Understanding them helps defenders know what to monitor and what to block.

Golden Ticket attacks

A Golden Ticket is a forged Kerberos Ticket-Granting Ticket (TGT) created using the password hash of the krbtgt account. The krbtgt account is special: its hash is used to encrypt and sign every TGT issued by the domain controller. If an attacker obtains this hash (via DCSync or direct access to the DC), they can forge a TGT for any user, including non-existent users, with any group memberships they choose.

Golden Tickets are devastating because they bypass normal authentication entirely. The forged ticket is valid for the Kerberos ticket lifetime (default 10 hours, but the forged ticket can specify any duration). Even changing the compromised user's password does not invalidate a Golden Ticket. The only remediation is to reset the krbtgt password twice (it maintains a password history of two), which invalidates all existing tickets in the domain and requires every user and computer to re-authenticate.

Silver Ticket attacks

A Silver Ticket is a forged Kerberos service ticket (TGS) created using the password hash of a service account. Unlike a Golden Ticket, which grants access to everything, a Silver Ticket targets a specific service. For example, if an attacker has the hash of a SQL Server service account, they can forge a ticket granting them sysadmin access to that SQL Server.

Silver Tickets are harder to detect than Golden Tickets because the forged ticket never touches the domain controller. It is presented directly to the target service. There is no authentication event logged on the DC, making Silver Ticket usage nearly invisible to most monitoring solutions.

DCSync

DCSync abuses the domain controller replication protocol. Domain controllers replicate their databases with each other using the Directory Replication Service (DRS). An account with the "Replicating Directory Changes" and "Replicating Directory Changes All" privileges (typically Domain Admins and Domain Controllers) can request any user's password hash directly from a domain controller.

The attacker does not need physical or remote access to the domain controller. They simply issue the replication request from any machine on the network. The DC responds with the requested password hashes, including the krbtgt hash, which enables Golden Ticket attacks. DCSync is the standard final step in most of our AD engagements.

Pass-the-Hash

NTLM authentication in Windows does not require the plaintext password. The NTLM hash itself is sufficient to authenticate. An attacker who extracts a hash from memory, a SAM database, or a DCSync operation can use that hash directly to authenticate to other services without ever knowing the actual password.

Pass-the-Hash has been a known technique for over two decades. Modern mitigations exist (Credential Guard, Protected Users group, disabling NTLM), but most environments have not fully deployed them because legacy applications still depend on NTLM authentication.

Technique Prerequisite Impact Detection Difficulty
Golden Ticket krbtgt hash (requires DA or DCSync) Full domain access, persistent Hard (anomalous ticket lifetimes)
Silver Ticket Service account hash Specific service access Very hard (no DC interaction)
DCSync Replication privileges All domain password hashes Medium (DRS replication events)
Pass-the-Hash NTLM hash of target user Authenticated access as target user Medium (NTLM auth from unusual source)

Azure AD and Entra ID: cloud identity testing

Most enterprise environments are no longer purely on-premises. Hybrid configurations with Azure AD (now Microsoft Entra ID) are the norm, and they introduce an entirely new set of attack surfaces that many organizations have not fully assessed.

Hybrid identity risks

Azure AD Connect synchronizes on-premises AD with Azure AD. The server running Azure AD Connect stores the credentials needed to replicate passwords to the cloud. If an attacker compromises this server, they can extract the synchronization credentials and use them to reset passwords for any cloud-synced account, including Global Administrators.

We test for this specifically because the Azure AD Connect server is frequently treated as a regular server rather than a Tier 0 asset. It often sits on the same network segment as standard file servers, runs unpatched, and has local admin accounts shared with other systems. Compromising this one server can give an attacker control over both the on-premises domain and the entire cloud tenant.

Cloud-specific attack paths

In the Azure AD and Entra ID space, we test for:

Key takeaway: Hybrid environments double the attack surface. An attacker who compromises on-premises AD can pivot to cloud resources, and vice versa. Testing must cover both environments and the synchronization infrastructure between them.

Entra ID security posture review

Beyond attack path testing, we evaluate the overall security posture of the Entra ID tenant. This includes reviewing the number of Global Administrators (we commonly find 10 or more, when Microsoft recommends fewer than 5), evaluating MFA enforcement coverage, checking for stale accounts and orphaned service principals, and assessing the Secure Score against Microsoft's baseline recommendations.

For organizations that run red team exercises, the hybrid environment often provides the richest attack scenarios because defenders need to monitor and respond across two fundamentally different platforms simultaneously.


Password policy analysis and credential hygiene

Weak passwords remain the single most exploitable finding in Active Directory. During every engagement, we perform a comprehensive analysis of the domain's password policy and the actual passwords in use.

What we typically find

The default AD password policy requires a minimum of 7 characters and three of four complexity requirements (uppercase, lowercase, numbers, symbols). This means Password1 is technically compliant. So is Summer2026!. And CompanyName1. We crack these in seconds.

After performing a DCSync (with authorized access during the engagement), we run the full domain password database through our cracking rig. The results are consistent across organizations:

Fine-grained password policies

Many organizations don't realize that AD supports fine-grained password policies (FGPPs), which allow different password requirements for different groups. Privileged accounts should have a stricter policy: longer minimum length, shorter maximum age, no password reuse. We frequently find that the same 7-character minimum applies to domain admins as it does to the intern's account.

Recommended: tiered password policies

  • Standard users: 14-character minimum, 90-day expiration, passphrase encouraged
  • Privileged accounts: 20-character minimum, 60-day expiration, no dictionary words
  • Service accounts: 30+ character randomized passwords, managed by LAPS or gMSA, automatic rotation
  • Emergency (break-glass) accounts: 25+ characters, stored in a physical safe or PAM vault, usage triggers an alert

Service account abuse

Service accounts are the keys to the kingdom in most AD environments, and they are almost universally over-privileged and under-protected.

The problem with SPNs

Every service account with a Service Principal Name is vulnerable to Kerberoasting. The fix is not to remove the SPN (the service needs it to function), but to ensure the password is strong enough to resist cracking. A 30-character randomly generated password will not be cracked by any attacker in any reasonable timeframe.

Better still, use Group Managed Service Accounts (gMSAs). These are AD-managed service accounts with 240-character randomly generated passwords that rotate automatically every 30 days. They eliminate the human element entirely. The service authenticates using a password that no person ever sees or manages. The challenge is that not all applications support gMSA, though the list of supported platforms has grown substantially in recent years.

Over-privileged service accounts

The most dangerous finding is not a weak password. It is a service account that is a member of Domain Admins "because it was easier." We find this in roughly one out of every three environments. The account was created years ago, someone added it to Domain Admins to troubleshoot a permissions issue, and nobody ever removed it.

Service accounts should follow the principle of least privilege rigorously. A SQL Server service account needs permissions to its databases, not domain admin rights. A backup service account needs permissions to read files, not write to Active Directory. Each service account should be scoped to exactly the permissions it requires and nothing more.

Service Account Risk Impact Remediation
Weak password + SPN Kerberoastable, crackable offline 30+ char password or gMSA
Domain Admin membership Direct path to domain compromise Remove from DA, scope to least privilege
No password rotation Compromised password remains valid indefinitely gMSA or PAM-managed rotation (30-day max)
Interactive logon allowed Credential caching on workstations Deny interactive logon via GPO
Shared across services Compromise of one service compromises all Dedicated account per service

Lateral movement techniques

Once an attacker has valid credentials, they need to move through the network to reach higher-value targets. Lateral movement is where individual vulnerabilities become systemic risk, and where the lack of network segmentation becomes painfully apparent.

Common lateral movement methods

We use several techniques during AD engagements, all of which mirror real-world attacker behavior:

Why segmentation matters

Lateral movement is only possible when systems can reach each other. In a flat network where every workstation can communicate with every server, a single compromised machine is a foothold into everything. Network segmentation, micro-segmentation in particular, limits the blast radius of any individual compromise.

We consistently recommend segmenting AD infrastructure into tiers:

Microsoft's tiered administration model

  • Tier 0 (Control plane): Domain controllers, Azure AD Connect, PKI, ADFS servers. Only Tier 0 admin accounts may access these systems. No internet access. No inbound connections from lower tiers.
  • Tier 1 (Server plane): Member servers, application servers, database servers. Tier 1 admins manage these systems but cannot access Tier 0. Tier 0 admins never log into Tier 1 systems.
  • Tier 2 (Workstation plane): End-user workstations and devices. Helpdesk and desktop support accounts operate here. No Tier 0 or Tier 1 credentials should ever touch a Tier 2 system.

The golden rule: credentials from a higher tier never authenticate to a lower tier. A domain admin who RDPs into a workstation to help a user has just exposed their credentials to every piece of malware on that machine.


Detection and monitoring recommendations

Prevention is ideal, but detection is essential. Many AD attacks leave artifacts that can be detected with proper logging and monitoring. The challenge is that most organizations either don't collect the right logs or collect so many logs that the signal is lost in noise.

Critical events to monitor

Tooling recommendations

Effective AD monitoring requires more than native Windows logging:

Key takeaway: If you deploy one new detection capability after reading this article, make it DCSync detection. Event ID 4662 with specific GUID filtering for the replication access control entries, sourced from non-DC machines, is one of the most reliable indicators of domain compromise in progress.


Active Directory hardening checklist

Based on the findings from hundreds of AD engagements, this checklist covers the changes that have the highest impact on reducing risk. They are ordered roughly by impact and implementation effort.

Immediate actions (do this week)

Short-term improvements (this quarter)

Strategic improvements (this year)

Action Attacks Mitigated Effort Priority
Disable LLMNR/NBT-NS Credential capture, NTLM relay Low (GPO change) Immediate
Require SMB signing NTLM relay attacks Low (GPO change) Immediate
Strong service account passwords / gMSA Kerberoasting Medium High
Remove unconstrained delegation Ticket harvesting, DC compromise Medium High
Tiered administration Lateral movement, credential theft High Strategic
Credential Guard Mimikatz, credential dumping Medium Strategic
Eliminate NTLM PtH, NTLM relay, credential capture High Strategic

What a good AD pentest looks like

Not all AD penetration tests are created equal. A thorough engagement should cover all of the areas discussed in this article, not just run a tool and hand you a list of Kerberoastable accounts. Here is what to expect from a quality assessment:

The phases of a penetration test apply to AD engagements just as they do to web application or cloud assessments. The difference is the depth of post-exploitation analysis and the systemic nature of the findings.


Active Directory is not going away. Despite the shift toward cloud identity, the majority of enterprises will run hybrid environments for years to come. The attack techniques described in this article are not theoretical. They are the techniques we use in nearly every engagement, and they work in nearly every environment, because the same misconfigurations persist across industries, organization sizes, and maturity levels.

The good news is that every finding in this article has a fix. Most of the immediate actions, disabling LLMNR, requiring SMB signing, cleaning up Domain Admins, cost nothing and can be implemented in a single change window. The strategic improvements take longer but fundamentally change the security posture of your AD environment.

The question is not whether your Active Directory has these issues. Based on our experience, it almost certainly does. The question is whether you find them first or an attacker does.

Test Your Active Directory Before Attackers Do

Our AD penetration tests go beyond scanning. We map attack paths, crack passwords, and demonstrate exactly how an attacker would move from initial foothold to domain admin.

Learn About AD Testing Contact Us
-- views
Link copied!
Lorikeet Security

Lorikeet Security Team

Penetration Testing & Cybersecurity Consulting

We've completed 170+ security engagements across web apps, APIs, cloud infrastructure, and AI-generated codebases. Everything we publish here comes from patterns we see in real client work.