一系列可用于 JVM 反序列化 Gadget 链的绕过 Gadget,用于绕过“Look-Ahead ObjectInputStreams”防御性反序列化。
作为 RSA 2016 演讲“SerialKiller: Silently Pwning Your Java Endpoints”的一部分发布,演讲者为 Alvaro Muñoz (@pwntester) 和 Christian Schneider (@cschneider4711)。
有关绕过 gadget 技术的详细信息,请参见以下资源:
本软件纯粹出于学术研究和开发有效防御技术的目的而创建,不打算用于攻击系统,除非得到明确授权。项目维护者不对软件的滥用负责或承担任何责任。请负责任地使用。
当前项目的状态严重依赖于“YSoSerial”项目,并计划在不久的将来将其集成到该项目中(见下文)。它实际上可以被视为 ysoserial 的扩展,并复用了部分代码和所有 payload gadget,以便于未来的集成。
将当前版本(ysoserial-0.0.5-SNAPSHOT-all.jar)复制到 /external,如果使用不同版本,请调整 pom.xml。
以下 Jar 文件来自 Weblogic 和 WebSphere 应用服务器,不随 SerialKiller Bypass Gadget Collection 分发。请从您获得授权的应用服务器版本中将它们复制到 /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 <Payload Gadget, eg: CommonsCollections2> <Bypass Gadget, eg: Weblogic1> <Command, eg: 'touch /tmp/test'>
计划在 YsoSerial 项目支持将 payload 包装进 bypass gadget 并处理缺失依赖后,尽快将此项目集成到其中。