Authentification 802.1x dans un environnement AD CS en Server Core
Contexte et objectifs
Introduction
Le but de cette infrastructure est d’implĂ©menter une authentification 802.1X au sein d’une PKI dans un environnement AD DS et AD CS respectant la distinction entre 3 tiers.
Phase 1 - Active Directory DS


clic yes

Entrer le mot de passe une premiÚre fois puis appuyer sur TAB pour accéder à la deuxiÚme ligne

Vous arrivez sur cette fenĂȘtre lĂ
Disposition du clavier
Pour entrer dans la console Powershell, taper 15, puis entrer cette commande pour mettre en français la disposition du clavier :
Set-WinUserLanguageList -LanguageList "fr-FR"
#ou
Set-WinUserLanguageList -LanguageList fr-FR -Force

ParamÚtres réseau
Tapez 8 pour rentrer dans l’administration du rĂ©seau. VĂ©rifiez que vous obteniez bien une adresse IP. Il faut dĂ©sormais rentrer sa propre IP en tant que serveur DNS.
Renommer la machine

Activer le RDP
Taper 7
puis E
pour activer le RDP :
A partir de maintenant, on va pouvoir administrer le Windows Server qui est un AD DS en devenir depuis la machine d’administration. On passe Ă l’installation de la VM d’administration
Installation du rĂŽle AD DS
Lancer un PowerShell (Taper 15) et
Install-WindowsFeature AD-Domain-Services âIncludeManagementTools -Verbose
pour installer le rĂŽle Windows

Pour vĂ©rifier c’est bien installĂ© :
Get-WindowsFeature -Name *AD*

Paramétrage du domaine
Installation de la forĂȘt
Lors de l’installation de la forĂȘt, l’ordinateur devient dĂ©sormais ContrĂŽleur de domaine.
Install-ADDSForest -DomainName auteqia.local

Phase 2 - VM d’administration
Installatin d’un Windows Server avec un environnement graphique.
Pourquoi Windows Server ? Car c’est une VM de rebond sur laquelle il y aura parfois plusieurs connexions simultanĂ©es. Windows Server gĂšre multiples connexions RDP en simultanĂ© tandis que Windows standard non.

AprĂšs avoir activĂ© le RDP, changĂ© le nom d’hĂŽte, vĂ©rifiĂ© les paramĂštres rĂ©seaux et redĂ©marrĂ© la machine, on va pouvoir rejoindre le domaine. Veiller Ă bien mettre le serveur de nom de domaine correspondant Ă l’AD dans les paramĂštres rĂ©seaux.
Ajoutons la machine dans le domaine:
Une fois l’ordinateur joint au domaine, redĂ©marrer.
On va pouvoir ajouter le serveur Ă administrer depuis notre machine d’administration.
Ajouter les RSAT
Get-WindowsFeature | Where{ $_.Name -like "RSAT-*" }
Ce qui donne :
Pour installer les features nécessaires :
Install-WindowsFeature -Name "RSAT-AD-Tools" -IncludeAllSubFeature -IncludeManagementTools

Ajout du DC dans les serveurs distants
[!NOTE] Attention Il faudra se connecter avec un utilisateur administrateur du domaine sur la machine
Sur le gestionnaire de serveur, aller sur Dashboard
et “Add other servers to manage”
Cliquer sur Add Other servers to manage

Ici on va ajouter le DC en double cliquant dessus

On peut dĂ©sormais voir les rĂŽles que l’on peut administrer Ă distance ici

Administration du DC01
Ajout dans la MMC
Lancer la MMC, puis ajouter un composant (snap-in)

Ajouter “Computer Management”
DĂ©sormais, on peut administrer nos utilisateurs et ordinateurs du domaine Ă partir de notre machine d’administration, en ayant notre ContrĂŽleur de Domaine en Windows Core.
Ajout des Tiers dans l’Active Directory
Voici les documentations de l’ANSSI en matiĂšre d’Active Directory :
- Points de contrĂŽles de l’Active Directory
- Recommandations pour l’administration sĂ©curisĂ©e des systĂšmes d’information reposant sur la solution Active Directory
Ce modĂšle d’administration dĂ©coupe en trois tiers
(niveau en français) l’administration allant du tier 2, le moins privilĂ©giĂ© au tier 0 servant Ă l’administration d’un contrĂŽleur de domaine.
On y voit notamment dans le deuxiÚme document une référence au tiering


Notre machine DC01
vient se placer dans le tier 0 tandis que notre machine d’administration vient se placer dans le tier 1. Ces tiers peuvent prendre la forme d’UnitĂ© d’Organisation (OU, Organisational Unit en anglais) sur lesquelles des GPO peuvent s’appliquer de maniĂšre Ă gĂ©rer les permissions.

Tier | PrivilĂšges et RĂŽles | Exemples |
---|---|---|
Tier 0 | Administration du domaine & des DCs, contrĂŽle total sur AD | ContrĂŽleurs de domaine (DC), Administrateurs de domaine, Serveurs PKI |
Tier 1 | Administration des serveurs et applications sensibles | Serveurs membres AD, VM dâadministration, Administrateurs serveurs |
Tier 2 | Comptes utilisateur standard et postes de travail | Postes utilisateurs, Comptes bureautiques |
- le Tier 1 correspond aux serveurs sensibles , qui requiÚrent une administration sécurisée .
- Administrer un serveur Windows AD ne doit PAS ĂȘtre fait depuis Tier 2 (postes utilisateurs).
Créations des Organisational Units par tiers
Pour se faire, nous allons séparer par des OU les différents tiers pour arriver à cette organisation là :

Pour l’instant, nous crĂ©ons simplement les OU et nous les peuplons, l’application des GPO viendra aprĂšs la mise en place de la PKI. Actuellement, notre machine SERVERADMIN se situe dans Computers
, je vais le glisser dans Ordinateurs\Tier 1

De maniÚre à ce que ça nous donne ceci :
Phase 3 - Autorités de certification
Nous allons pouvoir dĂ©ployer nos deux Windows Server core 2022 qui seront respectivement l’AutoritĂ© de certification racine et l’autoritĂ© de certification intermĂ©diaire.
Notre schéma est simple :
- La CA (certification authority) racine est la source de confiance principale, elle agit sur tout le domaine par l’intermĂ©diaire de la CA intermĂ©diaire
- La CA intermĂ©diaire est autorisĂ©e Ă dĂ©ployer des certificats sous la confiance de l’autoritĂ© racine
- Les postes et utilisateurs auront donc un certificat issu par la CA intermĂ©diaire, qui elle mĂȘme voit son certificat issu par la CA racine
Nous pouvons imaginer ce schema :
Notre autoritĂ© de certification racine n’est pas dans l’Active Directory et doit ĂȘtre Ă©teint 99% du temps. En effet, elle intervient pour renouveler le certificat de l’autoritĂ© intermĂ©diaire Ă chaque fin de validitĂ© de certificat (5 ans dans notre cas). Au contraire, l’autoritĂ© de certification intermĂ©diaire doit se situer dans l’Active Directory, dans le Tier 0.
Autorité de certification racine
AprĂšs avoir installĂ© le serveur Windows Core 2022, changĂ© le nom d’hĂŽte, vĂ©rifiĂ© les paramĂštres rĂ©seaux, nous pouvons installer le rĂŽle. N’oubliez pas d’activer le RDP, ça nous sera utile par la suite.
Notre machine s’appelle donc ROOTCA
Installation du rĂŽle
Install-WindowsFeature ADCS-Cert-Authority -IncludeManagementTools
Configuration du rĂŽle
Install-AdcsCertificationAuthority -CAType StandaloneRootCA -CACommonName "CAROOT" -KeyLength 4096 -HashAlgorithm SHA256 -ValidityPeriod Years -ValidityPeriodUnits 10 -Force
Notre AutoritĂ© de certification s’appellera CAROOT (Ă ne pas confondre avec ROOTCA
qui est le nom d’hĂŽte) et portera son certificat valide pendant 10 ans.

On peut désormais voir le certificat de la CAROOT dans C:\CAConfig

Troubleshooting
Il se peut que vous ayez des problĂšmes Ă cette Ă©tape, voici quelques commandes utiles :
Lister les certificats sur la machine : certutil -viewstore root
Lister les autorités de certifications stockées : certutil -store CA
Confirmer que la CA est bien installée : certutil -cainfo
VĂ©rifier l’Ă©tat du service : Get-Service -Name CertSvc
Autorité de certification intermédiaire
AprĂšs avoir installĂ© notre CAROOT, nous devons install un serveur Windows Core 2022, changer le nom d’hĂŽte, vĂ©rifier les paramĂštres rĂ©seaux et nous pouvons l’ajouter du domaine. Attention, la machine doit possĂ©der le DC01 en tant que serveur DNS. N’oubliez pas d’activer le RDP, ça nous sera utile pour la suite.
Notre machine s’appelle donc CASUB01
.
Ajout du domaine
Taper 1 pour rentrer dans la configuration du domaine

Une fois ajoutĂ©e au domaine, la machine doit ĂȘtre dĂ©placĂ©e dans l’OU Ordinateurs\Tier 0
Installation du rĂŽle
Tout comme la CAROOT :
Install-WindowsFeature ADCS-Cert-Authority -IncludeManagementTools

Une fois le rÎle installé, il faut le paramétrer.
Ajout de la SUBCA01 dans le Server Manager
Une fois ajoutĂ©e dans la gestion des serveurs, on peut configurer l’ADCS depuis notre machine d’administration :

Paramétrage du rÎle en GUI











TransfĂ©rer la requĂȘte par Partage SMB
Sur la SUBCA01
cd C:\
mkdir share
mv "C:\.\CASUB01.auteqia.local_auteqia-CASUB01-CA.req" "C:\share"
New-SmbShare -Name "share" -Path "C:\share" -FullAccess "Domain Admins"
Maintenant sur la ROOTCA :
Copy-Item -Path "\\CASUB01\share\CASUB01.auteqia.local_auteqia-CASUB01-CA.req" -Destination "C:\" #possible de faire par IP plutĂŽt que nom d'hĂŽte
Sur la ROOTCA :
Signer la requĂȘte
Sur la CAROOT, il faut dĂ©sormais signer la requĂȘte de certificat de la SUBCA01 :
certreq -submit C:\CASUB01.auteqia.local_auteqia-CASUB01-CA.req C:\CASUB01-Cert.crt

Une pop-up va apparaĂźtre, cliquer sur OK.
La requĂȘte est dĂ©sormais en attente
Vous recevez un message disant que “Le certificat est en attente” (status: pending ). La RequestID est de 4
.
Ce message signifie que la requĂȘte CSR de la Sub CA a bien Ă©tĂ© soumise, mais doit ĂȘtre approuvĂ©e manuellement par un administrateur sur la Root CA.
On peut donc désormais signer notre certificat qui est en attente :
certutil -resubmit 4

Et retrouver le certificat signé :
certreq -retrieve 4 C:\CASUB01-Cert.crt

Le certificat de la SUBCA01 signé est désormais disponible ici : C:\SUBCA01-Cert.crt
Transférer le certificat signé sur la SUBCA01
On peut faire le mĂȘme cheminement que pour le premier transfert, sur la ROOTCA :
Copy-Item -Path "C:\CASUB01-Cert.crt" -Destination "\\CASUB01\share\"
Import du certificat de la ROOTCA sur la SUBCA01 par SMB
De la mĂȘme maniĂšre, en passant par SMB, le fichier C:\CAConfig\CAROOT_CAROOT.crt
. Pour le transférer :
Sur la CAROOT :
Copy-item -Path .\CAConfig\CAROOT_CAROOT.crt -Destination "\\SUBCA01\share\"
Une fois le fichier transfĂ©rĂ© sur la CASUB01, il faut l’ajouter au magasin “Trusted Root Certification Authorities” :
certutil -addstore -f "Root" "C:\share\CAROOT_CAROOT.crt"

