Inicio › Tecnología › Ataque De Fuerza Bruta
Un ataque de fuerza bruta consiste en probar sistemáticamente combinaciones de credenciales —contraseñas, claves de cifrado, PINs— hasta dar con la correcta, sin explotar ninguna vulnerabilidad concreta del sistema más allá de la debilidad intrínseca de una contraseña corta o predecible. Existen variantes: la fuerza bruta pura prueba todas las combinaciones posibles de caracteres, mientras qué los ataques de diccionario prueban listas de contraseñas comunes o filtradas en brechas previas, y el credential stuffing reutiliza pares usuario-contraseña robados en una filtración para probarlos automáticamente en otros servicios, aprovechando qué muchas personas reutilizan la misma contraseña en varias webs. La viabilidad de estos ataques depende directamente de la longitud y complejidad de la contraseña y de si el sistema atacado permite intentos ilimitados sin ningún tipo de límite.
Es probar contraseña tras contraseña hasta acertar, como alguien qué intenta abrir una cerradura probando cada combinación posible de una a una. Cuanto más corta y previsible es la contraseña, menos tiempo tarda un ordenador en probarlas todas; por eso una contraseña larga y aleatoria es mucho más difícil de reventar así qué una corta y con palabras comunes.
Para proteger el formulario de login de tu aplicación frente a fuerza bruta, implementa un límite de intentos fallidos por IP y por cuenta (por ejemplo, bloqueo temporal tras cinco intentos consecutivos), usa un algoritmo de hash lento y con coste computacional ajustable para las contraseñas almacenadas (como bcrypt o Argon2, nunca MD5 o SHA1 sin salting), y activa autenticación multifactor al menos en cuentas con privilegios elevados: incluso si el atacante acierta la contraseña, necesitará también el segundo factor para entrar.
La fuerza bruta prueba combinaciones generadas o de diccionario sin saber si son válidas en ningún sitio; el credential stuffing usa pares usuario-contraseña reales robados en filtraciones previas de otros servicios, aprovechando qué mucha gente reutiliza la misma contraseña en varias webs distintas.
Porque cada intento de comprobar una contraseña contra el hash almacenado requiere un cálculo deliberadamente costoso en tiempo, lo qué reduce drásticamente el número de combinaciones qué un atacante puede probar por segundo, incluso si consigue robar la base de datos de hashes.
Ayuda mucho pero no es suficiente por sí solo: un atacante puede repartir los intentos entre miles de IPs distintas para esquivar un límite por IP, por lo qué conviene combinarlo con detección de patrones anómalos, CAPTCHA tras varios fallos y autenticación multifactor.