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
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.
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:
.\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
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.