Skip to main content

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

Aprende como realizar un ataque de fuerza bruta con Burp Suite y THC-Hydra en Linux

En el caso de hoy y después de la instalación de la aplicación web dvwa, vamos a enseñar en este caso como realizar un ataque de fuerza bruta con el que conseguir los datos de acceso.

Qué es un ataque por fuerza bruta

Un ataque de fuerza bruta, en criptografía, es la forma de recuperar una clave probando con todas las combinaciones posibles hasta encontrar la correcta.

Para realizar un ataque por fuerza bruta, se deben de tener en cuenta varios aspectos

  • La longitud de la palabra que deseamos obtener (en este caso usuario y contraseña)
  • El alfabeto utilizado para obtener todas las combinaciones posibles.

Por ejemplo, una contraseña consta de varios caracteres que pueden ser letras, números, caracteres especiales, etc. Para realizar este tipo de ataques se debe utilizar un diccionario de contraseñas.

El tamaño del diccionario dependerá de la posibilidad de encontrar la contraseña correcta pero también, el tiempo que tarde el ataque estará condicionado por el tamaño de dicho diccionario.

Como ya mencionamos en un post anterior, podemos crear un diccionario de contraseñas utilizando la herramienta crunch pero, en este caso, no vamos a necesitarlo y ahora veréis porque.

Para explotar esta vulnerabilidad de dvwa se van a utilizar dos herramientas. Burp Suite Free Edition y THC-Hydra.

 

Explotando la vulnerabilidad con Burp Suite

En primer lugar tendremos que configurar el explorador web para que se conecte a través de un proxy HTTP en la dirección de localhost (127.0.0.1) en el puerto 8080 (utilizado por defecto por Burp Suite).

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

 

Hecho esto, abriremos la aplicación Burp Suite y accederemos al formulario web donde se solicitan los datos de autentificar el usuario. Como recordaréis en el post de instalación de dvwa, debéis acceder con los datos admin y password a la consola de administración, una vez aquí acceder a la sección Brute Force.

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

 

En este caso como vemos en la siguiente imagen hemos recibido el mensaje “Username and/or password incorrect”.

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

 

Y en la siguiente imagen, vemos como además con Burp Suite hemos interceptado la petición HTTP GET con los parámetros de acceso.

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

Interceptada la petición, vamos a enviar estos datos a la herramienta intruder encargada de realizar el ataque por fuerza bruta. La configuración para cada una de las pestañas sería.

La pestaña target, la dejamos por defecto, y nos vamos a la pestaña positions.

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

 

En esta sección debemos seleccionar el tipo de ataque a realizar y los campos que se quieren obtener (deben estar delimitados por §§). En este caso vamos a realizar un ataque “cluster bomb” (bomba de racimo) que consiste en comprobar todos los valores de un parámetro contra todas las posibles combinaciones de valores y, por otro lado los campos serían username y password.

Ahora accedemos a la pestaña payload. En este caso dependerá del tipo de dato que se quiera utilizar para realizar el ataque, la herramienta intruder permite la carga de diccionarios, fechas, generadores en base a cadenas, etc.

Debido a que estamos utilizando la versión gratuita de esta aplicación, vamos a hacer una prueba con pocos caracteres y posteriormente la haremos con un diccionario utilizando Hydra.

Para el username será un listado con los siguientes valores: administrador, administrator, admin.

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

 

Para el campo password será también un listado con los siguientes valores: contrasena, 123456, 123456789, asdfghjkl, admin, administrador, administrator, password.

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

 

Ya sólo nos queda configurar las opciones para establecer los filtros de aviso que queremos obtener y saber el resultado de cada operación. Para ello debemos ir al apartado grep y añadir los siguientes valores: Username, password, incorrect y Welcome. Con estos filtros veremos más claro el resultado de la operación.

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

 

Con todo configurado, volvemos a la pestaña positions y pinchamos el botón start attack. Comenzará entonces nuestro ataque de fuerza bruta para obtener la contraseña correcta.

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

 

Después de un tiempo de espera (debido al retardo que aplica Burp Suite en su versión gratuita), podemos ver claramente en la imagen que todos los resultados muestran los campos Username, password e incorrect pero sólo uno nos muestra activo el filtro Welcome. Los datos de acceso son admin y password respectivamente.

