Fallos de autenticación: cómo se entra en cuentas ajenas
Guía en castellano sobre fallos de autenticación: recuperación de contraseña, 2FA que se puede saltar, fuerza bruta y verificaciones débiles.
Qué es
La autenticación es la parte que responde a "¿quién eres?". Los fallos de esta categoría permiten entrar en una cuenta sin conocer su contraseña, o saltarse una de las barreras que deberían impedirlo, como el segundo factor.
A diferencia de un IDOR, aquí el atacante no accede a un recurso suelto: se convierte en la víctima.
Dónde suele aparecer
- Recuperación de contraseña: enlaces que no caducan, tokens predecibles o reutilizables, o un enlace que se construye con la cabecera
Hostde la petición y acaba apuntando a un dominio del atacante. - Segundo factor (2FA): códigos que se pueden probar sin límite, un paso que se puede saltar llamando directamente a la siguiente pantalla, o una respuesta del servidor que basta con modificar.
- Fuerza bruta: inicio de sesión o códigos de verificación sin límite de intentos, o límites que se esquivan cambiando de IP o de formato.
- Verificaciones débiles: comprobar la identidad con datos que el atacante conoce o controla, como el correo sin verificar.
- Diferencias en las respuestas que permiten saber qué correos tienen cuenta (enumeración de usuarios), un primer paso para otros ataques.
Cómo se busca
- Recorre todos los caminos para entrar: inicio de sesión, registro, recuperación, inicio con terceros, apps móviles y APIs antiguas. Basta con que uno sea más débil.
- Analiza los tokens de recuperación: longitud, caducidad, si se invalidan tras usarse y si sirven para otra cuenta.
- Envía la petición de recuperación modificando
Hosto cabeceras comoX-Forwarded-Hosty mira a dónde apunta el enlace del correo. - En el 2FA, comprueba si hay límite de intentos y si se puede acceder a páginas protegidas sin completarlo.
Cómo se evita
- Tokens de recuperación largos, aleatorios, de un solo uso y con caducidad corta.
- Construir los enlaces con un dominio fijo de la configuración, nunca con la cabecera
Host. - Límite de intentos en inicio de sesión, códigos y 2FA, por cuenta y no solo por IP.
- Comprobar en el servidor que todos los pasos se completaron, en orden.
- Mensajes iguales tanto si la cuenta existe como si no.
Al reportarlo
Describe el camino completo hasta tomar una cuenta de prueba tuya y si requiere algo de la víctima (que pulse un enlace, que tenga cierta configuración). Eso marca la severidad.
Casos reales de Autenticación
Ver los 13 →CoinMate: el endpoint privado /api/bitcoinWithdrawalFees respondía sin autenticación
Un endpoint de la API de CoinMate documentado como operación de usuario devolvía las comisiones de retirada de bitcoin a cualquiera, sin comprobar la firma HMAC que exigen el resto de endpoints privados.
3 min
Essity: tres plugins Jet de Crocoblock permitían cambiar su configuración de WordPress sin iniciar sesión
Tres endpoints REST de plugins Crocoblock (JetElements, JetWooBuilder y JetWooProductGallery) en una web de Essity guardaban ajustes sin pedir autenticación: bastaba un POST para desactivar widgets o cambiar claves de API.
3 min
Brave para iOS: abrir un elemento de Playlist en pestaña privada se saltaba el bloqueo con Face ID
En Brave para iOS, la opción "Open in a New Private Tab" de Brave Playlist abría las pestañas privadas sin pedir Face ID ni código, aunque esa protección estuviese activada. Bastaba acceso físico al móvil.
2 min
Yelp for Business: el email "bloqueado" en la app se podía reescribir vía API
El endpoint de perfil de Yelp for Business aceptaba un campo email sin pedir contraseña ni confirmación, pese a que la app mostraba ese campo con candado. Combinado con el reseteo de contraseña, permitía escalar un token de sesión a control total de la cuenta.
4 min
Monero: el modo restringido de monero-wallet-rpc dejaba crear, abrir y cerrar carteras
Varios métodos de monero-wallet-rpc no comprobaban el modo --restricted-rpc, así que un cliente que debía ser de solo lectura podía crear, abrir y cerrar carteras, generar direcciones y llegar a funciones de pruebas y claves.
5 min
Ticket Trick en un portal de soporte del programa de Rockstar Games: leer enlaces de acceso para entrar en cuentas ajenas
Un portal de soporte incluido en el programa de Rockstar Games no verificaba la propiedad del email al registrarse, así que un atacante podía leer como tickets los enlaces de acceso enviados a direcciones corporativas.
2 min