Skip to main content

Active Directory Internal Pentest Lab - From Recon to Domain Compromise

·6 mins
Post Active Directory Internal Pentest Kerberoasting DCSync Pass-the-Hash Linux Windows Defensive Security
Rai2en
Author
Rai2en
Breaking things to understand them.
CyberLabs - This article is part of a series.
Part : This Article

Introduction
#

Ce projet est une transformation d’un ancien lab académique en projet personnel orienté portfolio. L’objectif est de documenter une chaîne d’attaque interne complète dans un environnement Active Directory, depuis la découverte réseau jusqu’à la compromission du domaine.

Le lab simule une infrastructure d’entreprise avec plusieurs machines Linux et Windows, des services exposés, des partages réseau, un contrôleur de domaine et des erreurs de configuration volontairement présentes.

L’objectif n’est pas seulement d’obtenir un shell root ou SYSTEM. L’objectif est surtout de comprendre comment une compromission initiale peut évoluer vers une compromission complète du domaine, puis de proposer des mesures défensives concrètes.

Objectifs du projet
#

Les objectifs principaux sont:

  • cartographier un réseau interne
  • identifier les services exposés et les mauvaises configurations
  • exploiter une première machine Linux
  • pivoter vers d’autres systèmes internes
  • attaquer l’environnement Active Directory
  • exploiter Kerberos via Kerberoasting
  • réaliser une attaque DCSync dans un scénario contrôlé
  • obtenir un shell privilégié
  • documenter les impacts et les recommandations défensives

Architecture du lab
#

Le domaine simulé est esdown.local.

Machines clés:

HôteRôleAdresse
SRV-BURserveur Linux exposant plusieurs services10.10.10.20
SRV-NASserveur de fichiers / stockage10.10.10.21
WIN-APPserveur applicatif Windows10.10.10.25
DCcontrôleur de domaine Active Directory10.10.10.30
Gatewaypasserelle réseau10.10.10.254

Le réseau interne utilisé pour le lab est 10.10.10.0/24.

Méthodologie
#

La méthodologie suivie reprend une logique professionnelle de test d’intrusion interne:

  1. reconnaissance et découverte des hôtes
  2. énumération des services
  3. identification des vulnérabilités
  4. exploitation initiale
  5. post-exploitation
  6. mouvement latéral
  7. compromission Active Directory
  8. exfiltration contrôlée de preuves
  9. recommandations défensives

Phase 1 - Reconnaissance réseau
#

La première étape consiste à identifier les hôtes actifs.

nmap -sn 10.10.10.0/24

Ensuite, un scan plus détaillé est réalisé sur les machines détectées:

nmap -sC -sV -p- 10.10.10.20
nmap -sC -sV -p- 10.10.10.21
nmap -sC -sV -p- 10.10.10.30

Les objectifs de cette étape sont:

  • identifier les ports ouverts
  • détecter les versions des services
  • repérer les services anciens ou mal configurés
  • comprendre les relations entre les systèmes

Phase 2 - Analyse des services exposés
#

Plusieurs services intéressants sont identifiés:

  • FTP
  • SMB
  • NFS
  • HTTP
  • SSH
  • services Windows liés au domaine

Le serveur SRV-BUR expose une surface importante. C’est un bon candidat pour obtenir un premier accès.

Vulnérabilité critique - vsFTPd 2.3.4
#

Le service FTP expose une version vulnérable connue: vsFTPd 2.3.4.

Cette version est célèbre pour sa backdoor introduite dans un paquet compromis. Dans un environnement réel, la présence d’un tel service est critique, car elle permet potentiellement une exécution de commande non authentifiée.

Exploitation conceptuelle:

nmap --script ftp-vsftpd-backdoor -p21 10.10.10.20

Impact:

  • exécution de commande distante
  • accès système initial
  • point d’entrée pour la post-exploitation

Énumération SMB
#

L’énumération SMB permet d’obtenir des informations sur les partages, la politique de mot de passe et les comptes visibles.

enum4linux -a 10.10.10.20
smbclient -L //10.10.10.20/ -N

Points recherchés:

  • partages anonymes
  • répertoires accessibles en écriture
  • informations système
  • comptes utilisateurs
  • politique de mot de passe faible

Énumération NFS
#

NFS est également analysé, car une mauvaise configuration peut permettre de monter un partage sensible depuis une machine attaquante.

showmount -e 10.10.10.20
mount -t nfs 10.10.10.20:/share /mnt/nfs

Risques principaux:

  • exposition de fichiers sensibles
  • permissions trop permissives
  • possibilité d’écrire une clé SSH
  • pivot vers un autre utilisateur ou serveur

Accès initial et post-exploitation
#

Après exploitation du premier service vulnérable, l’objectif est de stabiliser l’accès, comprendre le système et rechercher des secrets.

Commandes utiles:

id
hostname
ip a
sudo -l
find / -perm -4000 -type f 2>/dev/null
find / -name "*.key" -o -name "id_rsa" 2>/dev/null

