Los ataques de fuerza bruta hacen referencia a una de las técnicas utilizadas por los atacantes para obtener credenciales de usuarios legítimos para realizar acciones fraudulentas. El típico ataque de fuerza bruta puede ir desde la prueba de muchas contraseñas sobre un nombre de usuario, hasta el uso de otras técnicas como “credential stuffing” o “password spraying”. En todos los casos el objetivo es el mismo: obtener credenciales de acceso válidas para servicios legítimos. En esta oportunidad, explicamos en qué consiste la técnica conocida como password spraying.
¿Qué es password spraying?
A diferencia del ataque típico en el que se prueba una gran cantidad de contraseñas para una misma cuenta de usuario, en un ataque de password spraying el atacante obtiene distintas cuentas de usuarios y va probando con una pequeña cantidad de contraseñas para intentar acceder a uno o varios servicios.
¿Como funciona un ataque de password spraying?
Por medio de herramientas de código abierto o utilizando sitios legítimos, un atacante busca hacerse con un montón de nombres de cuentas de usuarios, por ejemplo, cuentas de correo electrónico. Por otro lado, genera un pequeño listado de contraseñas (en algunos casos usan una sola) y va probando cada contraseña sobre todas las cuentas obtenidas. En general, estas contraseñas son aquellas que se han visto entre las más utilizadas. Este listado puede ser creado manualmente o utilizar uno ya existente en Internet. Una vez que tiene la lista de cuentas de usuario y de contraseñas, el funcionamiento es el siguiente:
- Tomar una contraseña
- Tomar toda la lista de cuentas de usuarios
- Probar si en alguna cuenta la contraseña es valida
- Repetir el proceso
Hoy en día muchos sistemas implementan una medida de seguridad, conocida como bloqueo de cuentas, que hace que luego de cierta cantidad de intentos fallidos de inicio de sesión (puede variar entre tres o más intentos) se bloquee la cuenta de la persona. Si esta medida de seguridad esta activada en una aplicación web, un sistema empresarial, etc., el típico ataque de fuerza bruta puede llegar a ser poco útil, ya que son altas las probabilidades de bloquear la cuenta del usuario. Sin embargo, mediante password spraying es posible evitar esto, ya que al tener una gran cantidad de usuarios el tiempo en el que se van realizando los intentos sobre la misma cuenta puede variar de tal forma que no se bloquea ninguna cuenta y pueda seguir probando más contraseñas.
Como se ha mencionado anteriormente, el ataque de password spraying posee una ventaja contra el tradicional ataque de fuerza bruta, por un lado, si se prueba con una poca cantidad de contraseñas se puede evitar el bloqueo de cuentas o con ayuda de herramientas automatizadas se puede poner un temporizador para que permanezca inactivo por cierto tiempo y luego continuar el ataque para evitar el bloqueo de cuentas, como se mencionó anteriormente.
Este tipo de ataque se puede diferenciar de otros como “credential stuffing”, el cual utiliza combinaciones de usuarios/contraseñas que un atacante tiene en su poder y que fueron obtenidas principalmente de filtraciones de brechas de seguridad. En caso de que un atacante tenga en su poder este tipo de combinaciones podría buscar otras cuentas que estén asociadas a ese usuario en particular, generar una lista con esas cuentas y llevar a cabo un ataque password spraying para detectar si el usuario reutiliza o no esa contraseña en otros sitios.
Muchas veces se ofrecen en el mercado clandestino paquetes con credenciales de acceso para un servicio que no se obtuvieron debido a un fallo de seguridad en el mismo, sino que los cibercriminales probaron combinaciones que obtuvieron de otras brechas y armaron listas de combinaciones que funcionaban en otro servicio debido a que los usuarios reutilizaron la misma combinación nombre de usuario/contraseña. Esto fue lo que ocurrió este año con Zoom y la venta de credenciales de acceso a 500 mil cuentas.
Malas prácticas, concientización y seguridad
Con todo lo leído hasta ahora, si se aplica una mala política de contraseñas, ya sea en un sistema empresarial o la elección de una contraseña débil para la registración en un sitio personal, aumenta la posibilidad de éxito cuando un atacante utilice esta técnica, con lo cual es importante tener una contraseña fuerte para disminuir la probabilidad de que nuestra cuenta sea comprometida y fundamentalmente no usar la misma contraseña en más de un servicio.
Lectura relacionada: Cómo crear una contraseña fuerte en un minuto y proteger tu identidad digital
Por otro lado, existen herramientas gratuitas en sitios legítimos de Internet que automatizan este tipo de ataques, como hydra o CrackMapExec, entre otras. Las mismas fueron creadas con motivos de investigación o para ayudar a la comunidad al momento de simular ataques y realizar pruebas de penetración. Estas herramientas están vinculadas por un contrato legal entre la empresa que pide un servicio de pruebas de seguridad y la que ejecuta estas pruebas.
Pero esto no significa que esas mismas herramientas que fueron creadas con el fin de ayudar a la comunidad de especialistas en seguridad informática no puedan llegar a ser utilizadas por otros actores con fines maliciosos. Se ha visto tanto por grupos de APT como en otros ataques de distribución de malware que cibercriminales hacen uso de esta técnica para obtener acceso a algún equipo o moverse lateralmente dentro de una red corporativa para propagarse con la finalidad de hacer daño a un individuo o a una empresa.
Por ende, es importante tener conocimientos de este tipo ataques e implementar medidas de prevención como las siguientes:
- Contraseñas robustas con un mínimo de 10 caracteres utilizando:
- Caracteres especiales
- Mínimo 2 caracteres en mayúsculas
- Reemplazar letras por números
- Implementar el doble factor de autenticación siempre que sea posible para acceder a sitios online, ya sean empresariales o personales.
- Realizar un cambio de contraseñas periódico tanto a nivel personal como empresarial.
- Evitar el uso de la misma contraseña en distintos sistemas.
- Evitar el uso de palabras que tengan algún tipo relación personal, ejemplo:
- Nombre de una mascota, familiar, etc.
- Usar fechas como cumpleaños, casamientos, etc.
- Evitar el uso de contraseñas triviales, por ejemplo:
- Password
- password
- Passw0rd1
- 123456
- Qwerty
Lecturas relacionadas: