Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
POC-CVE-2026-18963 — Exploit de prueba de concepto para CVE-2026-18963, una omisión de autenticación en el flujo de recuperación de contraseña de Keycloak que permite restablecer la contraseña sin una verificación adecuada. Incluye un modo de demostración no destructivo. | Kitploit
Herramientas/GitHubGitHub/t0w0t/poc-cve-2026-18963
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAutenticación
GitHubt0w0t/poc-cve-2026-18963

POC-CVE-2026-18963

Exploit de prueba de concepto para CVE-2026-18963, una omisión de autenticación en el flujo de recuperación de contraseña de Keycloak que permite restablecer la contraseña sin una verificación adecuada. Incluye un modo de demostración no destructivo.

Ver Repositorio
1hace 1 díaAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-18963 — PoC de omisión de autenticación en el flujo de «Olvidé mi contraseña» de Keycloak

Prueba de concepto para CVE-2026-18963, una vulnerabilidad en el flujo de «Olvidé mi contraseña» / selección de credenciales de Keycloak que permite a un atacante alcanzar el paso UPDATE_PASSWORD — y restablecer la contraseña de una cuenta objetivo — sin completar correctamente la verificación de identidad requerida (p. ej. sin un OTP/segundo factor válido).

El script impulsa el flujo íntegramente sobre HTTP (sin necesidad de navegador/Selenium):

  1. Cargando la página de inicio de sesión del realm y localizando el enlace «Olvidé mi contraseña».
  2. Abriendo la página de restablecimiento de credenciales y activando tryAnotherWay.
  3. Enviando el nombre de usuario en el selector de credenciales resultante.
  4. Extrayendo y reproduciendo la URL de reinicio de startSessionPolling() que utiliza la interfaz de Keycloak para mantener viva la sesión de autenticación.
  5. Reproduciendo la URL de restablecimiento inicial para llegar a un segundo selector de credenciales.
  6. Enviando el nombre de usuario de nuevo para avanzar el flujo directamente hasta UPDATE_PASSWORD.
  7. Opcionalmente, enviando una nueva contraseña para la cuenta objetivo.

⚠️ Aviso legal

Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas e investigación (pruebas de penetración que tengas contratadas, CTFs, tus propios entornos de laboratorio o divulgación coordinada de vulnerabilidades). Ejecutarla contra sistemas que no te pertenecen o para los que no tienes autorización escrita explícita es ilegal. El autor y los colaboradores no asumen ninguna responsabilidad por el uso indebido o los daños causados por esta herramienta.

Usa --stop-at-update-password para producir una prueba no destructiva (alcanzar UPDATE_PASSWORD sin enviar una nueva contraseña) siempre que sea suficiente para demostrar el problema.

Requisitos

  • Python 3.8+
  • requests
  • beautifulsoup4

Instalación

root@kitploit:~
git clone <this-repo-url>
cd POC
python -m venv .venv
source .venv/bin/activate   # on Windows: .venv\Scripts\activate
pip install -r requirements.txt

Uso

root@kitploit:~
python poc_cve_2026_18963_terminal.py \
    --base-url http://localhost:8080 \
    --realm master \
    --client-id account \
    --username admin \
    --new-password "NewPassword123!"

Opciones

FlagDefaultDescription
--base-urlhttp://localhost:8080URL base de la instancia de Keycloak objetivo
--realmmasterRealm objetivo
--client-idaccountID de cliente OIDC utilizado para iniciar el flujo de inicio de sesión
--usernameadminNombre de usuario objetivo
--new-password(obligatorio)Contraseña que se establecerá para la cuenta objetivo
--stop-at-update-passworddesactivadoDetenerse una vez alcanzado UPDATE_PASSWORD, sin enviar una nueva contraseña (prueba no armada)
--timeout10.0Tiempo de espera de las peticiones HTTP en segundos
--output-dirdebug_httpDirectorio donde se guarda cada respuesta HTML intermedia para depuración
--insecuredesactivadoDeshabilitar la verificación de certificados TLS

Prueba no destructiva

root@kitploit:~
python poc_cve_2026_18963_terminal.py \
    --base-url https://target.example.com \
    --realm myrealm \
    --username victim \
    --new-password unused \
    --stop-at-update-password

Salida

Cada respuesta HTTP intermedia se guarda en --output-dir (debug_http por defecto) como 01_login.html, 02_reset.html, ... para su revisión sin conexión. El script termina con código 0 en caso de éxito y 1 en caso de fallo, imprimiendo mensajes de progreso y diagnóstico en stdout.

Autor

Aurélien LOIE

Descargar herramienta