writeup certified HTB

"Certified" es una máquina de dificultad media en HackTheBox que involucra un entorno de Active Directory. Al comenzar, se nos proporcionan credenciales de un usuario inicial que tiene la capacidad de agregarse a un grupo específico. Aprovechando este privilegio, podemos unirnos a dicho grupo y ejecutar un ataque de Shadow Credentials contra otro usuario, lo que nos permite obtener su hash NT. Este segundo usuario también es vulnerable al mismo ataque, permitiéndonos comprometer la cuenta de un tercer usuario. Esta última cuenta tiene permisos para gestionar certificados, lo que abre la posibilidad de explotar la vulnerabilidad ESC9 en el servicio AD CS. A través de esta técnica, logramos escalar privilegios y suplantar la identidad del Administrador del dominio.

lo primero como siempre el escaneo de Nmap

nmap -p- --open --min-rate 5000 -sT -vvv -n -Pn 10.10.11.41 -oG allports

comprovamos las credenciaales del usuario que nos da por defetcto HTB y aparte saco el dominio

vamos a sacar el bloodhunt de esta mquina para poder usarlo

nos genera un .zip yo lo voy a abrir usando la version de docker descubrimos esta estructura porlo que podemos intenar ganar acceso a Management y des hay a CA_operartor y despues ser admin

lo primero es conseguir estar dentro del grupo y conseguir permisos de scritura

como no tenemos sesion winrm vamos a tener que hacerlo todo desde la terminal primero vamos a usar bloodyAD para acer nuestro usuario dueño del grupo https://github.com/CravateRouge/bloodyAD (NOTA: no se porque ahora HTB te da ya los permisos de propietario y escritura pero auna si yo voy a hacer el como se conseguirian)

ahora vamos a conseguir los permisos de escritura con dacledit.py https://github.com/fortra/impacket/blob/master/examples/dacledit.py

perfecto por lo que como tenemos ya estos permisos ya podemos añadir a Management al grupo para ello vamos a volver a usar bloodAD

vale perfecto ahora como somos totalmente del grupo podemos intentar sacar el certificado al usuario management_svc vamos a usar pywhisker https://github.com/ShutdownRepo/pywhisker

ahora vamos usar kerberos para intentar conseguir el ticket (TGT) gracias al certificado que emos conseguido

para esto vamos a usar gettgtpkinit gunto al archivo .pfx y la contraseña que nos da https://github.com/dirkjanm/PKINITtools

no suelta un erro y es por el tema de zona horaria para solucionarlo hay que hacer lo siguiente

volvemos a ejecutar el comando y

ya funciono por lo que tenemos ticket y .ccache

ahora ya que tenemos esto podemos intentar sacar el hash nt para ello vamos a usar getnthash gunto a los datos anteriores https://github.com/dirkjanm/PKINITtools

lo primero tenemos que declarar la siguiente variable en mi caso seria asi

tenemos que referncia al .ccache asi

y ahora ejecutamos de la siguiente forma

tenemos hahs por lo que podemos acceder a la mquina

verificamos que tengamos winrm con el usuario management_svc con netexect

tenemos acceso pero no nos vale de nada porque es solo para la flag

root

como tenemos control de management_svc podemos intentar ganar control de ca_operator lo primero vamos a modificar sus credenciales con certipy-ad https://github.com/ly4k/Certipy

tenemos un segundo hash ahora actualizamos su UPN

pedimos un certificado de administrador

ahora restauramos el NPU original

y obtenemos el TGT de admin

y ya con netexect comprovamos si tenemos acceso

Última actualización