Serveur d'impression de contrôleur de domaine + Délégation Kerberos non contrainte = Forêt Active Directory pwned – Sécurité Active Directory – Serveur d’impression
Vue d'ensemble
Lee a découvert et présente un scénario dans lequel un compte avec une délégation non contrainte configurée (ce qui est assez courant) et le service Spooler exécuté sur un ordinateur, vous pouvez obtenir les informations d’identification de cet ordinateur envoyées au système avec une délégation non contrainte en tant qu’utilisateur.
Voici une commande rapide PowerShell qui découvre les comptes avec délégation Kerberos (nécessite le module AD PowerShell):
Get-ADObject -filter (UserAccountControl -BAND 0x0080000) -OR (UserAccountControl -BAND 0x1000000) -OR (msDS-AllowedToDelegateTo-like '*') -prop Nom, ObjectClass, PrimaryGroupID, UserAccountControl,
L'attaque
L'attaquant découvre un système avec une délégation Kerberos sans contrainte et le compromet. Ensuite, l'attaquant envoie une requête «RpcRemoteFindFirstPrinterChangeNotification» au contrôleur de domaine et le contrôleur de domaine répond pour tester la communication avec le demandeur. Si le contrôleur de domaine exécute le service Spooler (Spooler), cela fonctionnera (et il est facile de tester pour trouver 1 contrôleur de domaine exécutant ce service).
Lee explique que le problème est que tout utilisateur authentifié peut se connecter à distance au serveur d’impression du contrôleur de domaine (service spouleur) et demander une mise à jour des nouveaux travaux d’impression et lui demander simplement d’envoyer la notification au système avec une délégation non contrainte. Il testera immédiatement cette connexion, exposant ainsi les informations d'identification du compte de l'ordinateur (car le spouleur d'impression appartient à SYSTEM). Lee note que Microsoft dit que cela est voulu par la conception et «ne corrigera pas».
Lee a posté un code PoC qu'il appelle SpoolSample sur Github.
Flux conceptuel:
- L'attaquant découvre et compromet un système avec une délégation Kerberos sans contrainte. Notez que si un attaquant compromet un contrôleur de domaine dans une forêt approuvée (avec une approbation bidirectionnelle), ceci peut être utilisé pour compromettre l'autre forêt.
- L'attaquant teste et découvre un contrôleur de domaine exécutant le service Spouleur d'impression.
- L’attaquant envoie la demande MS-RPRN RpcRemoteFindFirstPrinterChangeNotification (authentification Kerberos) au serveur d’impression du contrôleur de domaine.
- Le contrôleur de domaine envoie immédiatement une réponse au demandeur. Cette réponse implique que le contrôleur de domaine crée un ticket de service Kerberos (TGS) contenant le ticket d’authentification (TGT) du compte d’ordinateur du contrôleur de domaine, car Kerberos est impliqué et que le compte demandeur est configuré avec une délégation sans contrainte.
- L’attaquant a maintenant le compte d’ordinateur du contrôleur de domaine Kerberos TGT qui peut être utilisé pour emprunter l’identité du contrôleur de domaine.
- DCSync toutes les informations d'identification du compte (ou toute autre attaque impliquant des informations d'identification DA, le cas échéant).
Le flux d’authentification conceptuel est présenté dans le graphique.
Les «ingrédients» clés requis pour que cela fonctionne, comme mentionné dans leur exposé:
- Compte avec délégation Kerberos sans contrainte (un contrôleur de domaine dans une forêt approuvée utilisant une approbation bidirectionnelle, par exemple)
- Compromettre ce compte.
- Le contrôleur de domaine s'exécute en tant que serveur d'impression (le service Spouleur est en cours d'exécution).
Ce problème s'applique également à toutes les approbations de forêt.
Atténuation
Notez que cet article se concentre sur les contrôleurs de domaine, mais que tous les serveurs sont potentiellement exposés à cette attaque.
Atténuez ce problème spécifique en désactivant le service Spouleur d’impression sur tous les serveurs pour lesquels il n’est pas nécessaire de s’exécuter et assurez-vous qu’il n’y a pas de compte avec une délégation non contrainte configurée.
MISE À JOUR (12 février 2019)
Microsoft a publié des instructions supplémentaires concernant l’impact de ce problème sur plusieurs forêts.
https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/ADV190006
MISE À JOUR (21 mars 2019)
Microsoft a changé cela en CVE-2019-0683 et le corrigera. L'article de Microsoft 4490425 décrit les modifications apportées aux approbations pour se protéger contre ce problème.
Bonne conversation Will, Lee et Matt!
Vidéo expliquant le problème
Références
(Visité 16 236 fois, 5 visites aujourd'hui)
Commentaires
Laisser un commentaire