Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Resource-Based Constrained Delegation

hacking

Dé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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis