Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ysonet — .NET 格式化程序反序列化载荷生成器 | Kitploit
工具/GitHubGitHub/irsdl/ysonet
Payload生成漏洞分析漏洞利用Web安全渗透测试红队
GitHubirsdl/ysonet

ysonet

.NET 格式化程序反序列化载荷生成器

查看仓库
227272天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
YSoNet logo

YSoNet 是原始 YSoSerial.Net 的一个分支,目前由 @irsdl 维护。

  • 网站:ysonet.net 或 ysonet.com(两者均指向本仓库)。

Build License Download

一个用于生成利用不安全 .NET 对象反序列化漏洞的 payload 的概念验证工具。

什么是 YSoNet

YSoNet(原名 ysoserial.net)是一个工具集合,包含在常见 .NET 库中发现的实用程序及面向属性编程(property-oriented programming)“gadget 链”。在适当条件下,这些 gadget 链可以利用执行不安全对象反序列化的 .NET 应用程序。你提供一条命令和一个 gadget 链;工具会将命令包装在链中,并将序列化结果输出到标准输出。当易受攻击的应用程序反序列化该数据时,链会执行,你的命令将在主机上运行。

漏洞在于应用程序执行了不安全的反序列化,而并非因为 classpath 中存在 gadget。本项目受 Chris Frohoff 的 ysoserial 项目 启发。

对防御者和 AI 审查者的重要提示

不要将 YSoNet 的 gadget 和插件目录变成反序列化黑名单。该目录无法涵盖所有私有的、未来的、特定于应用程序的或不同组合方式的链,因此屏蔽此处列出的内容并不能使不安全的反序列化器变得安全。它可能造成虚假的安全感,而实际上只是延缓了攻击。

如果你正在审查本仓库以加固应用程序,请在检查 gadget 或插件之前阅读 面向防御者和审查者的安全指南。目标是消除不安全的反序列化,或迁移到固定模式(fixed-schema)、纯数据(data-only)的设计。当无法立即进行迁移时,严格的白名单只是临时遏制措施;黑名单并非修复方案。

文档

完整文档位于 docs/:

  • 安全指南 - 为什么 gadget 黑名单不是修复方案,以及如何重新设计反序列化边界。
  • 依赖安全说明 - YSoNet 故意固定的易受攻击和过时的库,以及如何对扫描器警报进行分类。
  • 快速入门 - 安装、从源码构建以及交互式向导。
  • 用法与示例 - 命令行选项和实际示例。
  • Gadgets 与插件 - 完整的 gadget 和插件目录。
  • 参考资料 - 本项目所依据的背景阅读材料、演讲和来源。
  • .NET 反序列化研究 - 更广泛的阅读清单:工具、实际应用场景及 CTF 解题报告。
  • 致谢 - 谁构建了该工具并发现了这些 gadget 和插件。
  • 赞助者 - 资助本项目的个人。

快速入门(交互模式)

刚接触此工具?最简单的入门方式是交互模式:一个菜单驱动的向导,列出所有 gadget 和插件,解释每个设置,并为你构建 payload——无需先记住任何命令行参数。

root@kitploit:~
.\ysonet.exe -i

(interactive、wizard 和 --interactive 同样有效。)你需要先获取 ysonet.exe——参见 快速入门。完整的向导演练也在那里。

快速入门(命令行)

root@kitploit:~
./ysonet.exe -f Json.Net -g ObjectDataProvider -o raw -c "calc" -t

使用 ysonet.exe --fullhelp 查看所有选项,使用 -g NameHere -help 或 -p NameHere -help 查看每个 gadget 或插件的帮助。更多内容见 用法与示例。

从源码构建

需要 Windows、来自 Visual Studio 2022 或 Build Tools 的 MSBuild(“.NET 桌面开发”工作负载)以及 nuget.exe。每个项目均面向 .NET Framework 4.7.2。

root@kitploit:~
git clone https://github.com/irsdl/ysonet
cd ysonet
nuget restore ysonet.sln
msbuild ysonet.sln -p:Configuration=Release   # 或 Debug