Et publier le certificat de la CAROOT dans l’AD :
certutil -f -dspublish .\CAROOT_CAROOT.crt RootCA
De cette maniÚre, la chaßne de confiance est déployée à tous les ordinateurs et utilisateurs du domaine.
On peut vérifier notre schéma de confiance :

Import du certificat signé dans la SUBCA01
Ensuite, on peut importer le certificat de la SUBCA01 signé :
certutil -installcert C:\share\CASUB01-Cert.crt


Cette erreur signifie que le serveur de rĂ©vocation des certificats (CRL - Certificate Revocation List) n’est pas accessible lors de la vĂ©rification de la chaĂźne de certification. Cela empĂȘche le systĂšme d’authentifier correctement le certificat , car il ne peut pas confirmer s’il a Ă©tĂ© rĂ©voquĂ© ou non.
Sur la ROOTCA on peut vĂ©rifier qu’il existe bien une CRL

On va la copier depuis la ROOTCA vers la CASUB01 :
Copy-Item -Path "C:\Windows\System32\CertSrv\CertEnroll\CAROOT.crl" -Destination "\\CASUB01\share\"
certutil -dsPublish -f .\CAROOT.crl CAROOT

certutil -addstore -f "Root" C:\share\CAROOT.crl

Il faut donc redémarrer le service :
Restart-Service CertSvc
#ou
Start-Service CertSvc
VĂ©rification dans la VM d’administration
Pour pouvoir administrer le rĂŽle d’autoritĂ© de certification, il faut installer les RSAT-ADCS :
Install-WindowsFeature RSAT-ADCS

le rĂŽle Certification Authority est dĂ©sormais accessible depuis la MMC du serveur d’administration


Nous pouvons donc administrer la CA intermĂ©diaire depuis notre VM d’administration
ModĂšle de certificat
Pour pouvoir prĂ©tendre Ă une authentification 802.1x, qu’elle soit filaire ou sans fil, le serveur NPS (RADIUS) qui verra prochainement la lumiĂšre du jour doit pouvoir s’authentifier avec un modĂšle de certificat spĂ©cifique : RAS and IAS Server
.
Duplication du modĂšle RAS et IAS
Pour pouvoir publier un modĂšle de certificat, il faut cloner le modĂšle existant.
Pour y parvenir, il faut cliquer sur Certificate Template
, puis Manage
.

Dans les modÚles, on y voit celui qui nous intéresse :
Clic droit, puis dupliquer le modĂšle. Une fois dedans, il faut aller dans Security, et permettre aux membres du groupes RAS and IAS Servers
de demander automatiquement un certificat de ce type. A savoir, le serveur NPS sera directement ajouté en tant que membre de ce groupe.

Et lui donner un petit nom
Duplication du modĂšle Utilisateur
On peut en profiter pour dupliquer le modĂšle de certificat Utilisateur, qui sera utilisĂ© pour s’authentifier. On procĂšde de la mĂȘme maniĂšre : Authenticated Users
dispose du droit de lecture sur le modĂšle et
Domain Users
dispose du droit de lecture, d’enroll et d’autoenroll.
Publication des modĂšles
Une fois ça fait, il faudra publier les modÚles :


