Comment Sécuriser Active Directory des Cyberattaques

Table des Matières

L’utilisation d’Active Directory par Microsoft est répandu dans la majorité des organisations et constitue une cible commune pour les pirates informatiques. Une attaque réussite sur AD peut entraîner le déploiement de ransomware et le vol d’informations sensibles, ce qui peut coûter cher à une organisation et avoir un impact négatif sur son image publique.

En tant qu’équipe de spécialistes en test d’intrusion chez Vumetric, nous attaquons (et compromettons) régulièrement les environnements Active Directory de nos clients afin d’améliorer leur sécurité. Ce faisant, il est devenu évident que l’implémentation par défaut d’AD est souvent peu sécuritaire et sujette à des erreurs de configuration courantes qui augmentent les cyber risques. Les réseaux Windows privilégient souvent la compatibilité plutôt que la sécurité, ce qui les rend vulnérables aux attaques.

Cet article couvre les attaques les plus courantes et la manière de sécuriser Azure Directory contre elles en utilisant des exemples réels issus de notre méthodologie de test d’intrusion. L’accent sera mis sur les implémentations traditionnelles d’Active Directory – et non sur Azure AD – bien que certains concepts se chevauchent.

À quoi ressemblent les attaques concrètement

Nous supposons généralement que les attaquants ont obtenu un certain niveau d’accès, tel que le suivant :

  • Une campagne de phishing qui a compromis le poste de travail d’un utilisateur à faible niveau de privilège.
  • Un pirate qui a compromis un système externe avec un accès au réseau interne.
  • Un acteur malveillant ayant un accès interne, tel qu’un employé mécontent.
  • Un attaquant ayant un accès physique ou sans fil au réseau interne.

À partir d’un simple point d’entrée, d’autres attaques peuvent être lancées. Ultimement, l’objectif d’un attaquant est d’obtenir les informations d’identification d’utilisateurs à haut niveau de privilège et, éventuellement, d’un administrateur de domaine afin de prendre le contrôle total de l’environnement AD. Par la suite, un ransomware peut être déployé, des informations sensibles peuvent être exfiltrées et les tentatives d’extorsion peuvent commencer.

Nous simulons régulièrement ce type de scénario pendant nos tests d’intrusion en travaillant à partir d’un point d’appui avec un niveau de privilère faible dans le but d’escalader les privilèges par les chemins d’attaque suivants.

« Empoisonner » le réseau

L’attaque

En utilisant notre point d’appui initial, nous ciblons des protocoles Windows spécifiques pour les attaques de type « man-in-the-middle » dans le but de capturer les « hashes » de mots de passe des utilisateurs du réseau ; plus précisément, les protocoles de résolution de noms pour les fichiers et les ressources Web, tels que LLMNR, NetBIOS Name Resolution et WPAD, qui sont généralement activés par défaut et intrinsèquement non sécurisés.

Voici un exemple de capture de hachages à l’aide de l’outil Python Responder :
Securing Active Directory

Ce type d’attaque peut également être lancé depuis Windows à l’aide d’une suite de scripts PowerShell appelée Inveigh.

Nous obtenons ainsi les hachages de mots de passe des utilisateurs du réseau qui nous permettront de nous déplacer latéralement ou d’élever nos privilèges. Les hachages de mots de passe peuvent être craqués hors ligne ou utilisés dans des attaques plus avancées de type « pass-the-hash » et « relay » pour y parvenir.

Prévention

La prévention de cette attaque consiste à désactiver les protocoles non sécurisés via la stratégie de groupe…

  • LLMNR (résolution de noms de multidiffusion)
  • Résolution de noms NetBIOS (NBNS)
  • WPAD (Web Proxy Auto-Discovery)

…et l’application de la signature SMB requise tout en désactivant la prise en charge du protocole SMBv1 non sécurisé. La suppression de la prise en charge de ces anciens protocoles et configurations devrait figurer en tête de la liste de tous les administrateurs système qui souhaitent sécuriser Active Directory.

Prendre note : ces protocoles et configurations peuvent être nécessaires pour prendre en charge certains services réseau et systèmes existants. Il convient d’étudier l’impact potentiel avant de déployer ces politiques. Ceci s’applique à toutes les recommandations faites dans ce post.

Vider la mémoire

L’attaque

Windows stocke en mémoire les mots de passe hachés et parfois en texte clair, ce qui évite aux utilisateurs de devoir saisir à plusieurs reprises leur mot de passe pour accéder aux ressources du réseau.

Malheureusement, cela signifie également que les attaquants peuvent récupérer ces informations d’identification pour tous les utilisateurs ayant des sessions sur un hôte compromis.

Si un administrateur de domaine est connecté à un système auquel un attaquant a accès, cela peut signifier que la sécurité d’un réseau est vulnérable.

