网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > 网络渗透测试

红队攻防快速获取入口权限总结(2)

在红蓝攻防中红队时间紧任务重,一是goby的扫描速度堪忧,再者普通版goby中poc不能及时更新到新爆的高危漏洞,并且用goby只进行高危poc的检测扫描无疑大材小用的。

为了解决这种情况,我们可以编写扫描器来快速对大量目标进行高危漏洞的poc验证。

POC的集成与自动化验证

要编写一款适合红队快速打点的扫描器。

扫描器的核心思想在于收集大量常见组件高危漏洞的poc,然后编写一个框架加载这些poc,批量对多个目标进行fuzz测试。

这款专为红队定制的扫描器旨在只要扫出漏洞即可搜索对应exp获取目标shell权限。

因为常见的poc都是以python脚本的形式分布在互联网上,所以用python编写扫描器框架可以很容易的加载调用这些poc进行漏洞验证,我们只需要不断收集这些poc并稍加改动即可。

我们可以将一个poc编写成一个检测漏洞是否存在的函数存在扫描器的poc模块中,并用框架去调用这些漏洞验证函数。

一个漏洞验证函数的编写思路可以如下:

函数的返回结果以字典的形式返回并且具有name和vulnerable两个键值,name说明漏洞名称,vulnerable通过True和False的状态表明漏洞是否存在

示例函数如下(以 thinkphp5.0.22/5.1.29 的命令执行漏洞为例)

def thinkphp5022_5129_rce(url):
relsult = {
'name': 'Thinkphp5 5.0.22/5.1.29 Remote Code Execution Vulnerability',
'vulnerable': False
}
try:
......
(用任意方法检测漏洞)
......
if 存在漏洞:
relsult['vulnerable'] = True # 将relsult的vulnerable的值置为True
relust['xxxxx'] = 'xxxxx' # 可以添加该漏洞相关来源等信息
......
return relsult # 将vulnerable值为True的relsult返回
else: # 不存在漏洞
return relsult # 若不存在漏洞将vulnerable值为False的relsult返回
execpt:
return relsult

这样扫描器框架可以通过通过调用这个函数来实现poc的扫描验证,通过返回字典中的vulnerable值来判断漏洞是否存在。

POC bomber

POC bomber是笔者编写的一款高危漏洞扫描器,其中集成了各种红队攻击中常见组件高危漏洞的poc并能够多线程多目标进行fuzz测试,是一款专门为红队定制的工具,适合在红队攻击初期快速找到突破口。

红队攻防快速获取入口权限总结

项目地址:

https://github.com/tr0uble-mAker/POC-bomber

此款扫描器支持thinkphp全版本,s2全版本,weblogic全版本的漏洞检测,并整合多个hvv高危漏洞,poc有的是网上收集有的是笔者自己编写,是很多扫描器的集合体,并且poc经过改动后误报率很低,能大大减少红队人员的手工验证漏洞时间。

扫描器检测结果:

红队攻防快速获取入口权限总结

目前项目的poc在不断更新中并及时更新最新高危漏洞的poc验证(包括最近的泛微任意文件上传-CNVD-2021-49104)

(责任编辑:admin)