If you’re reading this, you’re probably not new to hacking — but cracking into an Active Directory environment is its own beast. It’s layered, it’s political (yes, really), and it demands a workflow built on logic, creativity, and adaptability.

In this post, we’re not going to just throw tools at you. We’re going to walk through the mythology — the mindset and method that real-world AD attackers use to breach, escalate, and dominate domains.

Let’s begin at the perimeter.

Mindset: “I don’t need access yet. I just need names. Then I’ll make the names work for me.”

You’re outside the environment. You have no valid creds. No access. Just an open web port or two — maybe RDP, maybe SMB, maybe HTTP.

  • Legitimate usernames
  • A domain name
  • Public-facing applications (that leak info or allow auth attempts)
  • An NTLM handshake or some Kerberos exposure
  • nmap (for port scanning)
  • whatweb, httpx, gobuster, dirsearch (for web server discovery)
  • theHarvester, hunter.io, LinkedIn (for OSINT usernames)
  • cewl, crunch (to build custom wordlists from the company website)

Mindset: “A username isn’t useful unless I know it’s real. Let’s turn guesses into weapons.”

You now have a list of possible usernames. Maybe you scraped them. Maybe you guessed the naming scheme.

  • Which usernames exist
  • Whether lockouts are enforced (to avoid detection)
  • Any response difference between valid vs invalid usernames
  • kerbrute userenum -d <domain> --dc <ip> users.txt Enumerates valid usernames via Kerberos pre-auth
  • ldapsearch or rpcclient (if you’ve got anonymous access)

Mindset: “Some users don’t need to prove who they are before asking for encrypted Kerberos tickets. That’s a gift.”

  • Users with DONT_REQ_PREAUTH set (these are AS-REP roastable)
  • GetNPUsers.py from Impacket GetNPUsers.py -no-pass -dc-ip <IP> <domain>/ -usersfile users.txt Grabs AS-REP hashes for roastable users
  • hashcat to crack the hash hashcat -m 18200 hash.txt wordlist.txt

Mindset: “One weak password opens up the kingdom.”

At this point, if you’ve got a cracked password or even good usernames, you can try logging in without locking accounts.

  • crackmapexec cme smb <target-ip> -u usernames.txt -p 'Password123' --no-bruteforce
  • kerbrute passwordspray
  • ncrack, hydra (optional)
  • Try SSH, RDP, SMB — whatever service is open.

Mindset: “You gave me a service account. I’ll take its ticket and crack it.”

Once you have valid credentials, you can request service tickets (TGS) from the domain controller for any account with an SPN.

  • Service accounts (often with weak passwords)
  • GetUserSPNs.py from Impacket GetUserSPNs.py <domain>/<user>:<pass> -dc-ip <ip> -request
  • Crack the hash with hashcat hashcat -m 13100 hash.txt wordlist.txt

Mindset: “I’m inside. Now I map the land, the nobles, and the peasants. Who has power?”

Now that you’re authenticated, enumeration becomes your best friend.

  • Domain admins
  • ACL misconfigurations
  • High-value targets
  • Lateral movement paths
  • BloodHound (Use SharpHound from the compromised system)
  • PowerView.ps1 or PowerView.psd1
  • rpcclient, net user, net group, net share
  • crackmapexec with enumeration options: cme smb <target> -u user -p pass --shares cme smb <target> -u user -p pass --users

Mindset: “I don’t need DA right away. I just need to move until I hit gold.”

You want to:

  • Reuse creds
  • Move to another box with higher privileges
  • Exploit local admin, misconfigured services, or scheduled tasks
  • Evil-WinRM evil-winrm -i <target-ip> -u <user> -p <pass>
  • wmiexec.py, smbexec.py, atexec.py from Impacket
  • winPEAS.exe, Seatbelt.exe, SharpUp.exe (for privesc)

Mindset: “Why just break in once when you can stay forever?”

If you’ve hit Domain Admin — great. Now you want persistence.

  • Golden Ticket attacks (Mimikatz)
  • ACL abuse (modify GPOs or user rights)
  • Resource-Based Constrained Delegation (RBCD)
  • Scheduled tasks or services that respawn backdoors

Here’s the thing about AD pentesting: the tools change, but the mindset doesn’t.

You always:

There is no “one-size-fits-all.” Every environment is different, every defense is imperfect, and every attack path is just waiting for a curious mind.

  1. What trust exists that shouldn’t?
    • Between users, domains, services, or GPOs.
  2. What legacy decisions weaken security?
    • Old accounts, outdated GPOs, stale trusts.
  3. Where do humans make mistakes?
    • Password reuse, shared accounts, credential storage, insecure RDP access.
  4. What can I see vs. what should I see?
    • Enumeration beyond privilege.
  5. Where is the weak link in the chain of trust?
    • A backup server with DA creds.
    • A Tier 0 asset with exposed services.
    • A helpdesk user that can reset passwords.

