Huy Kha | Architecte principal de l'identité et de la sécurité

Pour les cyberattaquants, l'accès au système d'identité n'est que le début de leur périple dans votre organisation. Une fois qu'ils ont utilisé l'une des dizaines de techniques d'attaque pour entrer, ils veulent maintenir leur présence et échapper à la détection tout en augmentant leurs privilèges, en se déplaçant latéralement au sein de votre organisation et en recueillant des informations vitales en cours de route.

Pour aider les testeurs de pénétration et les équipes de sécurité à détecter et à prévenir les cyberattaques, divers outils de post-exploitation sont disponibles, dont un nouvel outil spécialement conçu pour les environnements Active Directory (AD) : Cable.

Bien que les outils de post-exploitation soient mis à disposition pour faciliter l'apprentissage et le développement de stratégies de défense, ils peuvent également être utilisés par les attaquants. Dans cet article, nous verrons donc comment se défendre contre un acteur malveillant utilisant Cable.

Quel est l'outil de post-exploitation de Cable ?

Cable est un outil de post-exploitation écrit en .NET qui est utilisé pour interagir avec AD. Il permet aux opérateurs d'énumérer les utilisateurs, les groupes, les ordinateurs, les trusts et les autorités de certification, ainsi que de modifier les autorisations sur les objets AD. Comme le montre la figure 1 , les modules de Cable prennent en charge des actions telles que la définition de noms de principes de service (SPN), la gestion de l'appartenance à des groupes et l'exploitation de la délégation restreinte basée sur les ressources (RBCD).

Figure 1. Le menu d'aide de Cable affiche les modules disponibles pour l'énumération et l'exploitation d'Active Directory.

Figure 2 montre les options disponibles sous la rubrique ldap qui se concentre sur l'interrogation des objets Active Directory. Il prend en charge l'énumération des utilisateurs, des ordinateurs et des groupes, ainsi que des recherches plus ciblées telles que les comptes avec SPN, la délégation sans contrainte ou les comptes de type adminCount set to 1. Ces options sont utiles pour identifier les comptes qui peuvent être mal configurés ou présenter un risque plus élevé - ou une opportunité, du point de vue d'un attaquant.

Figure 2. Les ldap dans Cable offre une variété d'options pour énumérer les objets AD clés et identifier les comptes avec des attributs intéressants comme les SPN, la délégation sans contrainte, ou la préauthentification Kerberos manquante.

Par exemple, en utilisant la fonction /spns option (Figure 3) vous permet d'énumérer les comptes pour lesquels un SPN a été configuré, ce qui est une étape courante dans les processus de gestion des comptes. Attaques de Kerberoasting. Ces comptes peuvent être ciblés en demandant un ticket de service, qui peut ensuite être forcé hors ligne pour tenter de récupérer le mot de passe.

Figure 3. Cable peut être utilisé pour énumérer les comptes d'utilisateurs dont les SPN sont définis, ce qui est une étape courante lors de la reconnaissance de l'AD afin d'identifier les cibles potentielles de Kerberoasting.

Comment se défendre contre Cable

Cable utilise des requêtes LDAP pour identifier des faiblesses spécifiques dans Active Directory, telles que des serveurs avec une délégation non limitée, des comptes sans pré-authentification Kerberos, des comptes vulnérables à Kerberoasting, et plus encore.

Semperis Directory Services Protector (DSP) (Figure 4) et notre outil communautaire gratuit, Purple Knightpermettent également de détecter les faiblesses d'AD, y compris les problèmes spécifiques ciblés par l'outil Cable.

Figure 4. Cet exemple de sortie de DSP met en évidence divers indicateurs de sécurité d'Active Directory.

Par exemple, comme le montre la figure 5, la DSP comprend plusieurs indicateurs d'exposition (IOE) qui détectent les risques liés aux SPN.

Figure 5. DSP met en évidence les IOE liés aux SPN, y compris les comptes avec une délégation sans contrainte, les utilisateurs privilégiés avec des SPN définis, etc.

Exemple : Détection de l'utilisation de câbles dans AD

Une méthode d'attaque courante, Enterprise CA Security Configuration (ESC1), implique les services de certificats d'Active Directory (AD CS), où des modèles de certificats mal configurés ou trop permissifs peuvent être utilisés pour escalader les privilèges jusqu'à l'administrateur de domaine ou équivalent.

Par exemple, lors d'une reconnaissance, un attaquant peut découvrir que les ordinateurs de domaine ont des droits d'inscription sur un modèle de certificat configuré avec l'option ENROLLEE_SUPPLIES_SUBJECT et le drapeau Client Authentication EKU (Figure 6), une combinaison qui peut ouvrir la voie à une escalade des privilèges.

Figure 6. Cet exemple montre un modèle de certificat vulnérable, dans lequel n'importe quel ordinateur de domaine peut demander un certificat avec l'extension ENROLLEE_SUPPLIES_SUBJECT et Client Authentication EKU, créant ainsi une voie d'escalade des privilèges via ESC1.