Acabamos de hacer un ataque de fuerza bruta en tan sólo unos minutos, como es normal, en la realidad es mucho más complicado que con esta aplicación pero para un primer contacto es perfecto para aquellos que empezáis en este mundo.

 

Explotando la vulnerabilidad con THC-Hydra

Ahora vamos a hacerlo utilizando la aplicación THC-Hydra. Como observaremos los tiempos de ejecución serán bastante diferentes de una herramienta a otra, también dependerá del tamaño del diccionario que utilizaremos con la herramienta Hydra.

Como ya conocemos el nombre del usuario, en este caso y por hacerlo un poco más ligero vamos a obtener la contraseña a través de un diccionario. Para ello vamos a crear nuestro diccionario utilizando la herramienta crunch. Podéis echarle un vistazo un poco más a fondo en este enlace y, el comando en este momento sería

En este caso es un diccionario muy simple que contenga una combinación de 8 caracteres de las letras adoprssw sin repetir (pasword ordenado alfabéticamente). 

Posteriormente y como el comando es muy largo pegaremos el siguiente código en un fichero llamado brute-force.sh

 

El código debe ir todo junto, revisar si copiais y pegáis porque podría crearos saltos de línea. En el comando anterior podemos ver varios puntos.

Comenzamos el comando con la palabra clave hydra seguida de las siguientes opciones

  • -l -> indicamos el nombre de usuario, en caso de utilizar un diccionario sería -L
  • -P -> indicamos un diccionario para la contraseña, sería el mismo caso que el anterior, para introducirla con la opción -p

Seguido de estas opciones, indicamos la url o ip de la web que queremos atacar, seguido del protocolo http-get-form a través del cual realizaremos el ataque. Continuado deberá ir entre comillas la dirección web del formulario con los parámetros requeridos para enviar dicho formulario. Se deberá indicar los datos de la cookie, security en este caso, id de sesión o todos aquellos datos necesarios (deberán cambiar los valores del código anterior por sus valores de sesión, etc.).

Una vez comprendido el comando, guardamos el fichero y lo ejecutamos con

 

Tras unos cuantos minutos, dependiendo del tamaño del diccionario (nosotros hemos creado uno muy pequeño para hacer la comprobación más rápido y mostrar el resultado), podremos ver el resultado de nuestro ataque.

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

Vemos como nos ha obtenido los datos de acceso correctos. El comando que hemos ejecutado es el mismo que en el caso de Burp Suite salvo que en este caso lo hemos hecho a través de la línea de comandos.

Finalmente, nos queda comprobar en la página que los datos obtenidos son los correctos

Ataques de fuerza bruta con Burp Suite y THC-Hydra en Linux

 

En este caso lo hemos realizado en el nivel low pero, todavía quedan 2 niveles más por explotar. Ahora que sabemos realizar un ataque de fuerza bruta, como podemos evitar uno en nuestro sitio.

 

Cómo prevenirnos ante un ataque de fuerza bruta

El nivel medio establece la misma seguridad que el nivel bajo, es decir, el procedimiento de ataque es el mismo. En el caso del nivel high se ha implementado el uso de la función sleep() de php. Esta función, establece un tiempo de espera entre cada petición de los segundos especificados, dando lugar a un ataque fallido.Este paso os lo dejo explorar a vosotros solos pero ya sabéis que cualquier duda estamos para ayudaros.

Además de esta función, para prevenirnos de un ataque de fuerza bruta de un robot como ha sido en los casos anteriores, podemos incluir un paso extra que no pueda resolverse fácilmente un robot. Para ello emplearemos un captcha.

Un sistema de captcha consiste en una prueba de respuesta con diferentes elementos como imágenes o la introducción de texto por teclado para determinar si el usuario que intenta acceder es un humano o una máquina.

 

Con esto terminamos por ahora, en el próximo post explicaremos otra de las vulnerabilidades que podemos explotar con esta aplicación, cualquier duda u opinión en los comentarios. Gracias por leernos y nos vemos en el siguiente.

 

 

Deja una respuesta

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