
La mayoría de los equipos protegen su página de inicio de sesión cuidadosamente y dejan el flujo de restablecimiento de contraseña casi abierto. Los atacantes lo saben. Utilizan el flujo de restablecimiento para enumerar las cuentas válidas, inundar las bandejas de entrada con correos electrónicos automatizados, robar tokens mediante la generación de enlaces débiles y eludir las protecciones de inicio de sesión que usted dedicó tiempo a reforzar. Esta guía explica cada patrón de abuso de restablecimiento y los pasos prácticos que detienen cada uno de ellos.
Tiempo estimado de lectura: 13 minutos
De un vistazo
Por qué se abusa de los flujos de restablecimiento
El flujo de restablecimiento evita por completo la página de inicio de sesión. Si es más débil que su inicio de sesión, los atacantes lo utilizan como el camino más fácil para acceder a la cuenta
Cuatro modelos de maltrato que conviene conocer
Enumeración de cuentas, inundación de restablecimientos, robo de tokens y diseño de recuperación débil. Cada uno necesita una defensa diferente, y ninguno de ellos se resuelve sólo con la protección de inicio de sesión
La solución más rápida
Devuelve la misma respuesta tanto si existe una cuenta como si no. Este único cambio elimina la enumeración de cuentas con un coste de ingeniería cero.
Contenido de esta guía
- Por qué los flujos de restablecimiento de contraseñas son un objetivo
- Los cuatro patrones de abuso del restablecimiento de contraseñas
- Siete defensas que funcionan
- Dónde encaja CAPTCHA en la protección de restablecimiento de contraseñas
- Abuso del restablecimiento de contraseñas y obligaciones GDPR
- Lista de control de la aplicación
- Preguntas frecuentes
Por qué los flujos de restablecimiento de contraseñas son un objetivo
El flujo de restablecimiento de contraseña es la puerta trasera de tu sistema de autenticación. Su trabajo es permitir a los usuarios volver a entrar sin su contraseña, lo que significa que debe eludir la comprobación normal de credenciales por diseño. Eso lo hace estructuralmente más débil que el inicio de sesión, y los atacantes explotan esa brecha directamente.
Tres cosas hacen que los flujos de reinicio sean objetivos atractivos. En primer lugar, la mayoría de los equipos añaden una sólida protección contra bots al inicio de sesión, pero descuidan por completo el punto final de restablecimiento. En segundo lugar, los flujos de restablecimiento revelan información útil a los atacantes: si existe una cuenta, qué direcciones de correo electrónico están registradas y con qué rapidez caducan los tokens de restablecimiento. En tercer lugar, los formularios de restablecimiento son públicos y fáciles de automatizar: un bot puede lanzar miles de solicitudes de restablecimiento por hora contra un formulario sin limitación de velocidad ni CAPTCHA.
El resultado es que incluso los equipos que han endurecido el inicio de sesión, añadido MFA e implementado la limitación de velocidad a menudo dejan el restablecimiento de contraseñas como una entrada lateral desprotegida. OWASP's Forgot Password Cheat Sheet enumera las vulnerabilidades de flujo de restablecimiento entre las debilidades de autenticación más comúnmente explotadas en aplicaciones de producción. El punto más débil de su sistema de autenticación es el único que importa a un atacante decidido, y si ese punto es su formulario de restablecimiento, toda la protección de su página de inicio de sesión no cuenta para nada.
Los cuatro patrones de abuso del restablecimiento de contraseñas
El abuso del restablecimiento de contraseñas no es un único tipo de ataque. Es una categoría de cuatro patrones distintos, cada uno con diferentes objetivos y diferentes defensas requeridas.
PATRÓN DE ABUSO | QUÉ HACEN LOS ATACANTES | LO QUE GANAN |
|---|---|---|
Enumeración de cuentas | Envíe solicitudes de restablecimiento para muchas direcciones de correo electrónico y observe si las respuestas difieren según se trate de cuentas existentes o inexistentes. | Una lista validada de direcciones de correo electrónico de cuentas reales para su uso en phishing, relleno de credenciales o ataques selectivos. |
Reiniciar inundación | Enviar automáticamente un gran número de correos electrónicos de restablecimiento a una o varias cuentas | Sobrecarga de la bandeja de entrada que entierra correos de phishing, acoso a los usuarios o degradación de la reputación de la infraestructura de correo. |
Robo de tokens y fuerza bruta | Interceptar enlaces restablecidos a través de cabeceras de referencia, URL archivadas o el historial del navegador; o tokens cortos/predecibles de fuerza bruta. | Token de restablecimiento válido que les permite establecer una nueva contraseña y hacerse cargo de la cuenta sin conocer la original. |
Diseño de recuperación deficiente | Explotar métodos de recuperación inseguros: tokens reutilizables, enlaces que no caducan, preguntas de seguridad con respuestas adivinables o intercambio de SIM para interceptar códigos SMS. | Acceso a la cuenta a través de la ruta de recuperación sin necesidad de interrumpir el flujo de inicio de sesión. |
Estos cuatro patrones suelen aparecer juntos en una misma campaña de ataque. Un atacante puede comenzar con la enumeración para identificar cuentas reales y, a continuación, utilizar la inundación de restablecimiento para crear confusión mientras ejecuta un robo de token o un intercambio de SIM contra un objetivo específico de alto valor. Para defenderse de los cuatro tipos de ataques se necesitan controles por capas, no una única solución.
Siete defensas que funcionan
Proteja su flujo de restablecimiento de contraseña sin cookies o consentimiento por encima
CAPTCHA.eu detiene la inundación de restablecimientos y la enumeración a escala con verificación de prueba de trabajo invisible. Sin cookies, alojado en Austria, certificado WCAG 2.2 AA por TÜV Austria.
La postura de seguridad mínima viable
Si sólo implementas tres cosas: respuestas coherentes (Defensa 1), CAPTCHA en el formulario de restablecimiento (Defensa 2) y tokens de un solo uso de corta duración (Defensa 4), cierras las vulnerabilidades de restablecimiento más comúnmente explotadas. Añade las demás progresivamente en función de la sensibilidad de las cuentas que protejas.
Dónde encaja CAPTCHA en la protección de restablecimiento de contraseñas
CAPTCHA en el formulario de restablecimiento de contraseña cumple una función específica y limitada: detiene el abuso automatizado del punto final de restablecimiento. Evita que los bots comprueben miles de direcciones de correo electrónico en busca de cuentas válidas e impide la inundación automatizada de restablecimiento contra usuarios específicos. No soluciona la generación de tokens débiles, no evita la fuga de tokens a través de las cabeceras de referencia y no sustituye el diseño de respuestas coherentes.
Este posicionamiento es importante porque algunos equipos confían demasiado en CAPTCHA (utilizándolo como único control) o lo infrautilizan (saltándoselo porque “los usuarios no deberían tener que resolver un rompecabezas para restablecer su contraseña”). En ambos casos, no se trata de eso. El CAPTCHA invisible de prueba de trabajo no añade ninguna fricción visible para los usuarios legítimos que envían una solicitud de restablecimiento. Sólo aumenta el coste para los robots que envían miles. Ese es precisamente el lugar que ocupa CAPTCHA en la pila de defensa.
Para el flujo de restablecimiento de WordPress en concreto, nuestro Guía CAPTCHA de WordPress cubre la integración a nivel de wp-login.php. Para Keycloak, el flujo de restablecimiento de credenciales requiere un fragmento FTL separado de los flujos de inicio de sesión y registro: nuestro Guía de integración de Keycloak cubre los tres flujos con pasos de configuración específicos.
Abuso del restablecimiento de contraseñas y obligaciones GDPR
Un ataque exitoso de restablecimiento de contraseña que resulte en el acceso no autorizado a una cuenta constituye una violación de datos personales bajo el GDPR. Si la cuenta comprometida contenía datos personales (como casi todas las cuentas de usuario), se enfrenta a las obligaciones de evaluación y notificación del artículo 33.
También hay un ángulo GDPR específico en el propio formulario de restablecimiento. Los servicios CAPTCHA tradicionales que establecen cookies en las páginas de recuperación crean un requisito de consentimiento de ePrivacy en un momento incómodo: un usuario que ha perdido el acceso a su cuenta ahora debe navegar por un banner de consentimiento de cookies antes de recuperarla. Un CAPTCHA de prueba de trabajo sin cookies elimina este problema estructuralmente. No se necesita ningún mecanismo de consentimiento para la capa CAPTCHA en sí, lo que supone una simplificación significativa del cumplimiento para los DPO que gestionan la carga de documentación de los flujos de autenticación.
El ángulo del artículo 32
El artículo 32 del GDPR exige medidas técnicas de seguridad adecuadas. Para cualquier sitio web que almacene datos personales detrás de las cuentas de usuario, no proteger el flujo de restablecimiento es cada vez más difícil de defender en una revisión de la autoridad de supervisión. La inundación de restablecimientos, la enumeración y el robo de tokens son patrones de ataque bien documentados con contramedidas bien conocidas. Aplicarlas forma parte de una postura razonable conforme al artículo 32.
Lista de control de la aplicación
Utilice esta lista de comprobación para auditar su actual flujo de restablecimiento. Los elementos están ordenados por impacto por esfuerzo de implementación: los elementos principales ofrecen la mayor protección por el menor trabajo.
- Respuestas coherentes: Compruebe que su formulario de restablecimiento devuelve el mismo mensaje, código de estado y tiempo de respuesta para las cuentas existentes y las no existentes.
- CAPTCHA en el formulario de reinicio: Añadir CAPTCHA invisible de prueba de trabajo al formulario de solicitud de restablecimiento. Para WordPress: consulte la guía de WordPress. Para Keycloak: ver la guía Keycloak.
- Limitación de velocidad por cuenta y por IP: Aplicar límites a ambos niveles. Rechazar silenciosamente después del umbral: no revelar que existe el límite.
- Fichas criptográficamente fuertes: Confirme que su generador de tokens utiliza un CSPRNG con al menos 20 bytes de entropía. Rechaza ID secuenciales, marcas de tiempo y patrones de hash de correo electrónico.
- Caducidad de la ficha: Las fichas caducan una hora después de su emisión. Las fichas caducan inmediatamente después de su uso. Las nuevas solicitudes de restablecimiento invalidan todos los tokens anteriores de esa cuenta.
- Cabecera Referrer-Policy: Establecer
Política de referencia: no-referreren las páginas de confirmación de reinicio. Revise todos los recursos externos cargados en estas páginas. - Sin preguntas de seguridad: Sustituir por verificación basada en correo electrónico o TOTP. Audite cualquier flujo de preguntas de seguridad heredado que siga activo en su aplicación.
- Restablecer notificaciones de solicitud: Envíe a los usuarios un correo electrónico cuando se active un restablecimiento, no sólo cuando se complete.
- Supervisión y alerta: Establezca alertas para picos de volumen de reinicio por IP y por cuenta. Correlacione con patrones de fallo de inicio de sesión.
- HTTPS en todas partes en los flujos de restablecimiento: Asegúrese de que todas las páginas de restablecimiento y los puntos finales de envío de tokens utilizan HTTPS con TLS actual. Rechace los tokens de restablecimiento enviados a través de HTTP.
Preguntas frecuentes
¿Qué es el abuso del restablecimiento de contraseña?
El abuso del restablecimiento de contraseñas es el uso indebido de un flujo de recuperación de cuentas para obtener acceso no autorizado, enumerar cuentas válidas, inundar bandejas de entrada o robar tokens de recuperación. Es distinto del envenenamiento de restablecimiento de contraseña, que es una vulnerabilidad técnica específica en la que un atacante manipula cómo se genera el enlace de restablecimiento. El abuso del restablecimiento es una categoría más amplia que incluye cuatro patrones de ataque distintos: enumeración, inundación, robo de tokens y diseño de recuperación débil.
¿Cuál es la diferencia entre el abuso del restablecimiento de contraseñas y el envenenamiento del restablecimiento de contraseñas?
El envenenamiento de restablecimiento de contraseña es una técnica específica dentro de la categoría más amplia de abuso de restablecimiento. El envenenamiento se produce cuando un atacante manipula el encabezado HTTP Host para redirigir un enlace de restablecimiento a un dominio controlado por el atacante. El abuso de restablecimiento abarca un conjunto más amplio de patrones: enumeración de cuentas a través de diferencias de respuesta, inundación de restablecimiento para saturar las bandejas de entrada, forzamiento de token y explotación de métodos de recuperación débiles como preguntas de seguridad o interceptación de SMS.
¿Impide CAPTCHA el abuso en el restablecimiento de contraseñas?
CAPTCHA detiene los patrones de abuso automatizados: inundación de restablecimiento y enumeración de cuentas a gran escala. No soluciona la generación de tokens débiles, no evita la fuga de tokens a través de las cabeceras de referencia y no sustituye el diseño de respuestas coherentes. Utilice CAPTCHA como una capa en una pila de seguridad de restablecimiento más amplia, no como el único control.
¿Cómo enumeran los atacantes las cuentas a través del formulario de restablecimiento?
Si su formulario de restablecimiento devuelve respuestas diferentes para cuentas existentes y no existentes (texto de mensaje diferente, códigos de estado HTTP diferentes o tiempos de respuesta considerablemente diferentes), un atacante puede enviar solicitudes de restablecimiento para una lista de direcciones de correo electrónico y observar cuáles devuelven la respuesta “cuenta encontrada”. Esto revela su base de usuarios registrados sin necesidad de descifrar ninguna contraseña. La solución es devolver siempre la misma respuesta, independientemente de si la cuenta existe o no.
¿Cuánto tiempo debe ser válida una ficha de restablecimiento?
Una hora es un máximo razonable para la mayoría de las aplicaciones. Para contextos de mayor seguridad (cuentas financieras, asistencia sanitaria, acceso administrativo), de 15 a 30 minutos es más apropiado. El token debe caducar inmediatamente después de su uso, y todos los tokens anteriores de una cuenta deben ser invalidados cuando se solicite un nuevo restablecimiento. Los tokens que siguen siendo válidos después de su uso son una puerta trasera persistente.
¿Es el flujo de restablecimiento de contraseña una preocupación GDPR?
Sí, en dos sentidos. En primer lugar, un ataque exitoso que conduce a un acceso no autorizado a la cuenta es una violación de datos personales en virtud del GDPR, lo que desencadena la evaluación del artículo 33 y las posibles obligaciones de notificación. En segundo lugar, los CAPTCHA basados en cookies en las páginas de recuperación crean una pregunta de consentimiento de ePrivacy en un momento difícil para los usuarios. Un CAPTCHA sin cookies elimina por completo ese requisito de consentimiento del flujo de recuperación.
Lecturas relacionadas
¿Qué es el CAPTCHA invisible? Cómo funciona y por qué
CAPTCHA invisible tiene como objetivo verificar a los usuarios en segundo plano con poca o ninguna interacción visible: sin rompecabezas, sin casillas de verificación, sin...
Cómo evitar los ataques de relleno de credenciales en su sitio web
Los ataques de relleno de credenciales utilizan contraseñas reales robadas de violaciones anteriores, no conjeturas. Esto los hace más rápidos, difíciles de detectar y...
Cómo evitar ataques de fuerza bruta en su sitio web
Los ataques de fuerza bruta son una de las amenazas más persistentes para la seguridad de los sitios web. En 2026, combinan listas de credenciales robadas,...
¿Qué es el envenenamiento por restablecimiento de contraseña?
El envenenamiento por restablecimiento de contraseña es un riesgo oculto de recuperación de cuenta que puede exponer los tokens de restablecimiento y llevar a la toma de control de la cuenta. Más información...
Fuentes primarias
Hoja de trucos de OWASP para el olvido de contraseñas: respuestas coherentes, diseño seguro de los tokens y recomendaciones para limitar la velocidad
Hoja de trucos de autenticación OWASP: prácticas de reautenticación y autenticación segura
Academia de Seguridad Web PortSwigger: Envenenamiento de restablecimiento de contraseña: detalles técnicos sobre la explotación del encabezamiento del host en los flujos de restablecimiento
NIST SP 800-63B: orientaciones sobre autenticadores secretos memorizados y requisitos de entropía de restablecimiento de secretos
Guía de Pruebas OWASP: Funciones de restablecimiento de contraseñas débiles
CAPTCHA.eu: ¿Qué es el envenenamiento por restablecimiento de contraseña?: definición y distinción entre intoxicación y abuso de reajuste más amplio
CAPTCHA.eu: Cómo evitar los ataques de apropiación de cuentas: contexto más amplio de la seguridad de la autenticidad, incluidos los flujos de restablecimiento