Dans notre exemple, où les ordinateurs de domaine sont autorisés à s'inscrire dans un modèle de certificat vulnérable, un attaquant peut utiliser Cable pour créer un nouvel objet ordinateur (Figure 7) pour tirer parti de l'option par défaut ms-DS-MachineAccountQuota et demander un certificat en utilisant ce modèle.

Figure 7. Cable est utilisé pour créer un nouvel objet informatique (EvilPC) en tirant parti de la fonction par défaut MachineAccountQuota de la mise en place.

En outre, l'attaquant peut maintenant utiliser runas.exe pour s'authentifier en tant que compte d'ordinateur nouvellement créé et demander un certificat au modèle ESC1 vulnérable(figure 8). Il peut ainsi se faire passer pour n'importe quel utilisateur de l'environnement, y compris un administrateur de domaine.

Figure 8. Cet attaquant utilise Certify pour demander un certificat à un modèle vulnérable (ESC1) en se faisant passer pour le compte de l'administrateur.

Dans le cadre de la DSP, la récente modification de l'Active Directory créant un objet informatique malveillant a été détectée et enregistrée avec succès(figure 9).

Figure 9. La DSP enregistre la création de l'objet informatique EvilPC, en capturant l'opération, la classe d'objet et les changements d'attributs.

Maintenant que les privilèges d'administrateur de domaine ont été obtenus, un attaquant peut utiliser Cable pour créer une porte dérobée RBCD en modifiant le compte d'ordinateur du contrôleur de domaine cible. En ajoutant l'objet ordinateur qu'il contrôle à la liste de contrôleurs de domaine, il peut créer une porte dérobée RBCD. msDS-AllowedToActOnBehalfOfOtherIdentity attribut (Figure 10), ils s'octroient la possibilité de se faire passer pour n'importe quel utilisateur, y compris des cibles de grande valeur pour ce système, à n'importe quel moment.

Figure 10. Le câble est utilisé pour ajouter le compte de l'ordinateur EvilPC$ à la liste des comptes de l'ordinateur. msDS-AllowedToActOnBehalfOfOtherIdentity du contrôleur de domaine DSP, établissant ainsi une porte dérobée RBCD..

Cable prend en charge l'exécution de requêtes LDAP, qui peuvent être utilisées pour vérifier si des comptes ont une valeur définie pour le paramètre msDS-AllowedToActOnBehalfOfOtherIdentity attribut. En tant que Figure 11 montre que le contrôleur de domaine ciblé reflète la délégation configurée.

Figure 11. Cable est utilisé pour effectuer une requête LDAP confirmant que l'adresse de l'utilisateur est bien la même que celle de l'utilisateur. msDS-AllowedToActOnBehalfOfOtherIdentity est défini sur le contrôleur de domaine cible DSP, ce qui permet de vérifier que la configuration RBCD est en place.

La DSP a également détecté et enregistré avec succès la modification de la msDS-AllowedToActOnBehalfOfOtherIdentity sur le compte d'ordinateur du contrôleur de domaine ciblé (Figure 12).

Figure 12. La DSP enregistre la modification de la msDS-AllowedToActOnBehalfOfOtherIdentity sur le compte de l'ordinateur DSP, indiquant la modification exacte et l'utilisateur responsable.

Dans DSP, le descripteur de sécurité défini pour cet attribut est également analysé, ce qui vous permet de savoir exactement quel compte d'ordinateur a été ajouté. msDS-AllowedToActOnBehalfOfOtherIdentity (Figure 13).

Figure 13. La DSP analyse l'ensemble des descripteurs de sécurité de la carte de crédit. msDS-AllowedToActOnBehalfOfOtherIdentity ce qui montre clairement que le compte informatique EvilPC$ a été ajouté et confirme la présence d'une porte dérobée RBCD.

Cas d'utilisation RBCD : Annulation automatique des modifications apportées au câble

La DSP vous permet de créer des règles d'alerte et de réponse, et comme la msDS-AllowedToActOnBehalfOfOtherIdentity attribut ne doit jamais être modifié sur le compte d'ordinateur d'un contrôleur de domainevous pouvez configurer la DSP pour qu'elle détecte automatiquement ce changement et qu'elle déclenche une alarme. action d'annulation automatique (Figure 14).

Figure 14. Dans cette configuration de règle DSP , nous avons mis en place une détection des abus RBCD ciblant spécifiquement les contrôleurs de domaine. Le filtre LDAP utilisé est (&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=8192))

La figure 15 montre un exemple de DSP effectuant une action d'annulation automatique, ramenant automatiquement le changement à son état précédent.

Figure 15. DSP exécute un retour en arrière automatique en rétablissant l'état d'origine. msDS-AllowedToActOnBehalfOfOtherIdentity sur le contrôleur de domaine DSP.

Aperçu de Semperis

Directory Services Protector offre aux entreprises une visibilité sur les modifications apportées à leur environnement Active Directory. Comme nous l'avons démontré, DSP ne détecte pas seulement les changements à haut risque comme la manipulation d'attributs sensibles tels que msDS-AllowedToActOnBehalfOfOtherIdentity mais il réagit également à ces changements de manière automatique, en ramenant les changements non souhaités à l'état antérieur.

En savoir plus sur la détection et la réponse aux menaces liées à l'identité