You might use:

  • BloodHound to visualize attack paths.
  • Mimikatz/Rubeus for credential/token manipulation.
  • Impacket for movement and delegation abuse.
  • PowerView to enumerate ACLs, trusts, sessions.

But your real tools are:

Professional AD pentesting is like political espionage. It’s not about how loud your tools are, but how quietly you navigate trust and control. You’re peeling back layers of legacy decisions, bureaucracy, and misconfigurations to uncover a path to the crown — and then showing them how easily someone else could walk it too.

Best Tips and Advice

This list reflects the real-world mindset and strategic insights of experienced AD pentesters. The goal isn’t just to pop a shell — it’s to understand and abuse the trust model of Active Directory.

  • Don’t rush in. AD is more about relationships and permissions than raw vulnerabilities.
  • Focus your enumeration on:
    • Domain users and groups
    • Computers and trust relationships
    • Access Control Lists (ACLs) on objects
    • Sessions and logons
    • Delegation and service accounts
  • Tier 0 includes Domain Controllers, Domain Admins, and any accounts or systems that can directly or indirectly compromise the domain.
  • Your job is to map out the high-value targets early and build your attack paths toward them.
  • AD is credential-driven. Get them, reuse them, pivot with them.
  • Common sources:
    • LSASS memory dumps (via Mimikatz or Procdump)
    • Group Policy Preferences (GPP)
    • Unattended installation files
    • Browsers, RDP sessions, config files, SMB shares
    • Ticket-based attacks (Kerberoasting, AS-REP roasting)
  • Active Directory is built on assumed trust between users, computers, and services.
  • Abuse it.
    • Look for accounts reused across machines
    • Follow active sessions
    • Pass-the-Hash, Overpass-the-Hash, Pass-the-Ticket
    • Exploit misconfigured ACLs and SPNs
  • Don’t just look at machines; look at who uses them.
  • Use tools and commands to find out:
    • Which users have sessions on which machines
    • Which accounts are privileged
    • Where privileged users are logging in
  • AD is a database of objects with relationships and permissions.
  • If you can abuse permissions on objects, you can escalate privileges.
    • Modify user passwords
    • Add users to privileged groups
    • Link malicious Group Policy Objects (GPOs)
    • Abuse GenericAll, WriteDacl, WriteOwner, AddMember rights
  • Kerberoasting: Dump service tickets (TGS) for service accounts with SPNs and crack offline.
  • AS-REP Roasting: Target accounts without pre-authentication enabled (common misconfig).
  • These attacks require no elevated privileges and are stealthy if done properly.
  • Delegation is one of the most misunderstood but powerful attack vectors.
    • Unconstrained Delegation: When a machine caches a user’s TGT — and you can steal it.
    • Resource-Based Constrained Delegation (RBCD): If you can create or modify computer objects, you can impersonate users to services.
  • GPOs can be abused to:
    • Deploy startup/logon scripts
    • Add users or admins
    • Install services
  • If you can modify GPOs or link them to an OU, you have indirect control over multiple systems.
  • You don’t need access to the Domain Controller itself.
  • If your user has replication rights (GetChanges, GetChangesAll), you can pull password hashes for the entire domain from the DC using DCSync.
  • It’s stealthier than Mimikatz on the DC.
  • Look for groups like Backup Operators, Account Operators, Server Admins, and delegated roles.
  • Privilege escalation in AD is often non-obvious.
  • Use built-in Windows binaries (WMI, PowerShell, CertUtil) when possible to avoid detection.
  • Minimize dropped binaries or obvious indicators of compromise.
  • Don’t assume BloodHound is 100% accurate — validate session paths, permissions, and network access in real time.
  • Real-world AD can be messy and misconfigured.
  • Backdoor GPOs
  • Modify AdminSDHolder
  • Abuse SIDHistory
  • Inject startup scripts or WMI event consumers
  • Don’t ignore local escalation — a compromised workstation can lead to powerful credentials and further pivoting opportunities.
  • Many paths to domain dominance start on a low-value box.
GoalTools
EnumerationPowerView, SharpHound, LDAP queries, ADExplorer
Credential AccessMimikatz, Rubeus, Procdump, LaZagne
Lateral MovementEvil-WinRM, PsExec, WMIExec, SMBExec
Trust/Permission AbuseImpacket (secretsdump, ticketer, smbrelayx), PowerMad
ACL Abuse and PathfindingBloodHound, ACLpwn, SharpACL
Delegation AbusePowerView, Rubeus, Impacket
Ticket AttacksMimikatz, Rubeus
  • What trust exists that shouldn’t?
  • Who can I impersonate, reset, or relay?
  • Where are my current creds valid?
  • Who is logged in, and can I use that?
  • What’s the cleanest path to high privilege?
  • How do I show real-world impact without being noisy?

Scroll to Top