Yakit 是一款交互式的应用安全测试平台,它旨在帮助用户更好地测试和保护 web 应用程序的安全性。在本文中,我们将介绍 Yakit 的功能、用法和技巧,以便用户更好地了解和使用它。
一、功能
1.手动测试:Yakit 支持用户手动测试 web 应用程序,用户可以在 web 应用程序中执行不同的操作,并观察响应。这使得用户可以更好地了解 web 应用程序的安全性,并识别潜在的漏洞。
2.自动化测试:Yakit 支持自动化测试,用户可以使用自定义测试脚本自动执行测试。这使得用户可以更快地测试 web 应用程序,并发现更多的漏洞。
3.漏洞管理:Yakit 具有内置的漏洞管理功能,用户可以跟踪漏洞的状态、优先级和责任人等信息,并记录漏洞修复的进展。
报告和统计:Yakit 可以生成详细的测试报告和统计数据,以便用户更好地了解 web 应用程序的安全性和测试进展。
二、用法
1.创建项目:用户可以使用 Yakit 创建一个新的项目,并添加 web 应用程序的 URL。在创建项目后,用户可以添加成员、设置权限和配置测试环境等信息。
2.执行测试:用户可以手动执行测试,也可以使用自动化测试脚本执行测试。用户可以选择测试类型、设置测试参数和配置测试选项等。
3.漏洞管理:用户可以使用 Yakit 跟踪漏洞的状态和进展。用户可以为每个漏洞设置优先级、责任人和修复日期等信息,以便更好地管理漏洞。
4.生成报告:用户可以使用 Yakit 生成详细的测试报告和统计数据。报告包括测试结果、漏洞详情和修复建议等信息,以便用户更好地了解测试结果和漏洞情况。
三、技巧
1.选择合适的测试类型:Yakit 支持多种测试类型,包括漏洞扫描、Web 爬虫和自定义测试等。用户应根据需要选择合适的测试类型,以便更好地测试 web 应用程序的安全性。
2.配置测试参数:用户应根据 web 应用程序的具体情况配置测试参数,包括 URL、端口、认证信息等。这将有助于提高测试的效率和准确性。
3.跟踪漏洞进展:用户应定期跟踪漏洞的状态和进展,并为每个漏洞设置优先级和责任人等信息。这将有助于更好地管理漏洞,
软件特点
可百分百替代 BurpSuite 的 MITM 劫持平台;
难以复制的 MITM 被动扫描 GUI;
嵌入 Yaklang 脚本来实现动态调试流量; 随时动态执行代码;
全球第一个可视化的Web模糊测试工具—Web Fuzzer;
Yakit插件商店:
可在渗透测试任何步骤内执行自定义的Yaklang脚本或插件
MITM 操作台可百分百替代 BurpSuite执行所有操作(下载并安装证书、劫持请求、响应、编辑劫持到的数据包等)。并且提供一整套顺畅的工作流,劫持=>History=>Repeater/Intruder,劫持数据,在History查看历史数据,选择需要“挖掘”的数据包,发送到Web Fuzzer进行Repeater/Intruder操作。除了这些典型的操作场景外,MITM还提供了插件被动扫描、热加载、数据包替换、标记等更灵活的功能。
Web Fuzzer模块支持用户自定义HTTP原文发送请求。为了让用户使用简单,符合直觉,只需要关心数据相关信息,Yakit后端做了很多工作。HTTP原文中一些保证数据传输和解析的信息都是由Yakit后端修复补全的,例如修复CRLF,补全Content-Type、通过chunk方式传输、补全boundary、修复Content-Length等等。
Web Fuzzer模块支持通过Fuzz标签,自然且完美整合了Host碰撞、Intruder、目录爆破等功能。例如单参数爆破场景,以爆破用户id为例,可以使用{{int(1-10)}}标签自动生成爆破的id。面对多个参数爆破的场景,采用笛卡尔乘积的结果作为爆破参数,相较于BurpSuite的Intruder模块,免去了选择爆破方式,导入字典等步骤,极大的减少了用户的操作路径,符合用户使用习惯。当然Web Fuzzer模块除了使用标签自动生成参数,也支持导入外部字典,例:{{file(/tmp/username.txt)}}。面对一些更复杂的数据场景,Web Fuzzer模块支持插入热加载标签,例如需要爆破某地区的身份证号,可以直接在Web Fuzzer模块插入Yak脚本生成数据进行爆破。而BurpSuite的Intruder模块,面临这种场景,需要编写代码生成字典,再导入Intruder模块。
Fuzztag 速览
许多漏洞利用场景需要用到不同协议服务的反连,传统漏洞利用工具需要在公网服务器为每一个服务监听一个端口,如LDAP类型的漏洞利用,需要启动HTTP服务、LDAP服务,然后发送攻击请求,才能完成一次漏洞利用。传统服务需要为每一个服务分配唯一端口,而Yaklang的端口协议复用技术可以监听一个端口,识别请求的协议,作出相应响应。Yaklang端口协议复用技术优势除了节省系统资源,便于手工测试等外,由于底层原理是手工识别了各种协议头,基于协议标准对各种协议进行手工实现,从而可以灵活的构造各种协议的数据包。例如可以构造一些畸形的协议进行漏洞利用,或通过DNS协议、ICMP协议等携带数据,可以通过这种方式作为后门的权限维持或绕过一些TCP协议不出网情况下的漏洞利用。
与此同时Yakit基于端口协议复用技术实现了反连模块,其中包括Reverse Shell、反连利用、反连检测功能。Reverse Shell可以监听指定端口,作为反弹Shell的接收端,收到反弹Shell后,可以和ssh一样控制远端服务器。传统渗透测试的反连需求中需要使用Nc监听端口,但一些按键如退格键、方向键会有乱码的情况,反弹的Shell使用起来和原生的ssh还有很大区别,而Yakit的Reverse Shell可以做到类似原生ssh的使用体验。反连利用部分可以通过监听一个端口,为不同协议的回连设置Payload,收到请求后便会自动识别请求的协议,返回相应Payload,实现漏洞利用。反连检测功能提供了TCP、DNSLog、ICMP反连的检测,可用于一些命令执行的检测。
软件官网
https://yaklang.com/
https://github.com/yaklang/yakit
https://github.com/yaklang/yakit/releases/tag/v1.1.7-sp4
修复插件编辑里调试功能影响默认值问题
修复风险新增提示已读不消失问题
histroy的chrome功能和详情功能图标替换文字按钮
导入插件方式内容提示
导出插件配置默认插件名
HTTP History 优化浏览器打开逻辑,可支持快速打开浏览器渲染页面
优化 Yak Runner 的自动补全功能
HTTP History 新增规则数据提取功能!
优化自动补全提示内容
修复企业版下载插件的问题
修复多次重定向中路经处理的 Bug
修复自动补全提示内容
修复 xlic grpc 接口的 Bug
新增了 HTTP 操作 Get 和 Post 的参数
优化了 yak.http 的体验(配合新文档使用更佳)
修复了在脚本模式下 hook.CallYakitPluginFunc
的 Bug
修复 Websocket 的 MaskingKey 随机造成的问题
修复 Payload 在 Web Fuzzer 发送失败的时候不展示的 Bug
最终效果