SBN

Mi contraseña favorita: ‘123456’

La fuga de datos es un fenómeno del día a día, o al menos eso es lo que
he leído. Los criminales roban listas de pares de usuario/contraseña de
diversos lugares en Internet. Luego, esas montañas de información son
ofrecidas y vendidas en la dark web. Dicha
información se constituye como el recurso necesario para ser utilizado
en el Credential Stuffing (relleno de credenciales), el tipo de ataque
del que vamos a hablar en este post.

Esta forma de ataque consiste en la automatización a gran escala de
intentos de inicio de sesión en sitios web específicos, con la esperanza
de que alguno de ellos logre acceder a la cuenta de un usuario para
luego violar su privacidad, actuar en su nombre o robarle. Por tanto,
además de las listas de, normalmente, miles de pares de
usuario/contraseña a probar, también llamadas Combo lists o
simplemente Combos, es necesario para el ciberdelincuente poseer un
software que le trabaje de forma automatizada.

Así, contrario a lo que tienen que hacer los atacantes en Password
Cracking
, en este caso ellos no tienen que adivinar
las contraseñas. Ellos ya tienen a su disposición las credenciales a
probar. Luce como algo muy sencillo, además de efectivo, sobre todo
cuando la gente tiene la ingenua costumbre de utilizar las mismas
contraseñas en diferentes sitios web o aplicaciones. Por lo tanto, los
atacantes no tienen que ser hackers; podrían ser meramente script
kiddies
para llevar a
cabo el relleno de credenciales.

Los hackers habilidosos, por su parte, son los que, explotando las
vulnerabilidades, pueden robar y desencriptar las bases de datos de
credenciales. Ellos son quienes luego deciden si las regalan al mundo o
las ofrecen y venden en comunidades cerradas. Cuanto más reciente sea el
combo filtrado, más valioso puede ser para quien esté interesado en este
tipo de delitos.

Por tanto, una vez que los script kiddies tienen acceso a una lista
usualmente grande de credenciales, necesitan un programa que trabaje
para ellos. Este software comprobará cada usuario y su correspondiente
contraseña contra una aplicación web previamente seleccionada (sin
saberse si van a conseguir algo allí) para identificar los que se
conectan con éxito. Si hay una coincidencia con una cuenta existente,
podemos decir que esta ha sido descifrada (cracked). La herramienta
guardaría ese par usuario/contraseña junto con los otros que también
tuvieron éxito en el combo. A partir de ahí, los atacantes procederían
según sus propósitos.

¿Qué hay de las herramientas?

Pomeranian

Figure 1. Fotografía
por Cookie the Pom en Unsplash.

Hoy en día, aunque algunos crackers experimentados utilizan sus
scripts, existen herramientas (aparentemente no gratuitas) diseñadas
exclusivamente para el relleno de credenciales. En Internet podemos
encontrar fácilmente consejos y tutoriales sobre cómo utilizarlas.
Algunos de los programas más populares son Sentry MBA y STORM.
Sin embargo, más recientemente, ha surgido SNIPR con funcionalidades
similares, pero aparentemente con mayor estabilidad y una interfaz más
intuitiva.

Las herramientas a emplear en este tipo de ataque deben tener la
capacidad de saltarse diversos mecanismos de seguridad. Por ejemplo,
algunos sitios web tienen protección contra intentos masivos de inicio
de sesión desde la misma dirección IP. Este comportamiento suele ser
sospechoso y es asociado a un cracking por parte de los propietarios
de la aplicación web. Es por esta razón que, en estos casos, la
herramienta de relleno de credenciales suele incorporar listas de
proxies que simulan peticiones desde varios sitios en Internet,
asegurando así el anonimato y la automatización ininterrumpida.

Incluso con los proxies, un gran número de solicitudes de inicio de
sesión en períodos cortos de tiempo puede llamar la atención (aunque no
siempre). Aquí es cuando los atacantes maduros y pacientes (no los
adolescentes desesperados) pueden realizar un lento relleno de
credenciales con pocas peticiones durante un día. Sin embargo, pueden
tardar meses en probar miles de pares del combo que poseen. Eso da
tiempo a que los usuarios cambien sus contraseñas y hagan que esas bases
de datos filtradas pierdan valor.