DĂ©sormais, les deux modĂšles de certificats sont autorisĂ©s Ă ĂȘtre utilisĂ©s.
GPO d’autoenrollment
Pour que les utilisateurs du domaine ainsi que le serveur NPS (membre du groupe RAS et IAS) puisse demander automatiquement des certificats, il faut crĂ©er une GPO dans l’Active Directory qui le permet.
Installer les outils de gestion de GPO :
Install-WindowsFeature GPMC -IncludeManagementTools
Lancer la MMC, et sélectionner Group Policy Management
. On voit ici que les deux composants de la MMC sont accessibles depuis la mĂȘme interface

CrĂ©ation d’une GPO d’autoenrollment Utilisateurs
On va placer une GPO au niveau de l’OU Utilisateurs

On notera ici que le groupe sur lequel s’applique la GPO est “Domain Users” et non pas “Authenticated Users”.
Il faut modifier la GPO pour activer l’autoenrollement

Appliquer la GPO. Tous les utilisateurs du domaine dans l’OU Utilisateurs
et celles en dessous pourront autoenroll Ă un certificat.
CrĂ©ation d’une GPO d’autoenrollment RAS et IAS
On va procĂ©der de la mĂȘme maniĂšre pour la GPO qui servira au serveur NPS. Ce dernier se trouve dans le Tier 1
(se rĂ©fĂ©rer aux guides de l’ANSSI sur le Tiering).

Il faut activer le mĂȘme paramĂštre mais dans Computer Configuration
cette fois ci :

Phase 4 - Serveur NPS (RADIUS)
Paramétrage de la machine
[!NOTE] Attention Le rĂŽle NPS n’est pas disponible en Windows Server Core. Il faut donc installer un Windows Server avec une interface graphique
AprĂšs avoir vĂ©rifiĂ© l’adresse IP, changĂ© le nom de la machine, ajoutĂ© l’AD en DNS et ajoutĂ© dans le domaine, nous pouvons installer le NPS.
Ajout de la machine dans les serveurs sur la VM d’administration

Ajout du rĂŽle NPS
Dans la gestion des serveurs, on peut ajouter un rÎle au serveur NPS fraßchement ajouté


Suivre les configurations par défaut
Il devrait apparaĂźtre le rĂŽle NPAS dans le Server Manager :
[!WARNING] Le tiering Pensez Ă glisser le serveur NPS dans l’OU Computers\Tier 1
Pensez Ă installer les RSAT liĂ©s au NPS sur la machine d’administration:
Install-WindowsFeature -Name NetworkPolicyAndAccessServices -IncludeManagementTools

Configuration du rĂŽle NPS
Dans la MMC, ouvrez Network Policy Server

Attention, il se peut que le pare-feu Windows pose un problĂšme lors de la connexion Ă distance. En effet, le profil pare-feu de domaine peut poser problĂšme quant Ă la connexion Ă distance.

Pour rappel :
Nom | Protocole | Ports | Usage |
---|---|---|---|
RPC pour NPS Remote Management | TCP | 135, 137 | Communication Remote Procedure Call |
RPC Dynamic Ports pour DCOM et WMI | TCP | 49152-65535 | Plage dynamique utilisée par Windows pour RPC/DCOM |
WMI pour Administration Ă Distance | TCP | 5985, 5986 | Windows Management Instrumentation (WinRM) |
NetBIOS Name Service | UDP | 137 | Recherche de noms NetBIOS |
NetBIOS Datagram Service | UDP | 138 | Utilisé pour la diffusion NetBIOS |
NetBIOS Session Service | TCP | 139 | Utilisé pour les sessions NetBIOS |
DNS (si NPS utilise DNS) | UDP/TCP | 53 | RĂ©solution DNS |
SMB | TCP | 445 | Server Message Block |
New-NetFirewallRule -DisplayName "Allow SMB for NPS Remote Management (TCP)" -Direction Inbound -Protocol TCP -LocalPort 445 -Action Allow -Profile Domain
Une fois ça fait et le composant de la MMC attaché, clic droit et Register server in Active Directory
. De cette maniĂšre, le serveur sera autorisĂ© Ă requĂȘter dans l’AD. Attention, il se peut que ce soit grisĂ©, dans ce cas il faut passer en RDP sur le NPS et l’activer directement depuis l’hĂŽte.

