pwntester/SerialKillerBypassGadgetCollection
GitHub: pwntester/SerialKillerBypassGadgetCollection
一组 Java 反序列化 Bypass Gadget 集合,用于扩展 ysoserial 并绕过 Look-Ahead ObjectInputStreams 等防御性反序列化机制。
Stars: 389 | Forks: 79
# SerialKiller: Bypass Gadget 合集
## 简介
这里收集了多种 Bypass Gadget,可用于 JVM 反序列化 Gadget 链中,以绕过["Look-Ahead ObjectInputStreams"](http://www.ibm.com/developerworks/library/se-lookahead/)的防御性反序列化机制。
本合集由 Alvaro Muñoz (@pwntester) 和 Christian Schneider (@cschneider4711) 在 2016 年 RSA 大会的演讲["SerialKiller: Silently Pwning Your Java Endpoints"](https://www.rsaconference.com/events/us16/agenda/sessions/2389/serial-killer-silently-pwning-your-java-endpoints)中作为一部分发布。
有关 Bypass Gadget 技术的详细信息,请参考以下资源:
- ["论文"](https://community.microfocus.com/t5/Fortify-User-Discussions/The-perils-of-Java-deserialization/td-p/1596306?attachment-id=63108)
- ["幻灯片"](https://speakerdeck.com/pwntester/serial-killer-silently-pwning-your-java-endpoints)
- ["OWASP BeNeLux Day 幻灯片"](https://www.owasp.org/images/8/8b/OWASPBNL_Java_Deserialization.pdf)
## 免责声明
本软件的创建纯粹出于学术研究以及开发有效防御技术的目的,除非获得明确授权,否则不用于攻击系统。项目维护者对软件的滥用不承担任何责任或义务。请负责任地使用。
## 环境要求
本项目的当前状态严重依赖于["YSoSerial"](https://github.com/frohoff/ysoserial)。项目,并且计划在不久的将来将其整合到该项目中(见下文)。实际上,它可以被视为 ysoserial 的一个扩展,复用了其中的部分代码以及所有的 payload gadget,以便于将来的整合。
请将当前版本(`ysoserial-0.0.5-SNAPSHOT-all.jar`)拷贝到 `/external` 目录下;如果您使用的是其他版本,请相应地修改 `pom.xml` 文件。
以下 Jar 文件需要从 Weblogic 和 WebSphere 应用服务器中获取,且并未随 SerialKiller Bypass Gadget 合集一起分发。请从您拥有合法授权的应用服务器版本中提取这些文件,并将它们拷贝到 `/external` 目录下。
```
com.ibm.jaxws.thinclient_8.5.0.jar
com.ibm.ws.ejb.embeddableContainer_8.5.0.jar
com.oracle.weblogic.iiop-common.jar
com.ibm.mq.jmqi.jar
com.ibm.ws.ejb.thinclient_8.5.0.jar
com.ibm.msg.client.jms.jar
com.ibm.ws.runtime.coregroupbridge.jar
```
## 编译
`mvn clean compile assembly:single`
## 用法
`java -jar target/serialkiller-bypass-gadgets-0.0.1-SNAPSHOT-all.jar `
## 未来计划
我们的计划是,一旦 YsoSerial 项目支持将 payload 封装在 bypass gadget 中并能够处理缺失的依赖项,就立即将本项目整合进 YsoSerial 项目中。
标签:GHAS, Go语言工具, Java安全, JS文件枚举, 反序列化漏洞, 域名枚举, 数据展示, 红队