We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dddd
https://github.com/SleepingBag945/dddd
dddd是一款使用简单的批量信息收集,供应链漏洞探测工具,旨在优化红队工作流,减少伤肝的机械性操作。
从22年开始,就接触了基于yaml的nuclei,相比起 Python PoC/Exp 层次不齐的质量与杂乱无章的接口,"使用固定格式的 Yaml 来编写 PoC ,并把 PoC 通过特定引擎来调度执行" 这种方式来构建漏洞验证的体系深深的吸引了我,我也把写nuclei yaml poc作为我沉淀知识的方法之一。
但对于nuclei这种拥有庞大yaml模板量的工具来说,使用模板喷射(template-spray)、主机喷射(host-spray)的方式对一个目标不分青红皂白的遍历对目标来说是巨大的灾难。例如对一个zabbix打wordpress模板无疑浪费了时间与网络资源。对1000个目标打6000个模板(单请求、不同路径),大概是需要600万次,时间成本极高。
于是我想着如何做一个针对性喷射。
解决方案是进行指纹识别,对一个页面的响应进行分析,确定这个页面能匹配到哪些指纹,再针对性打对应的Poc,例如工具检测到响应中存在images/general/zabbix.ico,判断这个页面的指纹是 ZABBIX-监控系统 ,再针对性打CVE-2016-10134、CVE-2019-17382等等漏洞。假设有20个zabbix的Poc(单请求),对1000个zabbix目标只需要2万次请求,大大降低了发现漏洞时间、网络成本。
经过实际使用,发现nuclei自带的-as参数,通过wappalyzer进行指纹识别的智能扫描并不好用,阅读nuclei源码可知这玩意的实现是将wappalyzer识别出的指纹进行拆分,拆分后的结果通过各模板的tags进行匹配,这种方式会漏掉大量漏洞模板,原因有两条,1.tags质量良莠不齐(漏写、错写、资产多名,如yonyou写成yongyou),会导致wappalyzer匹配不到。2.wappalyzer对某些指纹的识别不是很全,添加指纹不是很方便,需要重新编译nuclei。
另一种指纹识别的方案是nuclei的workflow,一开始我也很热衷于此,先运行一些指纹识别性质的模板,再通过workflow模板,自动运行与指纹相关的模板,这貌似能解决大部分问题。但后来对nuclei社区提供的yaml模板进行整理的时候发现,有些指纹他不在根目录,这会导致漏洞打偏。而且编写指纹识别的nuclei yaml偏麻烦,远远没有各类网络空间搜索引擎(hunter、fofa)提供的语法简单方便,于是我便萌生了开发一个基于fofa语法的指纹识别、使用Nuclei引擎针对指纹进行漏洞探测的效率工具的想法,把漏洞更精准、方便的指向资产指纹。在用的时候就不需要先进行指纹识别,再一个个找对应的指纹使用nuclei 的-tags参数跑poc了,极大提升信息收集、漏洞发现的效率。
dddd就是这个想法的实现。它支持的类Fofa指纹支持复杂 与/或/非/括号 逻辑运算。人类友好,大部分Fofa指纹可以通过编写Yaml的方式直接移植到dddd上,下列是一个的指纹例子。
Interspire-Email-Marketer: - '(title=="Control Panel" && body="Email Marketer") || body="<img src=\"images/logo.jpg\" alt=\"Interspire Email Marketer"'
再通过Yaml的工作流数据库可以很方便的将漏洞指向指纹。
Citrix-ADC: type: - root pocs: - CVE-2019-19781 - CVE-2020-8191 - CVE-2020-8193 - CVE-2020-8194
当dddd在实战中识别到Citrix-ADC指纹时会自动对该资产打出上边4个CVE。经过一年的更新,目前沉淀下来2400+Poc,8000+高质量指纹。
当然,除了指纹识别与Nuclei,dddd还配套了其他便捷功能,帮助红队/安服/甲方更便捷的发现资产与漏洞,如Hunter、fofa、Quake资产的导入、端口扫描、子域名枚举、CDN识别、服务爆破、未授权检测等功能。
The text was updated successfully, but these errors were encountered:
您好,感谢投稿。项目未通过404星链计划技术评审环节,期待项目后续的更新和迭代,随时欢迎再次投稿,谢谢!
Sorry, something went wrong.
No branches or pull requests
基本要求
项目名称
dddd
项目地址
https://github.com/SleepingBag945/dddd
项目简介
dddd是一款使用简单的批量信息收集,供应链漏洞探测工具,旨在优化红队工作流,减少伤肝的机械性操作。
项目亮点
从22年开始,就接触了基于yaml的nuclei,相比起 Python PoC/Exp 层次不齐的质量与杂乱无章的接口,"使用固定格式的 Yaml 来编写 PoC ,并把 PoC 通过特定引擎来调度执行" 这种方式来构建漏洞验证的体系深深的吸引了我,我也把写nuclei yaml poc作为我沉淀知识的方法之一。
但对于nuclei这种拥有庞大yaml模板量的工具来说,使用模板喷射(template-spray)、主机喷射(host-spray)的方式对一个目标不分青红皂白的遍历对目标来说是巨大的灾难。例如对一个zabbix打wordpress模板无疑浪费了时间与网络资源。对1000个目标打6000个模板(单请求、不同路径),大概是需要600万次,时间成本极高。
于是我想着如何做一个针对性喷射。
解决方案是进行指纹识别,对一个页面的响应进行分析,确定这个页面能匹配到哪些指纹,再针对性打对应的Poc,例如工具检测到响应中存在images/general/zabbix.ico,判断这个页面的指纹是 ZABBIX-监控系统 ,再针对性打CVE-2016-10134、CVE-2019-17382等等漏洞。假设有20个zabbix的Poc(单请求),对1000个zabbix目标只需要2万次请求,大大降低了发现漏洞时间、网络成本。
经过实际使用,发现nuclei自带的-as参数,通过wappalyzer进行指纹识别的智能扫描并不好用,阅读nuclei源码可知这玩意的实现是将wappalyzer识别出的指纹进行拆分,拆分后的结果通过各模板的tags进行匹配,这种方式会漏掉大量漏洞模板,原因有两条,1.tags质量良莠不齐(漏写、错写、资产多名,如yonyou写成yongyou),会导致wappalyzer匹配不到。2.wappalyzer对某些指纹的识别不是很全,添加指纹不是很方便,需要重新编译nuclei。
另一种指纹识别的方案是nuclei的workflow,一开始我也很热衷于此,先运行一些指纹识别性质的模板,再通过workflow模板,自动运行与指纹相关的模板,这貌似能解决大部分问题。但后来对nuclei社区提供的yaml模板进行整理的时候发现,有些指纹他不在根目录,这会导致漏洞打偏。而且编写指纹识别的nuclei yaml偏麻烦,远远没有各类网络空间搜索引擎(hunter、fofa)提供的语法简单方便,于是我便萌生了开发一个基于fofa语法的指纹识别、使用Nuclei引擎针对指纹进行漏洞探测的效率工具的想法,把漏洞更精准、方便的指向资产指纹。在用的时候就不需要先进行指纹识别,再一个个找对应的指纹使用nuclei 的-tags参数跑poc了,极大提升信息收集、漏洞发现的效率。
dddd就是这个想法的实现。它支持的类Fofa指纹支持复杂 与/或/非/括号 逻辑运算。人类友好,大部分Fofa指纹可以通过编写Yaml的方式直接移植到dddd上,下列是一个的指纹例子。
再通过Yaml的工作流数据库可以很方便的将漏洞指向指纹。
当dddd在实战中识别到Citrix-ADC指纹时会自动对该资产打出上边4个CVE。经过一年的更新,目前沉淀下来2400+Poc,8000+高质量指纹。
当然,除了指纹识别与Nuclei,dddd还配套了其他便捷功能,帮助红队/安服/甲方更便捷的发现资产与漏洞,如Hunter、fofa、Quake资产的导入、端口扫描、子域名枚举、CDN识别、服务爆破、未授权检测等功能。
The text was updated successfully, but these errors were encountered: