Lateral Movement Across Active Directory Domains: Methods, Paths, and Constraints
Concept
Section titled βConceptβCross-Domain Lateral Movement describes the techniques through which an adversary with a foothold in a source domain (DOMAIN_A) expands administrative authority and operational reach into securable workloads, data stores, or domain controllers of a distinct domain (DOMAIN_B).
These movements occur across two primary topologies:
- Intra-Forest: Between domains residing within the same forest (Parent-Child, Tree-Root). Trusts are transitive and bidirectional.
- Inter-Forest: Between separate forests linked via a Forest Trust or External Trust.
Why It Matters in DFIR
Section titled βWhy It Matters in DFIRβUnderstanding cross-domain pivot mechanics allows investigators to:
- Pinpoint Patient Zero in Multi-Domain Outbreaks: Ransomware deployed across a primary production domain frequently originates days or weeks prior on an unmonitored subsidiary or dev workstation in a secondary domain.
- Expose Stealth Ingress Paths: Adversaries prioritize high-leverage indirect routes (e.g., compromising a delegated service account in a child domain that holds local admin rights on a jump server in the parent domain).
- Identify Network and Architectural Bypass Points: Established trusts require opening RPC, SMB, and Kerberos ports through internal firewalls, creating permitted traversal conduits.
How It Works
Section titled βHow It WorksβCross-Domain Lateral Movement Attack Matrix
Section titled βCross-Domain Lateral Movement Attack Matrixββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ CROSS-DOMAIN LATERAL MOVEMENT VECTORS IN DFIR βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β 1. sIDHistory Abuse (Intra-Forest or Quarantine-Disabled Trusts) ββ -> Forging Inter-Realm TGTs with RID 512/519 injected into sIDHistory. βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β 2. Foreign Security Principal (FSP) Nesting Abuse ββ -> A Domain A account/group is nested into a Domain B local group. βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β 3. Memory Credential Harvesting (LSASS Pivot) ββ -> A Domain B admin authenticated to a compromised Domain A machine. βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β 4. Kerberos Delegation Abuse (Unconstrained Delegation / RBCD) ββ -> Harvesting TGTs of Domain B accounts visiting Domain A workloads. βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β 5. Cross-Domain Kerberoasting ββ -> Requesting TGS tickets for Domain B SPNs and cracking offline. βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββWhat Is Possible
Section titled βWhat Is Possibleβ- Instant Intra-Forest Escalation: Armed with a child domain
krbtgtkey, forging an inter-realm ticket withsIDHistoryguarantees mathematical takeover of the forest root (absent manual non-standard hardening). - Cross-Domain Pivoting Without Any Trust via Memory Theft: If a Domain B administrator connects via RDP to a Domain A workstation (even with zero trust between domains), their credentials can be dumped from LSASS to attack Domain B.
- Resource-Based Constrained Delegation (RBCD) Across Domains: Controlling a computer account in Domain A and possessing write rights over
msDS-AllowedToActOnBehalfOfOtherIdentityon a Domain B server enables full server takeover.
What Is Not Possible
Section titled βWhat Is Not Possibleβ- Traversing Forest Trusts via
sIDHistoryUnder Active SID Filtering: Target KDCs sanitize foreign SIDs from PAC payloads prior to service ticket issuance. - Executing DCSync on Domain B Using Domain A Domain Admin Credentials: Directory replication rights are bound to specific domain naming contexts; the identity must explicitly hold
DS-Replication-Get-Changes-Allon Domain B. - Operating NTLM Pass-Through When Inter-DC Netlogon Channels Are Blocked at Network Firewalls.
Common DFIR Confusions
Section titled βCommon DFIR Confusionsβ| Frequent Confusion | Verifiable Forensic Reality |
|---|---|
| βThe attacker could not traverse from A to B because no trust exists between them.β | Lack of trust blocks automated Kerberos/NTLM referrals, but does not prevent harvesting Domain B credentials cached in memory on Domain A hosts. |
| βCross-domain lateral movement leaves traces on a single DC.β | False. The hop produces telemetry on the source DC (Event 4768/4769), target DC (Event 4769 / Netlogon 4776), and target workload (Logon 4624). |
| βIsolating Domain A DCs eliminates all inbound attacks against Domain B.β | If the attacker cached valid tickets or harvested plaintext Domain B credentials, they can hit Domain B endpoints directly without touching Domain A DCs. |
Concrete Forensic Example
Section titled βConcrete Forensic ExampleβIn an international enterprise, a ransomware outbreak begins in a regional subsidiary (apac.corp.local):
- The adversary secures local administrative rights on an endpoint in Sydney.
- BloodHound path analysis reveals:
APAC\Domain Usersis nested into a local groupCORP\Regional-Adminsvia an FSP on the root domain.Regional-Adminsholds local administrator privileges on an infrastructure jumpboxJUMP-SRVincorp.local.
- The attacker connects to
JUMP-SRVvia SMB using a Kerberos referral. - On
JUMP-SRV, an LSASS memory dump extracts plaintext credentials of aCORP\Enterprise Adminsaccount logged into an active RDP session. - Outcome: The attacker achieves full forest dominance within 3 hours by chaining FSP group nesting with memory credential theft.
Key Forensic Artefacts
Section titled βKey Forensic Artefactsβ- Source Domain DC Event Logs:
- Event ID 4769: TGS request with
ServiceName: krbtgt/TARGET_DOMAIN(referral ticket).
- Event ID 4769: TGS request with
- Target Domain DC Event Logs:
- Event ID 4769: Service ticket issued for local SPN upon presentation of referral TGT.
- Event ID 4675: SID filtering violation logged if foreign SID injection was attempted.
- Target Workload Event Logs:
- Event ID 4624 (Logon Type 3): Network logon recording remote domain in
TargetDomainName. - Event ID 4672: Privileges assigned during logon.
- Event ID 4624 (Logon Type 3): Network logon recording remote domain in
Investigation Methods
Section titled βInvestigation Methodsβ- Map Cross-Domain Attack Pathways:
Use BloodHound to audit
TrustedBy, cross-domainMemberOfgroup edges, and active user sessions. - Analyze Referral TGS Issuances:
Query Event ID 4769 across all enterprise DCs for requests targeting inter-domain trust accounts (
krbtgt/*). - Audit Cross-Domain Network Logons:
Identify Event ID 4624 (Type 3) on sensitive servers where
TargetDomainNamediffers from the local machineβs domain.
Investigative Tooling
Section titled βInvestigative Toolingβ- BloodHound / SharpHound:
Terminal window # Collect multi-domain attack pathsInvoke-BloodHound -CollectionMethod All,Trusts -Domain "corp.local" - PowerShell / Get-WinEvent:
Terminal window Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} |Where-Object { $_.Properties[7].Value -eq 3 -and $_.Properties[5].Value -ne $env:USERDOMAIN } |Select-Object TimeCreated, @{N='Domain';E={$_.Properties[5].Value}}, @{N='User';E={$_.Properties[4].Value}}, @{N='IP';E={$_.Properties[18].Value}}
Key Takeaways
Section titled βKey Takeawaysβ- Cross-domain pivots rely on: Kerberos/NTLM trusts, nested FSPs, or memory credential theft.
sIDHistoryinjection succeeds by default intra-forest, but is blocked by inter-forest SID Filtering.- Detection requires multi-tier correlation of KDC Event 4769 referral requests and endpoint Event 4624 logons.
References & Further Reading
Section titled βReferences & Further Readingβ- Microsoft Learn: Kerberos Authentication across Domains
- Card 16 β Cross-Domain Authentication: Kerberos Referral and NTLM Pass-Through
- Card 17 β SID Filtering and Name Suffix Routing
- Card 18 β Cross-Domain Group Membership and Foreign Security Principals
- Card 23 β NetExec (nxc): What Do the Results Actually Prove?