freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Yak与nuclei的深度融合:打造高效漏扫生态,解锁PoC管理新姿势
2024-07-16 11:07:52







v2-a4f2bfae3f0ef062eb864a5cf570c1a8_1440w.webp

v2-c8968bb0acc8c2f57397dbbd70ac6cb6_1440w.webp

v2-40b4e088ccfecd5a84a33188a89af037_1440w.webp

在Yakit中使用nuclei很简单,只需要几行代码。在Yak Runner中,使用下面代码,指定扫描的目标与选项,便能调用nuclei的漏扫能力:


results:=nuclei.Scan(target,opts...)~for result in results {    dump(result)}

比如以下代码,会对目标192.168.135.128:8080使用tags为thinkphp的PoC进行扫描。

results:=nuclei.Scan("192.168.135.128:8080",nuclei.tags("thinkphp"))~for result in results { dump(result)}

而因为数据库里面并没有PoC,因此很多同学第一次执行的时候会出现以下错误:

v2-13333b5e9c2f08b25117424f6a05cec0_1440w.webp

报错显示没有templates,原因在于Yakit调用的PoC都从数据库拿的,而并非从本地的nuclei-template。解决方法也很简单,在Yakit右上角有个导入资源的按钮,可以从这里导入线上或者本地的nuclei资源。

v2-ffd507bc9cad7ef86c8a00ed3568d7eb_1440w.webp

v2-eb53018ac1a6475d4b0e0d164f2ece3e_1440w.webp

由此可以看到,Yakit调用nuclei逻辑和原生的nuclei操作逻辑是不一样的。许多师傅习惯了nuclei -t 指定目录模板的操作,而在使用Yak代码调用nuclei的时候会很疑惑为什么没反应。请记住,Yakit中数据库就是你的弹药库,如果有你一些珍藏的PoC,请将其加入到弹药库中吧!

v2-66ff51c228cae43342d08f6c9eecda89_1440w.webp

我们将nuclei的扫描结果加入到我们的漏洞展示页面,让其展示更为直观。在将Yaml格式的PoC导入后,便能够使用命令行进行扫描了,如果扫描成功,那么在Yakit的数据库-漏洞便能够看到告警。

v2-237fa539503c08c3b697cc5929ea6f14_1440w.webp


v2-cdb5207dadb412aaffdc271c243740e1_1440w.webp


漏扫结果中,所有信息,包括IP地址、漏洞类型甚至是发送包和返回包都清晰可见。如果需要的话,可以将漏洞报告进行导出,支持导出csv和html格式的报告。

v2-920fdc4b803f7cbfd9f82c14383f7ce5_1440w.webp

在整个nuclei漏扫过程中,PoC的编写尤为重要,一个好的PoC能让渗透测试做到事半功倍,而Yakit能快速生成Yaml格式的PoC。使用Web Fuzzer,可以将数据包的内容快速转化为Yaml格式。只需在Web Fuzzer标签页中点击生成Yaml模板,即可一键生成PoC。

v2-2f1264342e2d589d4755a33973c43a7a_1440w.webp

关于这方面Rookie师傅在PoC免写攻略做了分享,包括PoC如何验证响应与调试等功能。

值得一提的是,随着版本的迭代,原本在"高级配置"里的匹配器,已经变更到"规则"里面来了,不要找错咯。


v2-ee0e4f416e8911ec685f3da615b6d7ed_1440w.webp

v2-bda364b9e99420b159d9cc25e5421652_1440w.webp

得益于Yakit的插件系统,你可以很方便的管理你所拥有的PoC,你可以将你的PoC按照资产、项目或者时间进行分类成组,以便下次需要的时候可以一把“梭哈”。管理插件组的入口在插件仓库本地插件的高级筛选中:

v2-55c59f4cbb3bb9e1d65249c71f39c064_1440w.webp

选择想要成组的PoC,然后点击添加到组,并在搜索栏中写入你想要分组的名称,如果该组不存在,下方将会有一个新增分组的选项。勾选选项,再次点击添加到组,即可将这些PoC分类成组。

v2-5378477531e90f8e47bab98ef4125c43_1440w.webp


v2-f0287c3ceee09b51de5b4d3527280bfa_1440w.webp

对成组的PoC进行批量执行,可以点击左上角的“批量执行”:

v2-e22eea963bef38e8cf948ef5dad7edce_1440w.webp


总结

Yak集成nuclei,并非只是将该工具生硬地放了进来,而是在更高层面做了有机的融合,打通了nuclei的生态与Yak的生态的壁垒,体现了Yak安全能力融合的思想。这种融合有许多应用场景,比如渗透测试的复测。在渗透测试过程中,对目标资产测试完成之后,往往需要过段时间再进行第二次测试,也就是复测。可以想到的是,利用Yak的nuclei的操作流程可以帮你更好地进行复测。比方说,在第一次渗透测试出结果的时候,可以使用Web Fuzzer将HTTP数据包转化为Yaml格式的PoC,并通过插件系统,将本次PoC添加成一组,而在下次复测的时候,即可使用批量执行的功能,并在漏洞数据库中查看复测的结果。

END





v2-07cf1ffc2f94e033d2fef647704b453e_1440w.webp

Yakit插件活动补充信息:

参与插件治理活动的小伙伴们请知悉

1.在提交误报插件时,为方便更好地为大家计数

请以文字方式在插件评论区备注"修复误报"并发布

重复提交同一个误报,以提交时间最先的为准



v2-b143c44ab1c7944cc54853ab5cd23f83_1440w.webp


2.报告重复插件时,请评论备注“该插件与XX插件重复”并发布。方法同上

重复插件将保留发布时间最早的版本,被下架插件会在yakit软件内通知作者

特此补充说明,以便后续统计和赠礼

再次感谢大家的支持


# 网络安全 # 漏洞分析
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者