Cette phase permet notamment de découvrir une clé SSH utilisable pour pivoter vers un autre serveur interne.

Pivot vers SRV-NAS
#

La découverte d’une clé SSH ou d’un secret réutilisé permet de tenter un mouvement latéral.

ssh -i id_rsa user@10.10.10.21

Une fois sur le NAS, l’analyse se concentre sur:

  • les droits sudo
  • les partages montés
  • les scripts exécutés en privilèges élevés
  • les permissions faibles

Élévation de privilèges Linux
#

Plusieurs vecteurs sont évalués:

  • mauvaise configuration sudo
  • répertoires partagés modifiables
  • fichiers sensibles lisibles
  • tâches planifiées
  • SUID binaries

Exemple de vérification:

sudo -l
find / -perm -4000 -type f 2>/dev/null

Un serveur NAS mal configuré devient souvent un pivot majeur dans un réseau interne, car il contient des fichiers utilisateurs, des sauvegardes ou des secrets applicatifs.

Passage à Active Directory
#

Après obtention d’identifiants ou d’un accès au réseau Windows, l’attaque se déplace vers le domaine esdown.local.

Objectifs:

  • identifier les utilisateurs du domaine
  • trouver les comptes de service
  • repérer les SPN
  • tenter Kerberoasting
  • valider les privilèges obtenus

Kerberoasting
#

Kerberoasting cible les comptes de service Active Directory possédant un SPN.

Commande utilisée dans le lab:

impacket-GetUserSPNs esdown.local/USER:'PASSWORD' -dc-ip 10.10.10.30 -request

Le ticket récupéré est ensuite cracké hors ligne:

hashcat -m 13100 kerb_hash.txt /usr/share/wordlists/rockyou.txt

Dans le lab, un compte de service faible permet de récupérer un mot de passe exploitable.

Impact:

  • compromission d’un compte de service
  • accès à des applications internes
  • escalade possible si le compte est trop privilégié

DCSync
#

DCSync est une attaque critique contre Active Directory. Elle abuse des droits de réplication du domaine pour récupérer les secrets du contrôleur de domaine.

Exemple de commande:

impacket-secretsdump esdown.local/USER:'PASSWORD'@10.10.10.30

Les secrets récupérés peuvent inclure:

  • hash NTLM
  • clés Kerberos
  • secrets du compte krbtgt
  • hash administrateur

Le hash krbtgt est particulièrement sensible, car il peut permettre la création de Golden Tickets.

Pass-the-Hash et shell SYSTEM
#

Une fois un hash administrateur récupéré, il est possible de tester une attaque Pass-the-Hash dans le lab.

impacket-psexec -hashes :<NTLM_HASH> esdown.local/Administrateur@10.10.10.30

Objectif:

  • obtenir un shell avec privilèges élevés
  • confirmer l’impact de la compromission du domaine

Chemin d’attaque alternatif - EternalBlue
#

Un chemin alternatif étudié dans le projet concerne EternalBlue (MS17-010).

Ce scénario montre qu’une vulnérabilité historique non corrigée peut encore représenter un risque critique si des systèmes anciens restent connectés au réseau.

Points défensifs:

  • patch management strict
  • segmentation réseau
  • blocage SMB entre zones non nécessaires
  • détection des scans SMB

Recommandations défensives
#

Patch management
#

  • corriger les services vulnérables
  • supprimer les versions obsolètes
  • maintenir un inventaire logiciel à jour

Durcissement des services
#

  • désactiver FTP si inutile
  • remplacer FTP par SFTP/SSH durci
  • limiter SMB aux hôtes nécessaires
  • restreindre NFS par IP et permissions strictes

Active Directory
#

  • limiter les privilèges des comptes de service
  • utiliser des mots de passe longs et aléatoires
  • auditer les SPN
  • surveiller les requêtes Kerberos anormales
  • protéger le compte krbtgt

Détection
#

À surveiller:

  • scans Nmap internes
  • montage NFS inhabituel
  • énumération SMB
  • requêtes Kerberoasting
  • DCSync non légitime
  • Pass-the-Hash

Ce que ce projet m’a apporté
#

Ce lab m’a permis de relier plusieurs compétences importantes:

  • pentest Linux
  • énumération réseau interne
  • exploitation de services anciens
  • pivot et post-exploitation
  • attaques Active Directory
  • raisonnement défensif sur les chemins d’attaque

Conclusion
#

Ce projet montre comment une compromission initiale sur un serveur Linux peut progressivement mener à la compromission complète d’un domaine Active Directory.

La leçon principale est simple: dans un réseau interne, chaque mauvaise configuration peut devenir un maillon d’une chaîne d’attaque plus large. La défense doit donc combiner patch management, segmentation, durcissement, supervision et contrôle strict des privilèges.

CyberLabs - This article is part of a series.
Part : This Article