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

图片

图片

图片

图片

在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,因此很多同学第一次执行的时候会出现以下错误:

图片

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

图片

图片

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

图片

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

图片

图片

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

图片

在整个nuclei漏扫过程中,PoC的编写尤为重要,一个好的PoC能让渗透测试做到事半功倍,而Yakit能快速生成Yaml格式的PoC。

使用Web Fuzzer,可以将数据包的内容快速转化为Yaml格式。只需在Web Fuzzer标签页中点击生成Yaml模板,即可一键生成PoC。

图片

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

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

图片

图片

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

管理插件组的入口在插件仓库本地插件的高级筛选中:

图片

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

图片

图片

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

图片

总结

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

END

图片

点击上方图片跳转链接 ⬆️

Yakit插件活动补充信息:

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

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

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

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

图片

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

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

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

再次感谢大家的支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UNiapp微信小程序Ucharts

效果图如下 以上为加载接口所得数据的玫瑰图与折线图 具体步骤如下 1,将插件导入Hbuiler 所需要的项目中(插件地址:秋云 ucharts echarts 高性能跨全端图表组件 - DCloud 插件市场) 2,导入成功是这样的 3&#xff0c…

java 根据当前时间获取 yyyy-MM-dd HH:mm:ss 标准格式的时间

在Java中,可以使用java.time包中的LocalDateTime类和DateTimeFormatter类来获取并格式化当前时间为yyyy-MM-dd HH:mm:ss格式。 代码示例 以下是如何获取当前时间并格式化为yyyy-MM-dd HH:mm:ss格式的完整示例: import java.time.LocalDateTime; impor…

app的进程启动为什么不是init的fork,而是zygote的fork

在Android系统中,应用程序(App)的进程启动不是通过init进程的fork,而是由Zygote进程的fork来完成的,这主要是出于性能和资源利用优化的考虑。以下是详细的原因分析: 一、init进程的角色 初始化系统&#…

2024-07-16升级问题:调用自带软件打开文件时 android.os.FileUriExposedException

2024-07-16升级问题:调用手机自带软件打开文件时,出现以下问题: E/AndroidRuntime: FATAL EXCEPTION: mainProcess: rs.tabletcropland, PID: 10997android.os.FileUriExposedException: file:///storage/emulated/0/arcgis/%E7%9F%B3%E7%8B…

ES6基本语法(二)——函数与数组

函数 函数是JavaScript中组织代码的一种方式&#xff0c;它可以提高代码的复用性&#xff0c;并使其更加模块化。 在<script>标签中定义函数 你可以在HTML文件的<script>标签内定义函数&#xff0c;或者在JavaScript文件中定义后再引入到HTML中。 <script&g…

相对定位语法:css+xpath基础语法使用-定位页面元素

文章目录 CSS相对定位获取元素关系定位顺序关系 XPath相对定位基础语法顺序关系-通过索引获取元素选取元素 总结 ✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来&#xff01; 编程真是一件很奇妙的东西。你只是浅尝辄止&#xff0c;那么只会觉得枯燥乏味&#xff0c…

HTML5应用的安全防护策略与实践

随着HTML5及其相关技术&#xff08;如CSS3和JavaScript&#xff09;的普及&#xff0c;Web应用变得越来越强大和复杂&#xff0c;同时也成为黑客攻击的目标。本文将探讨HTML5应用面临的常见安全威胁&#xff0c;以及如何通过最佳实践和代码示例来增强应用的安全性。 HTML5安全…

uniapp小程序上传pdf文件

<template><view class="mainInnBox"><view class="formBox"><!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 --><u-form :model="form" ref="uForm" :rules="rules"&g…

用于可穿戴传感器的人类活动识别、健康监测和行为建模的大型语言模型

这篇论文题为《用于可穿戴传感器的人类活动识别、健康监测和行为建模的大型语言模型&#xff1a;早期趋势、数据集和挑战的综述》&#xff0c;由埃米利奥费拉拉&#xff08;Emilio Ferrara&#xff09;撰写。论文主要内容如下&#xff1a; 摘要 可穿戴技术的普及使得传感器数…

韦东山嵌入式linux系列-具体单板的 LED 驱动程序

