Ce document a été conçu pour être une ressource utile et informative pour ceux qui cherchent à comprendre les tactiques, techniques et procédures (TTP) spécifiques que les attaquants utilisent pour compromettre Active Directory, ainsi que des conseils pour l'atténuation, la détection et la prévention. Et comprendre la chaîne de kill Active Directory et l'activité de l'adversaire moderne en post-exploitation.
BadSuccessor - Ce dépôt contient des outils liés à l'attaque BadSuccessor - une nouvelle technique d'élévation de privilèges Active Directory qui exploite une vulnérabilité dans une fonctionnalité introduite dans Windows Server 2025.
AD_Miner - AD Miner est un outil d'audit Active Directory qui utilise des requêtes Cypher pour traiter les données de la base de données graphique #Bloodhound afin de découvrir des faiblesses de sécurité.
Certify - Certify est un outil C# pour énumérer et abuser des mauvaises configurations dans les services de certificats Active Directory (AD CS).
PSPKIAudit - Boîte à outils PowerShell pour auditer les services de certificats Active Directory (AD CS).
PowerView - Framework PowerShell de connaissance situationnelle
Impacket - Impacket est une collection de classes Python pour travailler avec les protocoles réseau
aclpwn.py - Exploitation des ACL Active Directory avec BloodHound
CrackMapExec - Un couteau suisse pour le test de pénétration des réseaux
ADACLScanner - Un outil avec interface graphique ou ligne de commande utilisé pour créer des rapports de listes de contrôle d'accès (DACL) et de listes de contrôle d'accès système (SACL) dans Active Directory
zBang - zBang est un outil d'évaluation des risques qui détecte les menaces potentielles sur les comptes privilégiés
SafetyKatz - SafetyKatz est une combinaison d'une version légèrement modifiée du projet Mimikatz de @gentilkiwi et du chargeur .NET PE de @subTee.
SharpDump - SharpDump est un portage en C# de la fonctionnalité Out-Minidump.ps1 de PowerSploit.
PowerUpSQL - Une boîte à outils PowerShell pour attaquer SQL Server
Rubeus - Rubeus est un ensemble d'outils C# pour l'interaction brute avec Kerberos et ses abus
ADRecon - Un outil qui recueille des informations sur l'Active Directory et génère un rapport pouvant fournir une image globale de l'état actuel de l'environnement AD cible
Mimikatz - Utilitaire pour extraire des mots de passe en clair, des hachages, des codes PIN et des tickets Kerberos de la mémoire, mais aussi effectuer des pass-the-hash, pass-the-ticket ou construire des Golden tickets
Grouper - Un script PowerShell pour aider à trouver des paramètres vulnérables dans la stratégie de groupe AD.
Powermad - Outils PowerShell pour l'exploitation de MachineAccountQuota et DNS
RACE - RACE est un module PowerShell pour exécuter des attaques ACL contre des cibles Windows.
DomainPasswordSpray - DomainPasswordSpray est un outil écrit en PowerShell pour effectuer une attaque par pulvérisation de mots de passe contre les utilisateurs d'un domaine.
MailSniper - MailSniper est un outil de test de pénétration pour rechercher dans les e-mails d'un environnement Microsoft Exchange des termes spécifiques (mots de passe, informations privilégiées, informations d'architecture réseau, etc.)
LAPSToolkit - Outil pour auditer et attaquer les environnements LAPS.
CredDefense - Défense des identifiants et du Red Teaming pour les environnements Windows
ldapdomaindump - Outil de vidage d'informations Active Directory via LDAP
SpoolSample - Outil de preuve de concept pour forcer des hôtes Windows à s'authentifier auprès d'autres machines via l'interface RPC MS-RPRN
adconnectdump - Extraction de mots de passe Azure AD Connect
o365recon - Script pour récupérer des informations via O365 avec des identifiants valides
ROADtools - ROADtools est un framework pour interagir avec Azure AD. I
Stormspotter - Stormspotter crée un « graphe d'attaque » des ressources dans un abonnement Azure.
AADInternals - AADInternals est un module PowerShell pour administrer Azure AD et Office 365
MicroBurst: A PowerShell Toolkit for Attacking Azure - MicroBurst inclut des fonctions et des scripts qui prennent en charge la découverte de services Azure, l'audit de configurations faibles et des actions post-exploitation telles que le vidage d'identifiants.
sam-the-admin - Exploitation de CVE-2021-42278 et CVE-2021-42287 pour usurper l'identité d'un administrateur de domaine à partir d'un utilisateur domaine standard
Invoke-TrimarcADChecks - Le script PowerShell Invoke-TrimarcADChecks.ps1 est conçu pour collecter des données d'une forêt AD à domaine unique afin d'effectuer une évaluation de la sécurité Active Directory (ADSA).
Create-Tiers in AD - Titre du projet Active Directory Auto Deployment of Tiers in any environment
SAMRi10 - Renforcement de l'accès à distance SAM dans Windows 10/Server 2016
Net Cease - Renforcement de l'énumération de session Net
PingCastle - Un outil conçu pour évaluer rapidement le niveau de sécurité d'Active Directory avec une méthodologie basée sur l'évaluation des risques et un cadre de maturité
Reset the krbtgt account password/keys - Ce script vous permet de réinitialiser le mot de passe du compte krbtgt et les clés associées tout en minimisant la probabilité de problèmes d'authentification Kerberos causés par l'opération
RiskySPN - RiskySPNs est une collection de scripts PowerShell axés sur la détection et l'exploitation des comptes associés aux SPN (Service Principal Name).
Deploy-Deception - Un module PowerShell pour déployer des objets leurres Active Directory
SpoolerScanner - Vérifie si MS-RPRN est disponible à distance avec PowerShell/c#
dcept - Un outil pour déployer et détecter l'utilisation de honeytokens Active Directory
LogonTracer - Enquêter sur les connexions Windows malveillantes en visualisant et analysant les journaux d'événements Windows
DCSYNCMonitor - Surveille les attaques DCSYNC et DCSHADOW et crée des événements Windows personnalisés pour ces événements
Sigma - Format de signature générique pour les systèmes SIEM
Sysmon - System Monitor (Sysmon) est un service système Windows et un pilote de périphérique qui, une fois installé sur un système, reste résident lors des redémarrages pour surveiller et enregistrer l'activité système dans le journal des événements Windows.
SysmonSearch - Enquêter sur les activités suspectes en visualisant le journal des événements de Sysmon
ClrGuard - ClrGuard est un projet de preuve de concept pour explorer l'instrumentation du Common Language Runtime (CLR) à des fins de sécurité.
Get-ClrReflection - Détecte les modules CLR (.NET) uniquement en mémoire.
Get-InjectedThread - Get-InjectedThread examine chaque thread en cours d'exécution pour déterminer s'il résulte d'une injection mémoire.
SilkETW - SilkETW et SilkService sont des wrappers C# flexibles pour ETW, conçus pour abstraire les complexités d'ETW et offrir une interface simple pour la recherche et l'introspection.
WatchAD - Système de détection d'intrusion de sécurité AD
Sparrow - Sparrow.ps1 a été créé par l'équipe Cloud Forensics de la CISA pour aider à détecter les comptes et applications potentiellement compromis dans l'environnement Azure/m365.
DFIR-O365RC - Le module PowerShell DFIR-O365RC est un ensemble de fonctions permettant au analyste DFIR de collecter les journaux pertinents pour les enquêtes sur les compromissions de messagerie professionnelle Office 365.
ADTimeline - Le script ADTimeline génère une chronologie basée sur les métadonnées de réplication Active Directory pour les objets considérés comme d'intérêt.
Locksmith - Un petit outil conçu pour trouver et corriger les erreurs de configuration courantes dans les services de certificats Active Directory.
FalconHound - FalconHound est un multi-outil d'équipe bleue. Il permet d'utiliser et d'améliorer la puissance de BloodHound de manière plus automatisée. Il est conçu pour être utilisé conjointement avec un SIEM ou un autre outil d'agrégation de journaux.
PlumHound - Bloodhound pour les équipes bleues et violettes.
Configuration de Sysmon
sysmon-modular - Un référentiel de configuration Sysmon pour que chacun puisse personnaliser
sysmon-dfir - Sources, configuration et comment détecter des choses malveillantes en utilisant Microsoft Sysmon.
sysmon-config - Fichier modèle de configuration Sysmon avec une traçabilité d'événements de haute qualité par défaut
Vérifications de sécurité Active Directory (par Sean Metcalf - @Pyrotek3)
Recommandations générales
Gérez les mots de passe administrateur locaux (LAPS).
Implémentez le mode RDP Restricted Admin (si nécessaire).
Supprimez les systèmes d'exploitation non pris en charge du réseau.
Surveillez les tâches planifiées sur les systèmes sensibles (DC, etc.).
Assurez-vous que les mots de passe de gestion OOB (DSRM) sont changés régulièrement et stockés en toute sécurité.
Utilisez SMB v2/v3+
Le mot de passe par défaut du domaine Administrateur et KRBTGT doit être changé chaque année et lorsqu'un administrateur AD quitte l'organisation.
Supprimez les approbations qui ne sont plus nécessaires et activez le filtrage SID si approprié.
Toutes les authentifications de domaine doivent être configurées (lorsque possible) sur : "Envoyer uniquement une réponse NTLMv2, refuser LM et NTLM."
Bloquez l'accès Internet pour les DC, serveurs et tous les systèmes d'administration.
Protéger les identifiants administrateur
Aucun compte "utilisateur" ou ordinateur dans les groupes d'administration.
Assurez-vous que tous les comptes administrateur sont "sensibles et ne peuvent pas être délégués".
Ajoutez les comptes administrateur au groupe "Utilisateurs protégés" (nécessite des contrôleurs de domaine Windows Server 2012 R2, DFL 2012R2 pour la protection du domaine).
Désactivez tous les comptes administrateur inactifs et retirez-les des groupes privilégiés.
Protéger les identifiants administrateur AD
Limitez l'appartenance aux groupes AD admin (DA, EA, Schema Admins, etc.) et utilisez uniquement des groupes de délégation personnalisés.
Administration 'hiérarchisée' pour atténuer l'impact du vol d'identifiants.
Assurez-vous que les administrateurs se connectent uniquement aux postes de travail et serveurs d'administration approuvés.
Tirez parti de l'appartenance temporaire basée sur le temps pour tous les comptes administrateur.
Protéger les identifiants de compte de service
Limitez-les aux systèmes du même niveau de sécurité.
Utilisez les "Comptes de service gérés (de groupe)" (ou mot de passe > 20 caractères) pour atténuer le vol d'identifiants (kerberoast).
Implémentez FGPP (DFL >= 2008) pour augmenter les exigences de mot de passe pour les SA et les administrateurs.
Restrictions de connexion – empêchez la connexion interactive et limitez la capacité de connexion à des ordinateurs spécifiques.
Désactivez les SA inactifs et retirez-les des groupes privilégiés.
Protéger les ressources
Segmentez le réseau pour protéger les systèmes d'administration et critiques.
Déployez un IDS pour surveiller le réseau interne de l'entreprise.
Dispositifs réseau et gestion OOB sur un réseau séparé.
Protéger les contrôleurs de domaine
Exécutez uniquement les logiciels et services nécessaires à AD.
Groupes (et utilisateurs) minimaux avec droits d'administration/connexion DC.
Assurez-vous que les correctifs sont appliqués avant d'exécuter DCPromo (en particulier MS14-068 et autres correctifs critiques).
Validez les tâches planifiées et les scripts.
Protéger les postes de travail (et serveurs)
Corrigez rapidement, en particulier les vulnérabilités d'élévation de privilèges.
Déployez le correctif de rétroportage de sécurité (KB2871997).
Définissez la clé de registre Wdigest à 0 (KB2871997/Windows 8.1/2012R2+) : HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersWdigest
Déployez la liste blanche des postes de travail (Microsoft AppLocker) pour bloquer l'exécution de code dans les dossiers utilisateur – répertoire personnel et chemin de profil.
Déployez la technologie de sandboxing des applications de poste de travail (EMET) pour atténuer les exploits mémoire d'application (0-day).
Journalisation
Activez l'audit amélioré.
"Audit : forcer les paramètres de sous-catégorie de stratégie d'audit (Windows Vista ou ultérieur) à remplacer les paramètres de catégorie de stratégie d'audit".
Activez la journalisation des modules PowerShell ("*") et transférez les journaux vers un serveur de journaux central (WEF ou autre méthode).
Activez la journalisation des processus CMD et l'amélioration (KB3004375) et transférez les journaux vers un serveur de journaux central.
SIEM ou équivalent pour centraliser autant de données de journal que possible.
Système d'analyse comportementale des utilisateurs pour une meilleure connaissance de l'activité des utilisateurs (comme Microsoft ATA).
Vérifications du professionnel de la sécurité
Identifiez qui possède des droits d'administration AD (domaine/forêt).
Identifiez qui peut se connecter aux contrôleurs de domaine (et droits d'administration sur l'environnement virtuel hébergeant les DC virtuels).
Scannez les domaines Active Directory, les OU, AdminSDHolder et les GPO pour détecter des autorisations personnalisées inappropriées.
Assurez-vous que les administrateurs AD (alias Domain Admins) protègent leurs identifiants en ne se connectant pas à des systèmes non fiables (postes de travail).
Limitez les droits des comptes de service qui sont actuellement DA (ou équivalent).
Mises à jour de sécurité importantes
CVE
Titre
Description
Lien
CVE-2020-1472
Vulnérabilité d'élévation de privilège Netlogon
Une vulnérabilité d'élévation de privilège existe lorsqu'un attaquant établit une connexion de canal sécurisé Netlogon vulnérable à un contrôleur de domaine, en utilisant le protocole distant Netlogon (MS-NRPC). Un attaquant qui exploite avec succès la vulnérabilité pourrait exécuter une application spécialement conçue sur un périphérique du réseau.
Une vulnérabilité de falsification existe dans Microsoft Windows lorsqu'un attaquant de type man-in-the-middle parvient à contourner avec succès la protection MIC (Message Integrity Check) de NTLM, alias 'Vulnérabilité de falsification NTLM Windows'.
Vulnérabilité d'élévation de privilège Active Directory
Une vulnérabilité d'élévation de privilège existe dans les approbations de forêt Active Directory en raison d'un paramètre par défaut qui permet à un attaquant dans la forêt approuvante de demander la délégation d'un TGT pour une identité de la forêt approuvée, alias 'Vulnérabilité d'élévation de privilège Active Directory'.
Vulnérabilité d'exécution de code à distance dans les services Bureau à distance
Une vulnérabilité d'exécution de code à distance existe dans les services Bureau à distance, anciennement appelés services Terminal Server, lorsqu'un attaquant non authentifié se connecte au système cible en utilisant RDP et envoie des requêtes spécialement conçues, alias 'Vulnérabilité d'exécution de code à distance dans les services Bureau à distance'.
Vulnérabilité d'élévation de privilège Microsoft Exchange Server
Une vulnérabilité d'élévation de privilège existe dans Microsoft Exchange Server, alias "Vulnérabilité d'élévation de privilège Microsoft Exchange Server." Cela affecte Microsoft Exchange Server.
4798: La composition d'un groupe local d'utilisateurs a été énumérée 4799: La composition d'un groupe local activé pour la sécurité a été énumérée
AdminSDHolder
4780: La liste de contrôle d'accès (ACL) a été définie sur des comptes membres des groupes d'administrateurs
Kekeo
4624: Connexion du compte 4672: Connexion administrateur 4768: Demande de ticket TGS Kerberos
Silver Ticket
4624: Connexion du compte 4634: Déconnexion du compte 4672: Connexion administrateur
Golden Ticket
4624: Connexion du compte 4672: Connexion administrateur
PowerShell
4103: Journalisation des blocs de script 400: Cycle de vie du moteur 403: Cycle de vie du moteur 4103: Journalisation des modules 600: Cycle de vie du fournisseur
DCShadow
4742: Un compte d'ordinateur a été modifié 5137: Un objet du service d'annuaire a été créé 5141: Un objet du service d'annuaire a été supprimé 4929: Un contexte de nommage source de réplication Active Directory a été supprimé
Skeleton Keys
4673: Un service privilégié a été appelé 4611: Un processus de connexion approuvé a été enregistré auprès de l'autorité de sécurité locale 4688: Un nouveau processus a été créé 4689: Un nouveau processus s'est terminé
PYKEK MS14-068
4672: Connexion administrateur 4624: Connexion du compte 4768: Demande de ticket TGS Kerberos
Kerberoasting
4769: Un ticket Kerberos a été demandé
S4U2Proxy
4769: Un ticket Kerberos a été demandé
Mouvement latéral
4688: Un nouveau processus a été créé 4689: Un processus s'est terminé 4624: Un compte a été connecté avec succès 4625: Un compte n'a pas pu se connecter
DNSAdmin
770: La DLL du plug-in du serveur DNS a été chargée 541: Le paramètre serverlevelplugindll sur la portée . a été défini sur <dll path> 150: Le serveur DNS n'a pas pu charger ou initialiser la DLL du plug-in
DCSync
4662: Une opération a été effectuée sur un objet
Attaque par pulvérisation de mots de passe
4625: Un compte n'a pas pu se connecter 4771: La pré-authentification Kerberos a échoué 4648: Une tentative de connexion a été effectuée en utilisant des informations d'identification explicites
Vulnérabilité d'exécution de code à distance SMB Windows
Le serveur SMBv1 dans Microsoft Windows Vista SP2 ; Windows Server 2008 SP2 et R2 SP1 ; Windows 7 SP1 ; Windows 8.1 ; Windows Server 2012 Gold et R2 ; Windows RT 8.1 ; et Windows 10 Gold, 1511 et 1607 ; et Windows Server 2016 permet à des attaquants distants d'exécuter du code arbitraire via des paquets spécialement conçus, alias "Vulnérabilité d'exécution de code à distance SMB Windows". Cette vulnérabilité est différente de celles décrites dans CVE-2017-0144, CVE-2017-0145, CVE-2017-0146 et CVE-2017-0148.
Vulnérabilité de rétrogradation SAM et LSAD Windows
Les implémentations des protocoles SAM et LSAD dans Microsoft Windows Vista SP2, Windows Server 2008 SP2 et R2 SP1, Windows 7 SP1, Windows 8.1, Windows Server 2012 Gold et R2, Windows RT 8.1 et Windows 10 Gold et 1511 n'établissent pas correctement un canal RPC, ce qui permet à des attaquants de type man-in-the-middle de mener des attaques de rétrogradation de protocole et d'usurper l'identité d'utilisateurs en modifiant le flux de données client-serveur, alias "Vulnérabilité de rétrogradation SAM et LSAD Windows" ou "BADLOCK".
Vulnérabilité dans Kerberos permettant une élévation de privilège (3011780)
Le centre de distribution de clés Kerberos (KDC) dans Microsoft Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2 et R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1 et Windows Server 2012 Gold et R2 permet à des utilisateurs de domaine authentifiés à distance d'obtenir des privilèges d'administrateur de domaine via une signature falsifiée dans un ticket, comme exploité dans la nature en novembre 2014, alias "Vulnérabilité de somme de contrôle Kerberos".
Vulnérabilité dans les préférences de stratégie de groupe pouvant permettre une élévation de privilège
L'implémentation de la stratégie de groupe dans Microsoft Windows Vista SP2, Windows Server 2008 SP2 et R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1 et Windows Server 2012 Gold et R2 ne gère pas correctement la distribution des mots de passe, ce qui permet à des utilisateurs authentifiés à distance d'obtenir des informations d'identification sensibles et ainsi d'obtenir des privilèges en tirant parti de l'accès au partage SYSVOL, comme exploité dans la nature en mai 2014, alias "Vulnérabilité d'élévation de privilège par mot de passe des préférences de stratégie de groupe".