🔍 Contexte
Publié le 23/03/2026 par Simon Msika de Synacktiv, cet article présente une recherche approfondie sur l’exploitation de la délégation contrainte basée sur les ressources (RBCD) dans des environnements Active Directory multi-domaines et multi-forêts, un scénario peu documenté jusqu’alors.
⚙️ Mécanisme de l’attaque
L’attaque RBCD repose sur la modification de l’attribut msDS-AllowedToActOnBehalfOfOtherIdentity d’un compte machine pour permettre l’usurpation d’identité d’utilisateurs. Dans un contexte cross-domaine, le workflow Kerberos implique plusieurs étapes supplémentaires :
- Obtention d’un TGT pour le compte
rbcd_test$@dev.asgard.localdepuis le DC du domaine enfant - Demande d’un referral TGT vers le domaine cible
asgard.local - Obtention d’un ST via S4U2Self (referral) pour l’utilisateur cible sur le DC du domaine parent
- Obtention d’un ST via S4U2Self sur le DC du domaine enfant
- Demande du ticket referral via S4U2Proxy
- Obtention du ticket de service final via S4U2Proxy sur le domaine cible
🛠️ Outils utilisés
- Rubeus (
s4uavec paramètres/targetdomain,/targetdc) : implémente nativement le cross-domain RBCD via la fonctionCrossDomainS4U - Impacket (
ntlmrelayx.py,getST.py) : la version standard ne supportait pas le cross-domain RBCD ; Synacktiv a développé une version modifiée degetST.pyajoutant les arguments-targetdomainet-targetdc - smbclient.py : utilisé pour accéder au partage
C$après obtention du ticket
🌲 Cross-forêt
L’article explore également le scénario cross-forêt (entre asgard.local et valhalla.local). Rubeus échoue à l’étape finale S4U2Proxy avec l’erreur KDC_ERR_ (tronquée dans l’article), indiquant une limitation supplémentaire dans ce contexte.
🔑 Éléments techniques notables
- Utilisation du SID (
S-1-5-21-3104832133-133926542-3798009529-1106) au lieu du nom de compte pour les entités cross-domaine absentes du LDAP cible - Modification du realm dans les requêtes Kerberos TGS-REQ, différent du realm du ticket fourni
- Exploitation via NTLM relay (
ntlmrelayx.py) pour positionner l’attribut RBCD
📄 Type d’article
Il s’agit d’une analyse technique et d’une publication de recherche offensive, visant à documenter et implémenter une technique d’attaque Active Directory peu couverte dans les environnements multi-domaines et multi-forêts.
🧠 TTPs et IOCs détectés
TTP
- T1558.001 — Steal or Forge Kerberos Tickets: Golden Ticket (Credential Access)
- T1558 — Steal or Forge Kerberos Tickets (Credential Access)
- T1550.003 — Use Alternate Authentication Material: Pass the Ticket (Lateral Movement)
- T1557.001 — Adversary-in-the-Middle: LLMNR/NBT-NS Poisoning and SMB Relay (Credential Access)
- T1484.002 — Domain Policy Modification: Domain Trust Modification (Defense Evasion)
- T1134.001 — Access Token Manipulation: Token Impersonation/Theft (Privilege Escalation)
Malware / Outils
- Impacket (framework)
- Rubeus (tool)
- ntlmrelayx.py (tool)
- getST.py (tool)
- smbclient.py (tool)
- addcomputer.py (tool)
🔗 Source originale : https://www.synacktiv.com/en/publications/exploring-cross-domain-cross-forest-rbcd