Slort

Resumen

Información general

Nivel

Intermedio

Sistema

Windows

Spoiler! - Roadmap

  1. Entre los servicios, se encuentra una aplicación web que cuenta con una ruta /site que redirige a /site/index.php?page=main.php.

  2. En el parámetro page se encuentra que es vulnerable a RFI y se incluye por medio del parámetro una URL con nuestra reverse shell en php.

  3. Se enumera el servidor y se encuentra en la carpeta C:\Backup la información de una tarea que ejecuta un binario llamado TFTP.exe cada 5 minutos y donde vemos que nuestro usuario tiene permisos para modificarlo.

  4. Creamos un EXE con el mismo nombre que el fichero que se ejecuta en la tarea y lo sustituimos en el sistema.

  5. Esperamos hasta que la tarea se ejecute y PWNED! }:)

Enumeración

Escáner con nmap

Enumeración básica de todos los servicios vía TCP, UDP y SCTP:

IP=192.168.198.53
nmap -v -T4 -Pn -n -sS -F -oA nmap/tcp $IP
nmap -T4 -Pn -n -sY -F -oA nmap/sctp $IP
nmap -T4 -Pn -n -sU -p 53,69,111,123,137,161,500,514,520,623 -oA nmap/udp $IP

Escáner de puertos y servicios con scripts del Top 1000 vía TCP y UDP, y todos los puertos vía TCP:

Resultados de nmap

El segundo escáner (nmap -T4 -Pn -open --script=default,version,vuln -A -p- -oA nmap/tcp-full-scripts $IP) nos da la siguiente información:

Análisis del escáner

HTTP - 4443

Entre los servicios detectados, los servicios más comunes, como los servicios web, entre otros (ftp, smb, etc.), suelen ser los de mayor interés y se recomienda analizarlos antes.

Enumeración de directorios

Se enumeran los directorios y posibles ficheros con las extensiones html, php y txt utilizando el diccionario directory-list-2.3-medium.txt:

Al acceder a la ruta de /site se redirige a http://192.168.205.53:4443/site/index.php?page=main.phparrow-up-right.

El parámetro page hace referencia a un documento que se encuentra almacenado en el servidor web, y podría ser posible que esta entrada no esté securizada, pudiendo ser vulnerable a LFI (Local File Inclusion | Inclusión de ficheros locales) o RFI (Remote File Inclusion | Inclusión de ficheros remotos).

Como nos sería mucho más útil un RFI, puesto que nos facilitaría poder ejecutar una webshell y/o reverse shell. Probamos primero si pudiera ser vulnerable a RFI.

Primero, probamos con una simple comilla, para observar cómo se comporta con esta entrada:

Efectivamente, el parámetro no se encuentra adecuadamente securizado y vemos que se utiliza la. función PHP include, por lo que vamos a probar a incluir un fichero que se encuentre en nuestro equipo (RFI). En concreto, crearemos una reverse shell y pondremos un puerto a la escucha.

Explotación

RFI - Inclusión remota de ficheros

Ahora que hemos encontrado un posible punto de entrada, creamos nuestra reverse shell.

circle-exclamation

Y... PWNED! 8)

Ahora, para tener una cmd mejor, vamos a subir un EXE. Para ello, volvemos a utilizar msfvenom:

Ponemos el puerto 53 a la escucha:

Ejecutamos en la máquina víctima lo siguiente para descargar el EXE y posteriormente ejecutarlo.

Al ejecutarlo, vemos como obtenemos una cmd mejor:

Escalada de privilegios

Antes de recurrir e enumeraciones automatizadas, echamos un vistazo rápido por el sistema y realizamos enumeraciones manuales.

Tarea programada cada 5 minutos

Al acceder a C:\ vemos una carpeta de Backup. Viendo la información de los ficheros, vemos que se ejecuta un EXE cada 5 minutos.

Binario con permisos de escritura

Vamos a ver los permisos de ese ejecutable por si pudiéramos tener permisos de escritura para sustituirlo por un ejecutable creado por nosotros.

Creación de binario malicioso

Como tenemos permisos para poder modificar el fichero, creamos un fichero llamado TFTP.exe con msfvenom que contenga nuestra reverse shell y posteriormente lo sustituiremos por el que se encuentra en el sistema.

Sustitución y subida del binario malicioso

En la máquina de la víctima, renombramos el fichero TFTP.exe a TFTP.exe.bak para no eliminarlo y descargamos nuestro EXE malicioso.

Recordamos cerrar nuestro python que se encuentra con el servicio HTTP para la descarga del EXE. Y ponemos el puerto 80 a la escucha para obtener nuestra shell:

Esperamos 5 minutos y... PWNED!

Última actualización

¿Te fue útil?