Les agences de cybersécurité de l'alliance Five Eyes, dont CISA et la NSA, ont exhorté les organisations à renforcer la sécurité autour de Microsoft Active Directory (AD), une cible de choix pour les cyberattaquants. Le récent rapport de l'alliance met en évidence plus d'une douzaine de tactiques utilisées par les acteurs de la menace pour exploiter l'AD. Parmi ces techniques courantes figure l'exploitation de la délégation sans contrainte.
Qu'est-ce que la délégation sans contrainte ?
La délégation sans contrainte permet à un service ou à un ordinateur d'usurper l'identité d'un utilisateur dans l'ensemble du domaine, une fois que l'utilisateur s'est authentifié auprès de lui(figure 1). Lorsqu'un utilisateur demande l'accès à un service (par exemple, un partage de fichiers via CIFS), un ticket Kerberos (TGT) est transmis et stocké dans la mémoire de ce service. Ce ticket est ensuite attaché à la mémoire, ce qui permet au service d'agir au nom de l'utilisateur et d'accéder à d'autres ressources du réseau.
Du point de vue de l'attaquant, la première étape consiste à lancer une requête LDAP pour localiser les serveurs sur lesquels la délégation sans contrainte est activée(figure 2). Les contrôleurs de domaine (DC) peuvent être ignorés car la délégation n'est pas limitée par défaut sur les DC. Cependant, les serveurs ordinaires ayant ce paramètre sont également des cibles précieuses. Après avoir compromis ces serveurs, l'attaquant peut les utiliser pour surveiller les TGT entrants lorsque les utilisateurs demandent des tickets de service Kerberos (ST), ce qui lui permet d'usurper l'identité de ces utilisateurs et d'accéder à d'autres ressources sur le réseau.
Après avoir identifié les serveurs dont la délégation n'est pas limitée et vérifié l'accès de l'administrateur local, l'attaquant peut utiliser PSExec pour se déplacer latéralement sur SMB jusqu'à ces machines(figure 3).
À partir de là, l'attaquant peut commencer à utiliser Rubeus pour surveiller les TGT Kerberos entrants(figure 4). Il peut alors intercepter et éventuellement exploiter ces tickets lorsque d'autres utilisateurs demandent l'accès à des services sur le réseau.
Dans cet exemple, l'attaquant a pu capturer un TGT Kerberos pour un administrateur de domaine(Figure 5). Le compte admin a demandé un ST pour le service CIFS sur un serveur dont la délégation non contrainte est activée, ce qui a entraîné le stockage du TGT dans la mémoire du serveur.
Comment pouvez-vous vous défendre contre l'exploitation sans contrainte de la délégation ?
L'idéal est d'éviter d'utiliser la délégation sans contrainte. Si ce n'est pas possible, la meilleure approche consiste à traiter tout serveur sur lequel la délégation sans contrainte est activée comme un système de niveau 0.
Comment détecter une délégation sans contrainte ?
Les défenseurs peuvent utiliser l'outil gratuit Purple Knight pour identifier les comptes d'utilisateurs et d'ordinateurs qui sont configurés pour une délégation sans contrainte(Figure 6). Une contre-mesure efficace consiste à activer l'option Compte sensible et ne pouvant être délégué pour vos comptes de niveau 0 et autres comptes hautement privilégiés. Cela permet d'éviter que ces comptes ne soient utilisés à mauvais escient par des attaques de délégation.
Semperis Directory Services Protector ( DSP) comprend une catégorie dédiée à la délégation AD, qui surveille en permanence une variété de paramètres de délégation Active Directory non sécurisés ou risqués(figure 7). Au moment de la rédaction du présent document, DSP suit 20 configurations de délégation à la recherche de vulnérabilités potentielles.
Outils de délégation sans contrainte
L'outil GhostPack/Rubeus, disponible sur github.com, peut être utilisé pour exploiter des serveurs sur lesquels la délégation sans contrainte est activée.
Formation de l'équipe rouge
Les Red Teams exploitent souvent la délégation sans contrainte, qui est fréquemment abordée dans les formations Red Team suivantes :
- La défense des flancs contre les attaques ciblées modernes
- Les opérations de l'équipe rouge de Zero Point Security
- Laboratoire d'Altered Security sur l'attaque et la défense d'Active Directory
Aperçu de Semperis
La délégation sans contrainte permet à un pirate d'usurper l'identité d'utilisateurs dans un domaine entier et peut être dangereuse si elle n'est pas gérée correctement. Lorsqu'un utilisateur demande un ticket de service Kerberos, un TGT Kerberos est stocké dans la mémoire du serveur et constitue une cible de choix si ce serveur est compromis. Les attaquants peuvent abuser des TGT pour se faire passer pour des utilisateurs et accéder à d'autres ressources du réseau.