# Credential stuffing

El relleno de credenciales o la reutilización de credenciales robadas es un tipo de ataque cibernético en el que las credenciales de cuentas robadas que suelen consistir en listas de nombres de usuario y / o direcciones de correo electrónico y las contraseñas correspondientes (a menudo de una violación de datos) se utilizan para obtener acceso no autorizado a las cuentas de usuario (informática) a través de solicitudes de inicio de sesión automatizadas a gran escala dirigidas contra una aplicación web. A diferencia del descifrado de credenciales, los ataques de relleno de credenciales no intentan forzar ni adivinar ninguna contraseña; el atacante simplemente automatiza los inicios de sesión para una gran cantidad (de miles a millones) de pares de credenciales previamente descubiertos utilizando herramientas de automatización web estándar como Selenium, cURL, PhantomJS o herramientas diseñadas específicamente para este tipo de ataques como: Sentry MBA, SNIPR, STORM, Blackbullet y Openbullet.
Los ataques de relleno de credenciales son posibles porque muchos usuarios reutilizan la misma combinación de nombre de usuario / contraseña en varios sitios. A partir de una encuesta que informa que el 81% de los usuarios han reutilizado una contraseña en dos o más sitios y el 25% de los usuarios utilizan las mismas contraseñas en la mayoría de los sitios. sus cuentas.

## Derrames de credenciales

Los ataques de relleno de credenciales se consideran una de las principales amenazas para las aplicaciones web y móviles como resultado del volumen de usos de las credenciales. Más de 3000 millones de credenciales se usaron a través de violaciones de datos en línea solo en 2016.

## Origen

El término fue acuñado por Sumit Agarwal, cofundador de Shape Security, quien se desempeñaba como subsecretario adjunto de Defensa en el Pentágono en ese momento.

## Incidentes

El 20 de agosto de 2018, Superdrug del Reino Unido fue atacado con un intento de chantaje, se proporcionó evidencia que afirmaba que los piratas informáticos habían penetrado en el sitio y descargado los registros de 20,000 usuarios. Lo más probable es que la evidencia se haya obtenido de piratas informáticos, y utilizaciones, y luego se utilizó como fuente de ataques de relleno de credenciales para recopilar información y crear la evidencia falsa.
En octubre-noviembre de 2016, los atacantes obtuvieron acceso a un repositorio privado de GitHub utilizado por los desarrolladores de Uber (Uber BV y Uber UK), utilizando los nombres de usuario y contraseñas de los empleados que habían sido comprometidos en violaciones anteriores. Los piratas informáticos afirmaron haber secuestrado las cuentas de usuario de 12 empleados utilizando el método de relleno de credenciales, ya que las direcciones de correo electrónico y las contraseñas se habían reutilizado en otras plataformas. La autenticación de múltiples / dos factores, aunque está disponible, no se activó para las cuentas afectadas. Posteriormente, los piratas informáticos localizaron las credenciales para el almacén de datos de AWS de la empresa en los archivos del repositorio y, por lo tanto, pudieron obtener acceso a los registros de 32 millones de usuarios no estadounidenses y 3,7 millones de controladores no estadounidenses, así como a otros datos contenidos en más de 100 S3. cubos. Los atacantes alertaron a Uber y exigieron el pago de $ 100,000 para aceptar eliminar los datos. La compañía pagó a través de un ' programa de recompensas por errores', pero no reveló el incidente a las partes afectadas durante más de un año. Después de que saliera a la luz la infracción, la Oficina del Comisionado de Información del Reino Unido multó a la empresa con 385.000 libras esterlinas (reducidas a 308.000 libras esterlinas).

## Comprobación de credenciales comprometidas

La verificación de credenciales comprometidas es una técnica mediante la cual se notifica a los usuarios cuando las contraseñas son violadas por sitios web, navegadores web o extensiones de contraseña.
En febrero de 2018, el científico informático británico Junade Ali creó un protocolo de comunicación (utilizando k -anonimato y hash criptográfico ) para verificar de forma anónima si se filtró una contraseña sin revelar completamente la contraseña buscada. Este protocolo se implementó como una API pública en el servicio de Hunt y ahora es consumido por múltiples sitios web y servicios, incluidos administradores de contraseñas y extensiones de navegador. Este enfoque fue posteriormente replicado por la función de verificación de contraseñas de Google. Ali trabajó con académicos de la Universidad de Cornell para desarrollar nuevas versiones de este protocolo conocido como Bucketización de tamaño de frecuencia y Bucketización basada en identificadores. En marzo de 2020, se agregó el relleno criptográfico a este protocolo.

### Implementaciones de verificación de credenciales comprometidas

| Protocolo | Desarrolladores | Hecho público |
| k-anonimato | Junade Ali ( Cloudflare ), Troy Hunt ( ¿Me han engañado? ) | 21 de febrero de 2018 |
| Bucketización de suavizado de frecuencia y agrupación basada en identificadores | Universidad de Cornell (Lucy Li, Bijeeta Pal, Rahul Chatterjee, Thomas Ristenpart), Cloudflare ( Junade Ali, Nick Sullivan) | Mayo de 2019 |
| Verificación de contraseña de Google (GPC) | Google, Universidad de Stanford | Agosto de 2019 |
| Detección activa de relleno de credenciales | Universidad de Carolina del Norte en Chapel Hill (Ke Coby Wang, Michael K. Reiter) | Diciembre de 2019 |