Un ataque de fuerza bruta es aquel que desde un puerto del sistema trata de acceder a un servicio, (como por ejemplo un FTP) y trata de logearse con confirmación positiva, para esto tendremos que hacer uso de una herramienta como un diccionario, que no es más que un archivo .txt que contiene varios miles de palabras que probaremos tanto como usuario como contraseña, se dará el caso de que el servicio nos diga q la confirmación es negativa y seguirá el bucle hasta que recibamos un usuario y contraseña positivo.
Comencemos abriendo la carpeta de nuestro proyecto, en ella habrá como siempre un archivo en Python para que escribamos nuestro código, pero también necesitaremos dos archivos para emplearlos de diccionarios que dejaremos en la carpeta del proyecto, podemos descargarnos diccionarios ya creados como estos.
Con esta premisa comencemos nuestro código, importaremos las librerías, emplearemos sys y ftp
A continuación, iniciaremos nuestro método main y le escribiremos el KeyboardInterrrupt para la prevención de futuros errores.
En este momento definiremos el método main en el asignaremos las variables del objetivo que será la IP del mismo, los usuarios del archivo de diccionario que serán leídos y separados al igual que los passwords.
Ahora que tenemos separados usuarios y passwords solo tenemos que recorrerlos con una función for tanto usuarios como passwords y enviarlo a la función fuerza_bruta que definiremos posteriormente.
Para definir la función fuerza_bruta comenzaremos adjudicando las variables y transformando el target con la librería ftp e indicaremos que intente un login con los diccionarios de usuario y contraseña que hemos establecido dándonos una salida por pantalla afirmativas, así como del usuario y contraseña validos.
Sino en caso contrario que nos lance un mensaje de que fallo la autenticación.
El aspecto final de nuestro código debería ser así.