笔者使用的是STM32MP157的板子 1 怎么写 LED 驱动程序&#xff1f; 详细步骤如下&#xff1a; ① 看原理图确定引脚&#xff0c;确定引脚输出什么电平才能点亮/熄灭 LED ② 看主芯片手册&#xff0c;确定寄存器操作方法&#xff1a;哪些寄存器&#xff1f;哪些位&#xff1f;…

STM32 BootLoader 刷新项目 (三) 程序框架搭建及刷新演示

STM32 Customer BootLoader 刷新项目 (三) 程序框架搭建 文章目录 STM32 Customer BootLoader 刷新项目 (三) 程序框架搭建典型工作流程 1. 硬件原理图介绍1.1 USART硬件介绍1.2 LED和按键介绍 2. STM32 CubeMX工程搭建2.1 创建工程2.2 系统配置2.3 USART串口配置2.4 配置按键G…

GD32 MCU上电跌落导致启动异常如何解决

大家是否碰到过MCU上电过程中存在电源波动或者电压跌落导致MCU启动异常的问题&#xff1f;本视频将会为大家讲解可能的原因以及解决方法&#xff1a; GD32 MCU上下电复位波形如下图所示&#xff0c;上电过程中如果存在吃电的模块&#xff0c;比如wifi模块/4G模块/开启某块电路…

【pytorch】thread: [16,0,0] Assertion `t >= 0 t < n_classes` failed

报错信息&#xff1a;C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\Loss.cu:250: block: [0,0,0], thread: [16,0,0] Assertion t > 0 && t < n_classes failed 可能原因&#xff1a;标签label或者预测的结果pred&#xff0c;超出了数据的范围&…

10校大满贯!中国内地高校2024年1-6月CNS发文统计出炉

随着全球科研竞争的日趋激烈&#xff0c;CNS&#xff08;Cell、Nature、Science&#xff09;作为科学领域的三大顶级期刊&#xff0c;不仅是科研成果的展示平台&#xff0c;更是各国科研实力比拼的重要战场。近年来&#xff0c;中国高校在国际科研舞台上的表现愈发抢眼&#xf…

c#中的字符串方法

Concat() String.Concat(字符串1 字符串n) 字符串拼接 Contains () 字符串1.Contains(字符串2) 字符串1是否包含字符串2返回布尔值 CopyTo() 字符串1.CopyTo(0,空数组,0,5); 从哪开始 复制到哪里 从哪开始存 存储的个数 tartsWith 字符串1.StartsWith("字符串") 以…

排队问题--逆序对应用

对于逆序对&#xff0c;我们可以用树状数组的方式来求&#xff0c;但是值得注意的是&#xff0c;我们逆序对一般求的是比这个元素小的个数&#xff08;位置可以是前或者后&#xff09;&#xff0c;那么求比这个元素大的个数怎么办&#xff0c;我们可以用 i - query() !!! 每个元…

生物安全柜验证:气流流型、粒子、浮游菌等参考标准

生物安全柜也是制药行业常见设备&#xff0c;根据GMP的要求&#xff0c;需对生物安全柜定期进行验证确认&#xff0c;确保生物安全柜的性能满足GMP洁净厂房的相关要求。 生物安全柜是实验室的基本设备&#xff0c;也是生物安全实验室的一级安全隔离屏障。其最重要的作用就是气流…

Windows与Linux双机热备软件推荐

网络数据安全在如今信息化的时代越来越变得举足轻重&#xff0c;因此服务器维护和管理也成为企业健康稳定运营的一项重要工作。但实际情况是很多公司并没有配备专业的运维人员&#xff0c;一般都会通过一些管理软件维护或者主机托管给服务商。整理6款服务器的Windows与Linux双机…

JAVA-----异常处理

一、定义 在 Java 中&#xff0c;异常&#xff08;Exception&#xff09;是指程序在执行过程中遇到的不正常情况&#xff0c;这些情况可能导致程序无法继续执行或产生错误的结果。异常可以是 Java 标准库中提供的内置异常类&#xff0c;也可以是开发人员自定义的异常类。 二、…

Laravel数据库的魔术:数据库种子(Seeders)的实现指南

Laravel数据库的魔术&#xff1a;数据库种子&#xff08;Seeders&#xff09;的实现指南 在Laravel的世界里&#xff0c;数据库种子&#xff08;Seeders&#xff09;是一种优雅的方式来填充数据库&#xff0c;它允许开发者快速地为开发和测试环境创建所需的数据。通过使用Seed…