21.Kerberos Double Hop Problem
Overview
The Kerberos "Double Hop" problem occurs when a user authenticates to a remote system using Kerberos, but their credentials cannot be forwarded to a second system from that remote session. This is a common issue in scenarios involving WinRM, PowerShell remoting, and multi-tier authentication setups.
Scenario
A user attempts to connect from a local machine to DEV01 using PowerShell remoting. They then attempt to access a third system from DEV01, but authentication fails due to the Kerberos constraint.
Steps to Reproduce
Establish a WinRM Session to DEV01
Change Directory
Run Mimikatz to View Credentials (Requires Privileged Access)
List Processes for a Specific User
Check Kerberos Ticket Cache
Import PowerView Module
Enumerate Domain Users with SPNs
Create a Secure Credential Object
Query Domain Users with SPNs Using Credentials
Register a New PSSession Configuration to Enable Credential Delegation
Restart WinRM Service
Enter PSSession Using the Registered Configuration
Solution: CredSSP Authentication
To bypass the Kerberos double-hop issue, enable CredSSP Authentication, which allows credentials to be delegated securely.
Steps to Enable CredSSP
On the Client Machine
On the Remote Server (DEV01)
Run PowerShell Remoting with CredSSP
Verify CredSSP Configuration
Alternative Solution: Kerberos Constrained Delegation (KCD)
Instead of using CredSSP, Kerberos Constrained Delegation (KCD) can be configured for more secure credential forwarding. This requires modifying Active Directory settings to allow a service account to delegate authentication to specific services.
Conclusion
The Kerberos "Double Hop" issue is a common obstacle in multi-hop authentication scenarios. Enabling CredSSP or configuring Kerberos Constrained Delegation can help mitigate this issue while maintaining security.
Last updated