Unconstrained Delegation

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Délégation sans contrainte

Il s'agit d'une fonctionnalité qu'un administrateur de domaine peut définir pour n'importe quel ordinateur à l'intérieur du domaine. Ensuite, chaque fois qu'un utilisateur se connecte à l'ordinateur, une copie du TGT de cet utilisateur va être envoyée à l'intérieur du TGS fourni par le DC et sauvegardée en mémoire dans LSASS. Ainsi, si vous avez des privilèges d'administrateur sur la machine, vous pourrez extraire les tickets et vous faire passer pour les utilisateurs sur n'importe quelle machine.

Donc, si un administrateur de domaine se connecte à un ordinateur avec la fonctionnalité de "Délégation sans contrainte" activée, et que vous avez des privilèges d'administrateur local sur cette machine, vous pourrez extraire le ticket et vous faire passer pour l'administrateur de domaine n'importe où (élévation de privilèges de domaine).

Vous pouvez trouver des objets d'ordinateur avec cet attribut en vérifiant si l'attribut userAccountControl contient ADS_UF_TRUSTED_FOR_DELEGATION. Vous pouvez le faire avec un filtre LDAP de ‘(userAccountControl:1.2.840.113556.1.4.803:=524288)’, c'est ce que fait powerview :

# Liste des ordinateurs sans contrainte
## Powerview
Get-NetComputer -Unconstrained #Les DC apparaissent toujours mais ne sont pas utiles pour l'élévation de privilèges
## ADSearch
ADSearch.exe --search "(&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=524288))" --attributes samaccountname,dnshostname,operatingsystem
# Exporter les tickets avec Mimikatz
privilege::debug
sekurlsa::tickets /export #Méthode recommandée
kerberos::list /export #Autre méthode

# Surveiller les connexions et exporter de nouveaux tickets
.\Rubeus.exe monitor /targetuser:<username> /interval:10 #Vérifier toutes les 10 secondes les nouveaux TGTs

Chargez le ticket de l'administrateur (ou de l'utilisateur victime) en mémoire avec Mimikatz ou Rubeus pour un Pass the Ticket. Plus d'informations : https://www.harmj0y.net/blog/activedirectory/s4u2pwnage/ Plus d'informations sur la délégation sans contrainte sur ired.team.

Forcer l'authentification

Si un attaquant est capable de compromettre un ordinateur autorisé pour la "Délégation sans contrainte", il pourrait tromper un serveur d'impression pour se connecter automatiquement contre lui enregistrant un TGT dans la mémoire du serveur. Ensuite, l'attaquant pourrait effectuer une attaque Pass the Ticket pour se faire passer pour l'utilisateur du compte d'ordinateur du serveur d'impression.

Pour faire en sorte qu'un serveur d'impression se connecte à n'importe quelle machine, vous pouvez utiliser SpoolSample :

.\SpoolSample.exe <printmachine> <unconstrinedmachine>

Si le TGT provient d'un contrôleur de domaine, vous pourriez effectuer une attaque DCSync et obtenir tous les hachages du DC. Plus d'informations sur cette attaque sur ired.team.

Voici d'autres façons de tenter de forcer une authentification:

pageForce NTLM Privileged Authentication

Atténuation

  • Limiter les connexions DA/Admin à des services spécifiques

  • Définir "Le compte est sensible et ne peut pas être délégué" pour les comptes privilégiés.

Dernière mise à jour