Monteverde[MEDIUMπ΅]
Dificultad: Medio
1- Reconocimiento y escaneo
1.1 Ping
1.1 PingPodemos notar que se trata de una maquina Windows, debido al TTL:
1.2 Nmap
1.2 NmapEstamos ante un entorno de directorio activo, por lo que podemos ver puertos comunes de Windows(135, 139 y 445) y Active Directory(53 del dominio del DC, 88 Servidor Kerberos,389 Servidor LDAP y por ultimo el puerto 5985 por lo que podrΓamos conectarnos mediante evil-winrm si un usuario esta dentro del grupo Remote Management Users)
1.3 crackmapexec
1.3 crackmapexecEl sistema operativo corriendo por detrΓ‘s es Windows server 2019 en su compilaciΓ³n 17763 de 64 bits, el nombre de la maquina es MONTEVERDE, vemos tambien el dominio del DC "MEGABANK.LOCAL", el servicio SMB para recursos compartidos esta firmado y no soporta SMBv1, por lo que trabajaremos con SMBv2
Sabiendo el dominio del controlador de dominio de la maquina, vamos a agregarlo al archivo /etc/hosts para mayor comodidad y ademas algunas herramientas requieren del dominio en sΓ y no la IP
2- ExplotaciΓ³n
2.1 Servicio RPC
2.1 Servicio RPCVamos a intentar conectarnos mediante RPC utilizando la herramienta "rpcclient" para poder enumerar usuarios de la maquina
Y ahora vamos a enumerar usuarios:
Tambien vamos a enumerar los grupos que se encuentran activos dentro de la maquina:
Tenemos grupos interesantes como "Azure Admins", tampoco se encuenta el grupo "Domain Admins" que generalmente en hexadecimal se expresan como 0x200
Ahora ya teniendo los usuarios, vamos a guardarnos los mismos en un archivo de texto y mediante expresiones regulares quedarnos con los usuarios en limpio:
Y ahora aplicamos las expresiones regulares:
2.2 Password Spraying
2.2 Password SprayingYa con esto, vamos a realizar un password spraying, que por lo general a veces por mala configuraciΓ³n de los usuarios, a veces el mismo nombre de usuario es la contraseΓ±a misma XD
Asi que para realizar esto, vamos a utilizar crackmapexec:
Tenemos una credencial valida:
2.3 smbclient
2.3 smbclientAhora vamos a intentar autenticarnos vΓa el servicio SMB, ya que con crackmapexec probamos el servicio SMB, a ver si encontramos algΓΊn recurso compartido interesante
Pero antes vamos a enumerar los recursos compartidos con estas credenciales con crackmapexec para tambien saber que permisos tenemos sobre los mismos:
Tenemos permisos de lectura en algunos recursos compartidos, luego de estar investigando el contenido de los mismos, el que nos interesa es el recurso compartido "users$", asi que vamos a conectarnos vΓa SMB con smbclient al recurso compartido users$:
Y listamos directorios:
Vamos a meternos al directorio "mhope" que por deducciΓ³n y logica, son usuarios de la maquina objetivo que estan dentro del entorno de directorio activo:
Tenemos un archivo XML, vamos a bajΓ‘rnoslo para ver que contiene con el comando "get":
Bueno, si recordamos la carpeta del usuario "mhope" contenia este archivo XML que a su vez contiene una contraseΓ±a, por lo que:
2.4 ObtenciΓ³n de shell con evil-winrm
2.4 ObtenciΓ³n de shell con evil-winrmVamos a verificar si estas credenciales encontradas, son validas para conectarnos mediante evil-winrm, para eso utilizaremos crackmapexec y si nos da como resultado "PWNED", entonces el usuario "mhope" esta dentro del grupo "Remote Management Users" y podremos conectarnos mediante evil-winrm:
Genial, ya tenemos acceso a la maquina mediante evil-winrm:
2.5 ObtenciΓ³n de la flag user
2.5 ObtenciΓ³n de la flag userLa flag de user se encuentra dentro de la ruta absoluta "C:\Users\mhope\Desktop\user.txt", vamos a visualizar la flag:
3- Escalado de privilegios
3.1 Microsoft Azure AD Sync
3.1 Microsoft Azure AD SyncSi nos vamos al directorio "C:\Program Files"
Veremos que hay una carpeta llamada "Microsoft Azure AD Sync", en esta carpeta, estΓ‘n las credenciales del usuario Administrator hasheadas, hay herramientas en GitHub para realizarles un decrypt y que nos devuelva las contraseΓ±as en texto plano
En nuestro caso para este ataque, vamos a utilizar una herramienta en GitHub llamada "AdSyncDecrypt":
CrΓ©ditos al auto del repositorio
Vamos a bajarnos la release inicial del repo, que es un .ZIP

Vamos descomprimirlo:
Los archivos que tenemos que subir a la maquina objetivo son "AdDecrypt.exe" y la libreria DLL "mcrypt.dll", para subir estos tenemos integrado en evil-winrm el comando "upload"
Para bajarnos estos archivos a la maquina objetivo tenemos que ir a un directorio donde tengamos permisos de escritura, para eso nos dirigiremos al directorio "C:\Windows\Temp", en mi caso lo hare todo desde una carpeta llamda "Privesc"
Y vamos a subir ambos archivos anteriormente mencionados:
Una vez subido, ahora si, nos dirigiremos a la carpeta "Microsoft Azure AD Sync" que habiamos encontrado anteriormente:
Y a la carpeta "Bin":
Y ejecutamos la herramienta desde el directorio donde lo guardamos, en este caso la carpeta Temp de Windows
Ya tenemos las credenciales del usuario Administrator, vamos a conectarnos mediante evil-winrm con estas credenciales:
3.2 ObtenciΓ³n de la flag root
3.2 ObtenciΓ³n de la flag rootLa flag de root se encuentra dentro de la ruta absoluta "C:\Users\Administrator\Desktop\root.txt", vamos a visualizar la flag:
Con esto, concluimos la maquina "Monteverde" de Hack The Box
Espero te haya sido de ayuda este Write Up :)
Si tuviste alguna dificultad a la hora de resolverlo, no olvides contactarme en mis redes sociales
Γltima actualizaciΓ³n