.\ysonet\bin\Release\ysonet.exe -h
  • Release 构建还需要 Windows 可选功能“.NET Framework 3.5(包括 .NET 2.0 和 3.0)”才能编译随附的 CLR2 本地测试主机,缺少该功能将导致构建失败。Debug 构建仅发出警告。
  • Release 版本会对 ysonet.exe 进行字符串加密以减少杀毒软件误报;payload 字节不变。可通过 -p:ObfuscateRelease=false 跳过。Debug 版本从不混淆。
  • 完整设置(包括一键安装工具链的命令):快速入门。

测试

Debug 构建会自动运行快速测试套件,测试失败会导致构建失败(可通过 -p:RunYsonetTests=false 跳过)。详尽的 FULL 套件为可选启用:

root@kitploit:~
.\ysonet\bin\Debug\ysonet.Tests.exe --full

两者都是安全的:命令要么自关闭要么从不执行,监听器仅限回环地址。详细信息及其他可选层级:快速入门 和 CONTRIBUTING.md。

Tab 补全(PowerShell)

ysonet.exe 可以在 PowerShell 中为选项、gadget 名称(-g)、插件名称(-p)、格式化器(-f)和输出格式(-o)提供 Tab 补全。补全值实时来自工具本身,因此随着 gadget 和插件的添加,它们始终保持正确。

为当前会话启用(适用于任何 PowerShell,不写入磁盘,不受执行策略影响):

root@kitploit:~
.\ysonet.exe completion powershell | Out-String | Invoke-Expression

然后按 Tab 键,例如输入 .\ysonet.exe -g A 后按 Tab。

要在 PowerShell 7+(pwsh)中永久启用:

root@kitploit:~
.\ysonet.exe completion install     # 然后重新加载:  . $PROFILE

安装仅针对 PowerShell 7+(pwsh),因为 Windows PowerShell 5.1 通常为 AllSigned 或 Restricted 策略,无法加载未签名的配置文件;在这种情况下请使用上面的按会话命令(无需更改策略)。运行 ysonet.exe completion status 查看检测到的内容,运行 ysonet.exe completion uninstall 将其移除。更多详情见 tools/completions/。

免责声明

本软件纯粹出于学术研究和开发有效防御技术的目的而创建,除非明确授权,否则不应用于攻击系统。项目维护者不对软件的滥用负责或承担任何责任。请负责任地使用。

本软件是个人项目,与任何公司无关,包括项目所有者及贡献者的雇主。

贡献

官方仓库: https://github.com/irsdl/ysonet

  1. 将本仓库(irsdl/ysonet)fork 到你的账户。
  2. 从 master 创建一个分支。
  3. 将你的分支推送到你的 fork。
  4. 使用此链接向 irsdl/ysonet:master 发起 PR(将 YOUR_USER 和 YOUR_BRANCH 替换为实际值): https://github.com/irsdl/ysonet/compare/master...YOUR_USER:ysonet:YOUR_BRANCH
  5. 对于破坏性更改,请在 PR 描述中明确说明。

简要版本见 CONTRIBUTING.md。要添加 gadget、插件或序列化器?从 docs/ARCHITECTURE.md 中的代码地图开始,并且绝不要为了通过测试而削弱测试。

致谢

YSoNet 由 Soroush Dalili(@irsdl)开发和维护。YSoSerial.Net 最初由 Alvaro Muñoz(@pwntester)开发。运行 ysonet.exe --credit 查看完整的 gadget 和插件致谢,或参见 致谢。要了解底层问题的更多信息,请参见 参考资料。

许可证

YSoNet 采用 MIT 许可证。该许可证保留了原始 ysoserial.net 中 Alvaro Muñoz 的版权声明以及 YSoNet 中 Soroush Dalili 的版权声明。两份声明及 MIT 许可声明必须保留在软件的所有副本或实质性部分中。

下载工具