====== Hydra ======
Ataques de fuerza Bruta
===== SSH =====
Por ejemplo vamos a hacer un ataque donde ya sepamos cual es el usuario (el usuario
se llama pi), pero no sabemos cual es la contraseña, por tanto para la contraseña
pondremos -P, entonces lo haremos de esta manera. Y ahora irá probando uno a uno
con el diccionario que le pasemos hasta haber acertado, donde la contraseña es
raspberry:
{{pasted_image_20230323030936.png|}}
También puede darse el caso que de a medida que vaya probando intentos que nos
lo vaya reportando, por tanto para esto utilizaremos la opción -vV:
{{pasted_image_20230323030943.png|}}
{{pasted_image_20230323030946.png|}}
También puede darse el caso de que no conozcamos el usuario pero sí la
contraseña; y en estos casos pondremos la opción -L en el usuario y en la
contraseña le ponemos la p minúscula; y le pasamos el diccionario:
{{pasted_image_20230323030953.png|}}
Y ahora nos encontró el usuario:
{{pasted_image_20230323031000.png|}}
También podemos quitar la opción de que se nos vaya reportando todo el rato cada
intento quitando la opción -vV:
{{pasted_image_20230323031007.png|}}
También podemos usar estos otros parámetros:
hydra -t 64 -l axel -P rockyou.txt ssh://192.168.0.39 -F -I
{{pasted_image_20230720160034.png|}}
===== FTP =====
Lo haremos igual pero especificando ftp después de la dirección IP:
{{pasted_image_20230323031043.png|}}
Aunque también podemos usar la opción -s 21 para referirnos al puerto de forma
más manual:
{{pasted_image_20230323031055.png|}}
{{pasted_image_20230323031058.png|}}
Incluso si los anteriores parámetros no nos han funcionado, también podemos
hacerlo de esta otra forma:
{{pasted_image_20230528204818.png|}}
===== Hydra - Ataque fuerza bruta contra panel de login web =====
Vamos a suponer que estamos ante un panel de login normal como este:
{{pasted_image_20230323031126.png|}}
Por tanto lo que debemos hacer es insertar unas credenciales normales e interceptar la
petición con burp suite:
{{pasted_image_20230323031134.png|}}
E interceptamos la petición:
{{pasted_image_20230323031140.png|}}
Entonces, basándonos en los datos que nos proporciona burp suite al interceptar la
petición, debemos poner el siguiente comando con hydra. Pondremos http-post-form
porque se tramita con POST, tal y como vemos en burp suite. Pondremos
dvwa/login.php porque lo podemos ver en burp suite en la primera línea. Pondremos
también el username=^USER^&password=^PASS^ porque en la petición vemos la
palabra username=canario&password=canario:
{{pasted_image_20230323031147.png|}}
Luego en el Login=Login failed lo ponemos para que Hydra sepa cual es la respuesta
del servidor cada vez que una password no es correcta y esto lo podemos ver cuando
introducimos una contraseña incorrecta manualmente:
{{pasted_image_20230323031153.png|}}
Y nos habrá encontrado la contraseña, que en este caso es admin:
{{pasted_image_20230323031200.png|}}
==== ATAQUE A PANEL DE LOGIN WEB QUE CORRA POR OTRO PUERTO ====
Si nos encontramos con que el login a atacar corre por un puerto diferente,
tenemos que utilizar estos parámetros:
hydra -l admin -P /usr/share/wordlists/rockyou.txt 127.0.0.1 -s 443 -f http-post-form '/j_acegi_security_check:j_username=admin&j_password=^PASS^&from=%2F&Submit=Sign+in:Invalid username or password'
{{pasted_image_20230819123031.png|}}
[[:computing:hacking:ctf:TryHackMe:MAQUINA_INTERNAL|MAQUINA INTERNAL]]
(wordpress wpscan, hydra http, portforwarding chisel y hacking jenkins en docker)
===== MySQL =====
Hacemos un reconocimiento con nmap para saber por donde está corriendo la base de datos MySQL:
{{pasted_image_20230727155853.png|}}
Lo haríamos con este comando:
hydra -L /usr/share/wordlists/metasploit/unix_users.txt -P /usr/share/wordlists/metasploit/unix_passwords.txt 192.119.223.3 mysql
Y nos encuentra la contraseña:
{{pasted_image_20230727160938.png|}}
===== Protocolo_RDP_Puerto_3389 =====
hydra -L /usr/share/metasploit-framework/data/wordlists/common_users.txt -P
/usr/share/metasploit-framework/data/wordlists/unix_passwords.txt rdp://10.0.0.31 -s 3333
Y nos encuentra los siguientes usuarios:
{{pasted_image_20230730165016.png|}}
===== SMB =====
Vamos a utilizar la máquina windows 7 que ya tiene habilitado el login por smb:
{{pasted_image_20231105161016.png|}}
Vemos que desde Kali podemos iniciar sesión:
{{pasted_image_20231105161032.png|}}
Por tanto, podemos intentar iniciar sesión por smb usando hydra, que lo haríamos de la siguiente forma:
hydra -l mario -P /usr/share/wordlists/rockyou.txt smb://192.168.0.28
{{pasted_image_20231105161117.png|}}
Aunque también podemos hacer otro ataque de fuerza bruta con el módulo de use
auxiliary/scanner/smb/smb_login:
{{pasted_image_20231105162621.png|}}
Realizamos las configuraciones añadiendo el diccionario (rockyou o
unix_passwords, RHOSTS y lanzamos el ataque):
{{pasted_image_20231105163433.png|}}
Y nos encuentra la contraseña:
{{pasted_image_20231105163511.png|}}
Una vez hecho esto, es posible que podamos entrar dentro de la máquina por
psexec usando el siguiente módulo:
use exploit/windows/smb/psexec
Donde le cargamos los datos para iniciar sesión obtenidos anteriormente:
{{pasted_image_20231105163717.png|}}
Pero vemos que en este caso no funcionó:
{{pasted_image_20231105163733.png|}}
Pero sí que podemos entrar por smb y enumerar usando herramientas como smbmap:
smbmap -H 192.168.0.28 -u mario -p 123123 -r Users
{{pasted_image_20231105163828.png|}}
Y una vez hayamos enumerado el recurso compartido ya podremos acceder a él
usando smbclient:
smbclient -U 'mario' //192.168.0.28/Users
{{pasted_image_20231105164156.png|}}
===== TomCat =====
Podemos atacar el panel de login de un tomcat con hydra de la siguiente forma:
{{pasted_image_20240115120606.png|}}
hydra -t 64 -l tomcat -P /usr/share/wordlists/rockyou.txt -f 192.168.0.43 -s 8080 http-get /manager/html
{{pasted_image_20240115120749.png|}}