Ensuite, sélectionner RADIUS server for 802.1X Wireless or Wired Connections
Puis Configure 802.1X
.
Ajout des clients

Un client au sens RADIUS est un appareil qui relayera l’authentification de l’utilisateur final. Dans notre cas, cela peut ĂȘtre un pare-feu (dans le cas d’un multi-site), un switch ou bien une borne wifi. Dans mon cas, j’opterai pour la derniĂšre solution.

ConsidĂ©rons que notre infrastructure est composĂ©e d’un seul point d’accĂšs, Auteqia-AP
Choix de la mĂ©thode d’authentification
qui est l’implĂ©mentation EAP-TLS de Microsoft
Ici nous sommes face Ă un choix de taille. Il faut choisir entre :
Microsoft: Smart Card or other certificate
: L’utilisateur s’identifie avec un certificat, nĂ©cessite une PKI, s’effectue avec TLS, le NPS valide le certificat auprĂšs de la CA.Microsoft: Protected EAP (PEAP)
: PEAP encapsule EAP-MSCHAPv2 ou EAP-TLS dans un tunnel TLS sĂ©curisĂ©, peut sâauthentifier avec un mot de passe ou un certificatMicrosoft: Secured password (EAP-MSCHAP v2)
: MSCHAPv2 authentifie les utilisateurs en comparant des hashes de mot de passe, pas de certificat,
Dans notre cas, nous choisirons le premier Microsoft: Smart Card or other certificate
car nous disposons d’une PKI et tout ce qu’il faut pour pouvoir se baser sur cette mĂ©thode d’authentification.

Cliquer sur Configure
pour bien vĂ©rifier que le NPS reçoit un certificat (via la GPO d’autoenrollment)

Choisir pour quel groupe s’applique la stratĂ©gie rĂ©seau RADIUS, dans mon cas Domain Users

Les contraintes de la stratégie

DĂ©cocher toutes les mĂ©thodes d’authentification moins sĂ©curisĂ©es.
Il est désormais le moment de passer à la partie Wifi/ContrÎleur wifi.
Phase 5 - Hardening par GPO du domaine (optionnel)
Attention, dans un environnement avec beaucoup de postes, des serveurs “legacy”, des comptes de services et des applications connectĂ©es, ces GPO pourraient littĂ©ralement casser l’AD DS. Elles sont donc Ă appliquer avec prĂ©cautions.
1. EmpĂȘcher le relay NTLM et forcer Kerberos
L’authentification NTLM est vulnĂ©rable aux attaques NTLM Relay et Pass-the-Hash . Il est recommandĂ© de dĂ©sactiver NTLM et de forcer Kerberos. La GPO s’applique Ă Domain Controllers et Domain Computers. J’appliquerai cette GPO Ă la racine du domaine.
Computer Configuration â Windows Settings â Security Settings â Local Policies â Security Options
- Network security: Restrict NTLM: Incoming NTLM traffic â Deny all
- Network security: LAN Manager authentication level â Send NTLMv2 response only, refuse LM & NTLM
- Network security: Restrict NTLM: Audit NTLM authentication in this domain â Enable Audit (before full enforcement)
2. Désactiver le stockage de hash de mot de passe en mémoire (Pass-the-Hash)
EmpĂȘcher LSASS de stocker des hash NTLM en mĂ©moire
Le Pass-the-Hash (PtH) consiste Ă rĂ©utiliser des hashs NTLM volĂ©s pour sâauthentifier. S’applique au Domain Computers
.
Computer Configuration â Windows Settings â Security Settings â Local Policies â Security Options
- Network Security : Do not store LAN Manager hash value on next password change â Enabled
- Interactive logon: Number of previous logons to cache â Set to 0 (Prevents offline credential theft)
3. SĂ©curiser Kerberos pour Ă©viter Pass-the-Ticket (PtT)
EmpĂȘcher le vol et la rĂ©utilisation de tickets Kerberos
S’applique aux Domain Computers et Domain Controler
.
Computer Configuration â Windows Settings â Security Settings â Account Policies â Kerberos Policy
- Maximum lifetime for user ticket â 4 hours
- Maximum lifetime for service ticket â 10 minutes
4. Enable Credential Guard (Windows 10/11 & Server 2016+)
PrĂ©vient du Credential Dumping from LSASS (Mitigate PtH, PtT, Mimikatz). S’applique sur tous les ordinateurs du domaine.
Computer Configuration â Administrative Templates â System â Device Guard
- Turn On Virtualization Based Security -> Enable without lock
Si vous voulez pouvoir désactiver Credential Guard à distance, sélectionnez Enabled without lock.

