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 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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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).
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).
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).
(&(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.
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.