Pour récupérer les informations d’identification en mémoire, un attaquant doit avoir un accès administratif local au système qu’il cible.

Cela peut leur être accordé :

  • dans le cadre des autorisations de leur utilisateur de domaine actuel, en exploitant une vulnérabilité du système sous-jacent.
  • ou par la réutilisation de mots de passe administratifs locaux – une pratique courante chez les administrateurs système.

Un outil tel que Mimikatz peut être utilisé pour extraire les informations d’identification de la mémoire d’un système Windows :

Securing Active Directory

Cette opération peut également être effectuée à l’échelle du réseau à l’aide d’un autre outil appelé CrackMapExec:

Securing Active Directory From Attacks

Comme pour le chemin d’attaque précédent, ces « hashes » de mots de passes peuvent être craqués ou réutilisés pour augmenter notre niveau de privilège, nous déplacer latéralement dans le réseau ou lancer des attaques supplémentaires.

Prévention

Il peut être difficile de prévenir ce type d’attaque, mais les points suivants peuvent vous aider :

  • Ne réutilisez pas les mots de passe administratifs locaux ; utilisez plutôt une solution comme LAPS de Microsoft.
  • Mettez en œuvre des mesures d’atténuation du vidage de la mémoire, telles que LSA Protection et CredGuard.
  • Adoptez une bonne hygiène d’administrateur de domaine : les DA ne doivent se connecter qu’à des systèmes non partagés comme les contrôleurs de domaine ; les administrateurs doivent utiliser des comptes « techniciens » distincts pour leurs tâches quotidiennes.
  • Déployez un antivirus doté d’un système de protection contre la fraude qui ne peut être désactivé ou supprimé, même par les utilisateurs disposant d’un accès administratif local.

Les faiblesses de Kerberos

L’attaque

Kerberos est un protocole d’authentification basé sur des tickets, utilisé sur les réseaux Windows. Deux mauvaises configurations de Kerberos peuvent permettre aux attaquants de demander des hachages de mots de passe pour les comptes associés, qui peuvent être hautement privilégiés ou même des administrateurs de domaine. À partir de là, les attaquants peuvent essayer de craquer les hachages de mots de passe dans une attaque hors ligne afin d’accéder aux comptes.

La première attaque, connue sous le nom de « Kerberoasting », exige que l’attaquant ait au moins un accès d’utilisateur de domaine pour récupérer les hachages de mots de passe d’un compte AD auquel est attribué un Service Principal Name (SPN). Les SPN sont utilisés pour associer un service à un compte AD (et lui accorder les autorisations associées), mais ils exposent également ce compte à la divulgation du hachage de mot de passe via Kerberoast :

Nous voyons ici un hachage de mot de passe récupéré via Kerberoast en utilisant GetUserSPNs de Impacket. Plusieurs autres outils tels que Mimikatz peuvent également réaliser cette attaque.

À partir de là, nous pouvons tenter de craquer le mot de passe de cet utilisateur pour accéder à son compte.

Une autre attaque vise les comptes pour lesquels la pré-authentification Kerberos est désactivée, généralement par souci de compatibilité. Comme dans le scénario précédent, un attaquant ayant accès à au moins un compte d’utilisateur de domaine – ou n’ayant pas accès au domaine et disposant d’une liste de noms d’utilisateur valides – peut récupérer le hachage du mot de passe des comptes associés :

Securing Active Directory

Une fois de plus, nous utilisons Impacket et GetNPUsers pour récupérer les hachages alors que quelque chose comme Rubeus peut le faire depuis Windows. Ceci est connu sous le nom de « ASREPRoasting ».

Nous constatons souvent ces erreurs de configuration lors des pentests et les attaquants sont parfois en mesure d’accéder à des comptes sensibles (y compris les administrateurs de domaine) de cette manière, ce qui conduit à une compromission rapide du domaine AD associé.

Prévention

Les étapes suivantes peuvent prévenir et atténuer ces attaques :

  • Réduisez au minimum l’utilisation des SPN dans la mesure du possible.
  • Lorsque vous utilisez des SPN, appliquez le principe du moindre privilège  en ce qui concerne l’accès qu’ils accordent.
  • N’associez jamais les SPN aux administrateurs de domaine.
  • Ne désactivez pas la pré-authentification Kerberos, en particulier pour les comptes sensibles, tels que les administrateurs de domaine.
  • Pour tous les scénarios où les SPN doivent être utilisés ou le pré-auth désactivé, imposez l’utilisation de mots de passe extrêmement complexes. Supposez que les hachages de mots de passe des comptes associés soient essentiellement publics, de sorte qu’il ne devrait pas être possible de les craquer avec une quantité réaliste de ressources.

Recensement et exploitation

L’attaque