5. Enable Advanced Auditing to Detect Attacks
S’applique aux Domain Controler
et aux Domain Computers
.
Computer Configuration â Windows Settings â **Security â Advanced Audit Policy Configuration â Audit Policies
- Logon / Logoff -> Audit Logon â Success & Failure
- Account Logon -> Audit Kerberos Authentication Service â Success & Failure
Phase 6 - Client Windows 802.1x
Selon votre matĂ©riel et si vous avez optĂ© pour un 802.1x sans fil, vous pourrez paramĂ©trer un SSID sur vos bornes ou contrĂŽleur WiFi avec des paramĂštres 802.1X, plus particuliĂšrement un serveur RADIUS vers lequel le SSID communique pour relayer l’authentification. C’est ici que se place le protocole EAP.
Une fois le SSID paramĂ©trĂ©, on peut passer au test sur un client Windows. Pour y parvenir, j’ai crĂ©Ă© un utilisateur auteqia
et une OU Lambda
dans laquelle se placeront les utilisateurs non-privilĂ©giĂ©s du domaine. Si tout s’est bien passĂ©, notre utilisateur a rĂ©cupĂ©rĂ© son certificat automatiquement et l’a mit dans son magasin de certificat personnel. Il n’y a plus qu’Ă lancer la connexion au WiFi !
Audit de l’infrastructure Ă clĂ© publique
Dans le but de vĂ©rifier si je n’ai pas laissĂ© de mauvaises configuration derriĂšre moi, je vais lancer une succession d’outil fait pour le pentest d’environnement Active Directory (et donc AD CS).
Certify / Certipy
Lister les modĂšles de certificats disponibles
Certify.exe find /vulnerable
Demander un certificat Ă partir d’un template vulnĂ©rable
Certify.exe request /ca:<CA_SERVER> /template:<VULNERABLE_TEMPLATE>
Rubeus
Convertir un certificat en format utilisable pour Kerberos
Rubeus.exe asktgt /user:auteqia /certificate:<CERT_FILE> /password: /domain:<DOMAIN>
- GĂ©nĂšre un TGT Ă partir d’un certificat valide.
Utiliser le TGT
Rubeus.exe ptt /ticket:<TGT_FILE>
Impacket
Lister les utilisateurs et groupes Active Directory
python3 GetADUsers.py -dc-ip <DC_IP> <DOMAIN>/<USER>:<PASSWORD>
Exploiter Kerberos avec PKINIT (si un certificat valide est obtenu)
python3 getTGT.py -cert-pfx <CERTIFICATE.pfx> <DOMAIN>/<USER>
Sharphound
SharpHound.exe -c All
- Cela collecte toutes les informations pertinentes sur AD, y compris celles liées aux autorités de certification et aux permissions des utilisateurs sur la PKI.
Axe d’amĂ©lioration
- Hardening des ordinateurs du domaine par GPO plus poussé
- Appliquer l’administration par tier (cas rĂ©el)
- Faire la procédure de renouvellement des certificats ROOT et SUB