WEAPONIZING-CVE-2024-4367
CVE-2024-4367 es una vulnerabilidad crítica (CVSS 9.8) en PDF.js, que permite la ejecución arbitraria de código JavaScript debido a comprobaciones de tipo insuficientes en el objeto FontMatrix dentro de archivos PDF.
Asistente de Explotación CVE-2024-4367: Guía de Usuario
| IDENTIFICADOR CVE | CVE-2024-4367 |
|---|
| SEVERIDAD | Crítica (Puntuación CVSS: 9.8) |
| VULNERABILIDAD | Ejecución arbitraria de código JavaScript en PDF.js debido a comprobaciones de tipo insuficientes en el objeto FontMatrix |
| EXPLOTACIÓN | Archivos PDF manipulados maliciosamente pueden ejecutar JavaScript en el navegador de la víctima, lo que conduce a robo de datos, XSS o RCE. |
1. Configuración del Entorno
Requisitos Previos
-
Sistema Operativo:
- Una distribución Linux basada en Debian/Ubuntu o equivalente, con privilegios administrativos.
- Asegúrese de que Python 3.x esté instalado (
python3 --version).
-
Configuración del Script:
- Guarde el script de explotación en un directorio de su elección (por ejemplo,
~/cve-2024-4367/) con el nombre de archivo cve_2024_4367_exploit_wizard.py.
-
PDF de Plantilla:
- Coloque un archivo PDF benigno llamado
template.pdf en el mismo directorio. Este archivo servirá como base para el PDF malicioso.
-
Kit de Ingeniería Social (SET):
- Instale SET (Social Engineering Toolkit):
sudo apt-get update
sudo apt-get install set
- Verifique la instalación con:
2. Ejecución del Asistente de Explotación
Paso 1: Hacer Ejecutable el Script (Opcional)
Otorgue permisos de ejecución al script:
chmod +x cve_2024_4367_exploit_wizard.py
Paso 2: Ejecutar el Script
Ejecute el script usando cualquiera de los siguientes métodos:
./cve_2024_4367_exploit_wizard.py
o
python3 cve_2024_4367_exploit_wizard.py
Paso 3: Siga las Indicaciones en Pantalla
El script le guiará a través del proceso de ataque paso a paso.
3. Flujo de Trabajo del Asistente Paso a Paso
Paso 1: Verificar e Instalar Dependencias
- El script verifica automáticamente:
- PyPDF2: Requerido para manipular PDFs.
- SET: Utilizado para campañas de phishing.
- Las dependencias faltantes se instalarán automáticamente (o se solicitará instalación manual).
Paso 2: Crear un PDF Malicioso
- El script inyecta una carga útil de JavaScript en el campo
/FontMatrix del template.pdf.
- El resultado,
malicious.pdf, se guardará en el mismo directorio.
- Se mostrará éxito o fracaso.
Paso 3: Gestionar Objetivos de la Campaña
- Agregue correos electrónicos objetivo (o identificadores) de forma interactiva.
- Escriba cada correo electrónico objetivo uno por uno.
- Finalice la lista escribiendo
done.
Paso 4: Lanzar el Kit de Ingeniería Social (SET)
- El script se integra con SET para entregar el PDF malicioso mediante phishing.
- Siga las indicaciones de SET para configurar la campaña:
- Configure plantillas de correo electrónico.
- Adjunte
malicious.pdf.
- Salga de SET para volver al asistente.
Paso 5: Alojar el PDF Malicioso
- El script lanza un servidor HTTP en
http://localhost:8080.
malicious.pdf está disponible para descarga.
- Los datos exfiltrados por la carga útil (por ejemplo,
document.cookie) se registrarán en la consola del script.
4. Prueba de la Explotación
Validación en un Entorno Controlado
- Abra
malicious.pdf en una versión vulnerable de PDF.js o en una máquina virtual en sandbox.
- Supervise los registros del servidor para confirmar la ejecución de la carga útil y la exfiltración de datos.
Observar Registros de Exfiltración
- Los datos (por ejemplo, cookies) enviados por la carga útil se registrarán como:
[+] Datos exfiltrados: session_id=abcd1234; auth_token=xyz987
Modificar la Carga Útil para Pruebas Adicionales
- Personalice la carga útil para acciones como keylogging o redirección.
- Pruebe la capacidad de su entorno para detectar o mitigar estas amenazas.
5. Limpieza y Tareas Posteriores a la Ejecución
Detener el Servidor Local
Termine el servidor HTTP usando Ctrl+C en la terminal.
Asegurar los Activos Maliciosos
- Elimine o almacene de forma segura
malicious.pdf para evitar un uso indebido accidental.
- Archive de forma segura cualquier registro o dato de la campaña.
Restablecer el Entorno de Pruebas
- Si utiliza una máquina virtual, revierta a una instantánea limpia.
- Asegúrese de que no queden artefactos maliciosos en el sistema.
6. Notas Importantes y Descargo de Responsabilidad Legal
Solo para Uso Autorizado
- Este script y guía están destinados con fines educativos y pruebas de penetración autorizadas dentro de entornos controlados.
- El uso no autorizado es ilegal y puede resultar en graves consecuencias legales.
- Obtenga siempre permiso explícito antes de realizar cualquier prueba de explotación.
Asegurando Sus Sistemas
-
Actualice PDF.js:
- Asegúrese de que esté instalada la última versión de PDF.js para parchear CVE-2024-4367.
-
Restrinja JavaScript en PDFs:
- Desactive la ejecución de JavaScript en los visores de PDF siempre que sea posible.
-
Implemente Protección de Puntos Finales:
- Utilice herramientas robustas de detección y respuesta de puntos finales.
-
Eduque a los Usuarios:
- Capacite a los empleados para reconocer intentos de phishing y evitar abrir PDFs no verificados.
Siguiendo esta guía de manera responsable, puede simular eficazmente escenarios de ataque del mundo real y reforzar sus defensas de ciberseguridad.