Si nous n’avons pas réussi à escalader nos privilèges par les moyens décrits précédemment lors d’un pentest, il est temps de chercher d’autres options. Il existe trois voies d’attaque qui sont souvent fructueuses et qui mènent à la compromission d’un environnement Active Directory :

  1. Analyse des vulnérabilités : C’est simple : les services non corrigés conduisent à la compromission de comptes et de ressources sensibles. Les hyperviseurs sont une cible courante car ils doivent être corrigés manuellement, ce qui entraîne une interruption de service pour tous les hôtes virtuels associés. Cela signifie qu’ils sont souvent négligés et restent vulnérables aux exploits critiques, tels que CVE-2021-21972 pour VMWare.
  2. Identifiants par défaut : En règle générale, lors des pentests, au moins un service sera accessible à l’aide d’un nom d’utilisateur et d’un mot de passe par défaut, comme « admin »/ »admin ». Plus d’une fois, cela a conduit directement à la compromission d’un compte d’administrateur de domaine.
  3. Vérification des partages réseau : Nous trouvons régulièrement des partages réseau non mappés qui sont accessibles aux utilisateurs réguliers du domaine, y compris des partages « IT » qui contiennent souvent des mots de passe en clair, des licences, des fichiers de configuration et d’autres informations qui peuvent être utilisées pour accéder à des comptes et services supplémentaires sur le réseau.

En gros, nous allons énumérer autant d’informations que possible sur ce qui est accessible sur le réseau, puis exploiter les faiblesses à notre avantage.

Prévention

Les principes de base ! Changez les mots de passe par défaut et ne stockez jamais les mots de passe en clair – surtout pas dans les partages réseau accessibles par les utilisateurs habituels ; des gestionnaires de mots de passe devraient être utilisés pour suivre ces informations. Maintenez les systèmes à jour, y compris les périphériques réseau, les hôtes de machines virtuelles, les dépendances logicielles et tout ce qui n’est pas mis à jour automatiquement. Il est facile de négliger les mises à jour manuelles qui peuvent nécessiter des temps d’arrêt programmés, ce qui peut laisser des systèmes critiques exposés à des attaques. Dans ces deux cas, il s’agit de faire ce qui est sûr – et non ce qui est pratique.

Résumé sur comment sécuriser Active Directory

Les cyberattaques contre les organisations devenant de plus en plus fréquentes et sophistiquées, le durcissement des systèmes et la défense proactive deviennent essentiels. Résumons les mesures de base que vous pouvez prendre :

  • Désactivez LLMNR/NetBIOS Name Resolution/WPAD pour empêcher les attaques par empoisonnement.
  • Renforcez la signature SMB et désactivez SMBv1 pour limiter les attaques de type « manin-the-middle ».
  • Mettez en œuvre des mesures d’atténuation LAPS et memory-dumping pour protéger les comptes et les ressources si une compromission limitée a eu lieu.
  • Sécurisez votre configuration Kerberos.
  • Faites respecter l’utilisation de mots de passe forts et l’hygiène des mots de passe, en particulier pour les comptes sensibles.
  • Faites ce qu’il faut : Appliquez des correctifs à vos systèmes, exécutez et surveillez un système de prévention des intrusions (IPS), vérifiez les ressources de votre réseau et le système de contrôle d’accès, surveillez les journaux, maintenez des sauvegardes solides et restez au courant des dernières menaces et méthodes d’attaque.

Bien que ces éléments soient un bon début, ils ne représentent que la partie émergée de l’iceberg dans le domaine de la cybersécurité qui évolue rapidement. Pour une tranquillité d’esprit et une approche plus approfondie du renforcement du réseau, les organisations devraient régulièrement faire appel à des experts pour un audit de sécurité ou un test d’intrusion réseau. Si vous souhaitez obtenir plus d’informations, contactez directement un spécialiste.

 

Partagez cet article sur les réseaux sociaux:

Abonnez-vous à l'Infolettre!
Abonnez-vous à notre bulletin mensuel pour rester au fait des principaux risques de cybersécurité.

Publications Récentes

Catégories

Principaux Services

Les Dernières Articles de Vumetric

Qu’il s’agisse des tendances du secteur ou des meilleures pratiques recommandées, lisez-le ici en premier :

Faites nous part de vos besoins.
Obtenez une réponse le même jour ouvrable.

Faites nous part de vos besoins. Obtenez une réponse le même jour ouvrable.

Complétez le formulaire suivant et obtenez la réponse d’un expert le prochain jour ouvrable.
Un besoin urgent? Appelez-nous au 1-877-805-7475 ou prenez rendez-vous.
PCI-DSS

Une fois le formulaire envoyé:

  • Nous vous contactons pour connaître vos objectifs
  • Nous travaillons ensemble pour définir la portée du projet.
  • Vous obtenez une soumission tout incluse, sans engagement.