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.178para verificar la conectividad de red.

A continuación, realizamos el comando:
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,DEBUGyHELP. 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:
para que nos proporcione más información sobre esos puertos específicamente.

Ponemos el dominio en el /etc/hosts.
Listamos recursos compartidos.

Listamos el contenido de los recursos compartidos.


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

Tenemos unas credenciales por lo que con los usuarios descubiertos antes realizamos fuerza bruta.

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.

🚀 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.

Seguimos investigando para escalar a root.


Nos lo descargamos.
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:
Dentro del servidor, ejecuta el siguiente comando en el directorio LDAP para ver la configuración:

Esto debería devolverte las credenciales del Administrador en formato cifrado. En el ejemplo, la contraseña es yyEq0Uvvhq2uQOcWG8peLoeRQehqip/fKdeG/kjEVb4=.
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:
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:
Nuevo:
La contraseña obtenida es: XtH4nkS4Pl4y1nGX.
Ahora, intentemos obtener una shell utilizando la siguiente herramienta:
Con este comando, deberíamos obtener acceso como Administrator.
🔐 PRIVILEGIOS
Al estar dentro y ejecutar:
somos root.


Last updated