13 KiB
Bypass de Restablecimiento/Olvido de Contraseña
Aprende hacking en AWS de cero a héroe con htARTE (Experto en Equipos Rojos de HackTricks AWS)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén artículos oficiales de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.
Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de recompensas por errores.
Información sobre Hacking
Involúcrate con contenido que explora la emoción y los desafíos del hacking
Noticias de Hacking en Tiempo Real
Mantente actualizado con el mundo del hacking a través de noticias e información en tiempo real
Últimos Anuncios
Mantente informado sobre los nuevos programas de recompensas por errores y actualizaciones importantes de plataformas
Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy mismo!
Fuga de Token de Restablecimiento de Contraseña a través del Referente
- El encabezado HTTP referer puede filtrar el token de restablecimiento de contraseña si se incluye en la URL. Esto puede ocurrir cuando un usuario hace clic en un enlace de un sitio web de terceros después de solicitar un restablecimiento de contraseña.
- Impacto: Posible toma de control de cuenta a través de ataques de Falsificación de Petición en Sitio Cruzado (CSRF).
- Explotación: Para verificar si un token de restablecimiento de contraseña se filtra en el encabezado del referente, solicita un restablecimiento de contraseña a tu dirección de correo electrónico y haz clic en el enlace de restablecimiento proporcionado. No cambies tu contraseña inmediatamente. En su lugar, navega a un sitio web de terceros (como Facebook o Twitter) mientras interceptas las solicitudes usando Burp Suite. Inspecciona las solicitudes para ver si el encabezado del referente contiene el token de restablecimiento de contraseña, ya que esto podría exponer información sensible a terceros.
- Referencias:
- Informe de HackerOne 342693
- Informe de HackerOne 272379
- Artículo sobre Fuga de Token de Restablecimiento de Contraseña
Envenenamiento de Restablecimiento de Contraseña
- Los atacantes pueden manipular el encabezado Host durante las solicitudes de restablecimiento de contraseña para dirigir el enlace de restablecimiento a un sitio malicioso.
- Impacto: Conduce a una posible toma de control de cuenta al filtrar tokens de restablecimiento a los atacantes.
- Pasos de Mitigación:
- Validar el encabezado Host contra una lista blanca de dominios permitidos.
- Utilizar métodos seguros y del lado del servidor para generar URLs absolutas.
- Parche: Utilizar
$_SERVER['SERVER_NAME']
para construir URLs de restablecimiento de contraseña en lugar de$_SERVER['HTTP_HOST']
. - Referencias:
- Artículo de Acunetix sobre Envenenamiento de Restablecimiento de Contraseña
Restablecimiento de Contraseña Manipulando el Parámetro de Correo Electrónico
Los atacantes pueden manipular la solicitud de restablecimiento de contraseña agregando parámetros de correo electrónico adicionales para desviar el enlace de restablecimiento.
- Agregar el correo electrónico del atacante como segundo parámetro usando &
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
- Agregue el correo electrónico del atacante como segundo parámetro usando %20
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
- Agregar el correo electrónico del atacante como segundo parámetro usando |
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
- Agregue el correo electrónico del atacante como segundo parámetro usando cc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
- Agregue el correo electrónico del atacante como segundo parámetro usando bcc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
- Agregar el correo electrónico del atacante como segundo parámetro usando ,
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
- Agregar el correo electrónico del atacante como segundo parámetro en el arreglo json
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}
- Pasos de Mitigación:
- Analizar y validar adecuadamente los parámetros de correo electrónico en el servidor.
- Utilizar declaraciones preparadas o consultas parametrizadas para prevenir ataques de inyección.
- Referencias:
- https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be
- https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/
- https://twitter.com/HusseiN98D/status/1254888748216655872
Cambiar Correo Electrónico y Contraseña de cualquier Usuario a través de Parámetros de API
- Los atacantes pueden modificar los parámetros de correo electrónico y contraseña en las solicitudes de API para cambiar las credenciales de la cuenta.
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
- Pasos de Mitigación:
- Asegurar una estricta validación de parámetros y comprobaciones de autenticación.
- Implementar un registro y monitoreo robustos para detectar y responder a actividades sospechosas.
- Referencia:
- Toma completa de cuenta a través de la manipulación de parámetros de API
Sin Límite de Tasa: Bombardeo de Correo Electrónico
- La falta de límite de tasa en las solicitudes de restablecimiento de contraseña puede llevar a un bombardeo de correos electrónicos, abrumando al usuario con correos electrónicos de restablecimiento.
- Pasos de Mitigación:
- Implementar límites de tasa basados en la dirección IP o la cuenta de usuario.
- Utilizar desafíos CAPTCHA para prevenir abusos automatizados.
- Referencias:
- Informe de HackerOne 280534
Descubrir Cómo se Genera el Token de Restablecimiento de Contraseña
- Comprender el patrón o método detrás de la generación de tokens puede llevar a predecir o realizar fuerza bruta en los tokens. Algunas opciones:
- Basado en la Marca de Tiempo
- Basado en el ID de Usuario
- Basado en el Correo Electrónico del Usuario
- Basado en el Nombre y Apellido
- Basado en la Fecha de Nacimiento
- Basado en Criptografía
- Pasos de Mitigación:
- Utilizar métodos criptográficos sólidos para la generación de tokens.
- Asegurar suficiente aleatoriedad y longitud para prevenir la predictibilidad.
- Herramientas: Utilizar Burp Sequencer para analizar la aleatoriedad de los tokens.
UUID Adivinable
- Si los UUID (versión 1) son adivinables o predecibles, los atacantes pueden realizar fuerza bruta en ellos para generar tokens de restablecimiento válidos. Verificar:
{% content-ref url="uuid-insecurities.md" %} uuid-insecurities.md {% endcontent-ref %}
- Pasos de Mitigación:
- Utilizar GUID versión 4 para aleatoriedad o implementar medidas de seguridad adicionales para otras versiones.
- Herramientas: Utilizar guidtool para analizar y generar GUIDs.
Manipulación de Respuesta: Reemplazar una Mala Respuesta por una Buena
- Manipular respuestas HTTP para evadir mensajes de error o restricciones.
- Pasos de Mitigación:
- Implementar comprobaciones en el lado del servidor para asegurar la integridad de la respuesta.
- Utilizar canales de comunicación seguros como HTTPS para prevenir ataques de intermediarios.
- Referencia:
- Error Crítico en Evento de Recompensa de Bugs en Vivo
Uso de Token Expirado
- Probar si los tokens expirados aún pueden ser utilizados para el restablecimiento de contraseña.
- Pasos de Mitigación:
- Implementar políticas estrictas de expiración de tokens y validar la expiración del token en el lado del servidor.
Fuerza Bruta en Token de Restablecimiento de Contraseña
- Intentar realizar fuerza bruta en el token de restablecimiento utilizando herramientas como Burpsuite e IP-Rotator para evadir los límites de tasa basados en IP.
- Pasos de Mitigación:
- Implementar mecanismos robustos de limitación de tasa y bloqueo de cuentas.
- Monitorear actividades sospechosas que indiquen ataques de fuerza bruta.
Intentar Usar tu Token
- Probar si el token de restablecimiento de un atacante puede ser utilizado junto con el correo electrónico de la víctima.
- Pasos de Mitigación:
- Asegurarse de que los tokens estén vinculados a la sesión del usuario u otros atributos específicos del usuario.
Invalidación de Sesión en Cierre de Sesión/Restablecimiento de Contraseña
- Asegurar que las sesiones sean invalidadas cuando un usuario cierra la sesión o restablece su contraseña.
- Pasos de Mitigación:
- Implementar una gestión adecuada de sesiones, asegurando que todas las sesiones sean invalidadas al cerrar la sesión o restablecer la contraseña.
Invalidación de Sesión en Cierre de Sesión/Restablecimiento de Contraseña
- Los tokens de restablecimiento deben tener un tiempo de expiración después del cual se vuelven inválidos.
- Pasos de Mitigación:
- Establecer un tiempo de expiración razonable para los tokens de restablecimiento y hacer cumplir estrictamente esta política en el lado del servidor.
Referencias
Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de bugs!
Perspectivas de Hacking
Involúcrate con contenido que profundiza en la emoción y desafíos del hacking
Noticias de Hacking en Tiempo Real
Mantente al día con el mundo del hacking a través de noticias e información en tiempo real
Últimos Anuncios
Mantente informado sobre los nuevos programas de recompensas por bugs que se lanzan y actualizaciones cruciales de plataformas
Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy!
Aprende a hackear AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén el oficial PEASS & HackTricks swag
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.