Teniendo un combo, una herramienta y proxies, los atacantes comúnmente
necesitan encontrar y comprar configuraciones o plugins para atacar
aplicaciones web o sitios web particulares. Los programas traen algunos
de ellos de forma gratuita, pero los hábiles hackers maliciosos han
construido astutamente un mercado adicional donde ofrecen y venden otros
plugins a aquellos atacantes que no tienen ni idea de cómo hacerlos.
Esa es para ellos otra forma de obtener beneficios.

Palabras de(imagen de background tomada de).

Figure 2. Palabras de Mateusz
Jasny

(imagen de background tomada de Wallhaven).

¿Alguna recomendación de prevención?

Para usuarios

No reutilices las contraseñas. Procura que haya diferencias notables
entre todas las contraseñas que usas. Modifícalas continuamente y de
forma creativa. Puedes crear patrones para ayudar a tu memoria, pero no
me refiero a añadir prefijos o sufijos intuitivos. Sería algo así como
passphrases con palabras que recuerdes fácilmente, con variaciones
peculiares para cada cuenta, sin olvidar el uso de símbolos, números y
mayúsculas. Por supuesto, puedes utilizar gestores de contraseñas como
1Password o
LastPass cuando creas que hay muchas
contraseñas que recordar y mantener a salvo.

Para administradores de aplicaciones web

En primer lugar, regala los consejos del párrafo anterior a tus usuarios
(por cierto, ¿los conoces? Deberías). Adicionalmente, coteja sus
contraseñas con las que han aparecido en brechas conocidas. Puedes
utilizar HaveIBeenPwned para identificar
en qué fugas de información han estado y listas como esta de 1000
contraseñas

para reconocer cuáles de ellas suelen ser las más comunes. Aunque no son
los datos más recientes, pueden servir de advertencia a tus usuarios.

En cuanto a las solicitudes de inicio de sesión, es una insensatez no
prestar atención al tráfico de usuarios y a las tendencias de inicio de
sesión en tu sitio web, y especialmente si se salen de los patrones
preliminares regulares. Aquellas veces en las que veas múltiples
direcciones IP en acción como algo inusual (quizás debido a proxies en
el relleno de credenciales), puedes utilizar la geolocalización y
averiguar si los países o regiones a los que pertenecen esas IPs se
corresponden con los lugares desde los que se suele acceder a tu
aplicación. Podrías enviar correos electrónicos a esos usuarios para
garantizar que fueron ellos los que intentaron obtener acceso.

Es importante que establezcas contramedidas frente a posibles ataques y
así hagas saber a los atacantes que pueden perder tiempo y esfuerzo con
tu aplicación web. Podrías empezar por considerar incluso soluciones
sencillas como
Fail2ban para
bloquear direcciones IP cuando se generan muchas peticiones fallidas
desde una sola. CAPTCHA puede
ser una contramedida adicional, y reCAPTCHA
v3
, que es fácil de
integrar en las aplicaciones, suele ser más recomendable por estos días
para diferenciar entre bots y humanos.

Una estrategia un poco más avanzada y recomendada para prevenir el
relleno de credenciales es la Autenticación
Multi-Factor
.
No obstante, esta solución de seguridad podría afectar, en cierta
medida, el ‘viaje de tus usuarios’ en tu aplicación mientras responden
con cada evidencia (factor) requerida para el acceso a la información.
Por esta razón, debes ser muy cuidadoso, y preferiblemente optar por
utilizar este método en casos de sospecha de ataque o en circunstancias
en las que el usuario requiera datos sensibles.

Por último, y tras considerar las anteriores opciones de bajo costo para
dificultar los esfuerzos de los atacantes, también puedes recurrir a
servicios comerciales contra el Credential Stuffing como Cloudflare
Bot
Management
y
F5 Bot
Management
.
Siempre teniendo en cuenta que “la solución mágica no existe, así que
desconfía de cualquier empresa que intente venderte una,” dijo Overson
en
Medium
.

Para entender mejor el tema, puedes leer los posts que usé como
referencia para construir este post:
CK,
jbron,
Jasny,
y Overson
(1)
(2).


*** This is a Security Bloggers Network syndicated blog from Fluid Attacks RSS Feed authored by Felipe Ruiz. Read the original post at: https://fluidattacks.com/blog/relleno-credenciales/