Resource-Based Constrained Delegation
hackingDéfinition
La délégation contrainte basée sur les ressources (Resource-Based Constrained Delegation — RBCD) est une fonctionnalité AD Windows Server 2012 R2+ qui permet à un service (le 'frontal') d'agir au nom d'un utilisateur pour accéder à une autre ressource (le 'backend'), mais où la permission est configurée sur l'objet ressource (le backend) plutôt que sur l'objet service (le frontal) — à l'inverse de la délégation contrainte classique. Cette différence est exploitable offensivement car n'importe quel compte disposant de droits d'écriture sur msDS-AllowedToActOnBehalfOfOtherIdentity d'un objet AD peut configurer la RBCD pour cet objet. L'attaque RBCD : si un attaquant contrôle un compte avec des droits d'écriture sur l'attribut msDS-AllowedToActOnBehalfOfOtherIdentity d'une machine cible (Computer object), il peut : 1) créer ou contrôler un compte machine avec un SPN (Service Principal Name), 2) écrire l'identifiant de ce compte machine dans msDS-AllowedToActOnBehalfOfOtherIdentity de la machine cible, 3) utiliser S4U2Self + S4U2Proxy pour obtenir un Service Ticket pour un utilisateur arbitraire (Administrator) vers le service cible (CIFS, HOST), 4) utiliser ce ticket pour accéder à la machine cible en tant qu'Administrator. Si un attaquant a compromis un compte avec GenericWrite sur un objet machine (droit fréquemment accordé dans des délégations AD mal configurées, ou obtenu via ACE misconfiguration), RBCD permet une escalade jusqu'à admin local sur cette machine. BloodHound identifie automatiquement les chemins RBCD dans les environnements AD. Les extensions Impacket (rbcd.py, getST.py) implémentent l'exploitation complète depuis Linux.
Fonctionnement
Exploitation RBCD avec Impacket depuis Linux : impacket-addcomputer -computer-name 'attacker$' -computer-pass 'Pass1234!' -dc-ip DC_IP domain/compromised_user:pass (créer un compte machine), impacket-rbcd -action write -delegate-from 'attacker$' -delegate-to target_machine -dc-ip DC_IP domain/user_with_genericwrite:pass (écrire RBCD), impacket-getST -spn 'cifs/target_machine' -impersonate Administrator domain/attacker\$:Pass1234! (obtenir le ticket usurpant Admin), export KRB5CCNAME=Administrator.ccache; impacket-smbexec -k -no-pass target_machine.
Exploitation offensive
RBCD est particulièrement intéressant dans des scénarios où l'attaquant ne peut pas utiliser NTLM relay directement (LDAP signing activé), car RBCD peut être configuré via des requêtes LDAP ou LDAPS. Des outils comme krbrelayx ou ntlmrelayx en mode RBCD automatisent l'exploitation via des relais LDAP/LDAPS.
Détection et mitigation
Surveiller les modifications de l'attribut msDS-AllowedToActOnBehalfOfOtherIdentity (event ID 5136 — A directory service object was modified). Auditer les ACE accordant GenericWrite sur des objets Computer. MAQ (Machine Account Quota) à 0 empêche la création de comptes machine par des utilisateurs standard, limitant une condition de l'attaque RBCD.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h