Shadow Credentials
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.
Intro
Vérifiez le post original pour toutes les informations sur cette technique.
En résumé : si vous pouvez écrire dans la propriété msDS-KeyCredentialLink d'un utilisateur/d'un ordinateur, vous pouvez récupérer le hash NT de cet objet.
Dans le post, une méthode est décrite pour configurer des informations d'authentification par clé publique-privée afin d'acquérir un Ticket de Service unique qui inclut le hash NTLM de la cible. Ce processus implique le NTLM_SUPPLEMENTAL_CREDENTIAL chiffré dans le Certificat d'Attribut de Privilège (PAC), qui peut être déchiffré.
Requirements
Pour appliquer cette technique, certaines conditions doivent être remplies :
- Un minimum d'un contrôleur de domaine Windows Server 2016 est nécessaire.
- Le contrôleur de domaine doit avoir un certificat numérique d'authentification de serveur installé.
- L'Active Directory doit être au niveau fonctionnel Windows Server 2016.
- Un compte avec des droits délégués pour modifier l'attribut msDS-KeyCredentialLink de l'objet cible est requis.
Abuse
L'abus de Key Trust pour les objets ordinateurs englobe des étapes au-delà de l'obtention d'un Ticket Granting Ticket (TGT) et du hash NTLM. Les options incluent :
- Créer un ticket argent RC4 pour agir en tant qu'utilisateurs privilégiés sur l'hôte prévu.
- Utiliser le TGT avec S4U2Self pour l'imitation des utilisateurs privilégiés, nécessitant des modifications du Ticket de Service pour ajouter une classe de service au nom du service.
Un avantage significatif de l'abus de Key Trust est sa limitation à la clé privée générée par l'attaquant, évitant la délégation à des comptes potentiellement vulnérables et ne nécessitant pas la création d'un compte ordinateur, ce qui pourrait être difficile à supprimer.
Tools
### Whisker
Il est basé sur DSInternals fournissant une interface C# pour cette attaque. Whisker et son homologue Python, pyWhisker, permettent la manipulation de l'attribut msDS-KeyCredentialLink
pour prendre le contrôle des comptes Active Directory. Ces outils prennent en charge diverses opérations telles que l'ajout, la liste, la suppression et le nettoyage des informations d'identification clés de l'objet cible.
Les fonctions de Whisker incluent :
- Add : Génère une paire de clés et ajoute une information d'identification clé.
- List : Affiche toutes les entrées d'informations d'identification clés.
- Remove : Supprime une information d'identification clé spécifiée.
- Clear : Efface toutes les informations d'identification clés, perturbant potentiellement l'utilisation légitime de WHfB.
Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1
pyWhisker
Il étend la fonctionnalité de Whisker aux systèmes basés sur UNIX, en s'appuyant sur Impacket et PyDSInternals pour des capacités d'exploitation complètes, y compris la liste, l'ajout et la suppression de KeyCredentials, ainsi que l'importation et l'exportation au format JSON.
python3 pywhisker.py -d "domain.local" -u "user1" -p "complexpassword" --target "user2" --action "list"
ShadowSpray
ShadowSpray vise à exploiter les permissions GenericWrite/GenericAll que de larges groupes d'utilisateurs peuvent avoir sur les objets de domaine pour appliquer les ShadowCredentials de manière étendue. Cela implique de se connecter au domaine, de vérifier le niveau fonctionnel du domaine, d'énumérer les objets de domaine et d'essayer d'ajouter des KeyCredentials pour l'acquisition de TGT et la révélation du hachage NT. Les options de nettoyage et les tactiques d'exploitation récursive améliorent son utilité.
Références
- https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab
- https://github.com/eladshamir/Whisker
- https://github.com/Dec0ne/ShadowSpray/
- https://github.com/ShutdownRepo/pywhisker
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.