
Sammlung von Bypass-Gadgets zum Erweitern und Verpacken von ysoserial-Payloads.
Sammlung von Bypass-Gadgets, die in JVM-Deserialisierungs-Gadget-Ketten verwendet werden können, um defensive Deserialisierung mit "Look-Ahead ObjectInputStreams" zu umgehen.
Veröffentlicht im Rahmen des RSA-2016-Vortrags "SerialKiller: Silently Pwning Your Java Endpoints" von Alvaro Muñoz (@pwntester) und Christian Schneider (@cschneider4711).
Details zur Bypass-Gadget-Technik finden Sie in den folgenden Ressourcen:
Diese Software wurde ausschließlich für Zwecke der akademischen Forschung und für die Entwicklung effektiver Verteidigungstechniken erstellt und ist nicht dazu gedacht, Systeme anzugreifen, außer wenn dies ausdrücklich genehmigt wurde. Die Projektbetreuer sind nicht verantwortlich oder haftbar für den Missbrauch der Software. Verwenden Sie sie verantwortungsvoll.
Der aktuelle Stand dieses Projekts hängt stark vom Projekt "YSoSerial" ab, und die Idee ist, es in naher Zukunft dort zu integrieren (siehe unten). Es kann tatsächlich als eine Erweiterung von ysoserial betrachtet werden und wiederverwendet einige Teile des Codes sowie alle Payload-Gadgets, um die zukünftige Integration zu erleichtern.
Kopieren Sie die aktuelle Version (ysoserial-0.0.5-SNAPSHOT-all.jar) nach /external und passen Sie die pom.xml an, wenn Sie eine andere Version verwenden.
Die folgenden Jar-Dateien werden von Weblogic- und WebSphere-Anwendungsservern benötigt und werden nicht mit der SerialKiller Bypass Gadget Collection verteilt. Kopieren Sie sie aus Ihrer autorisierten Version des Anwendungsservers in das Verzeichnis /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'>
Die Idee ist, dieses Projekt in das YsoSerial-Projekt zu integrieren, sobald es das Verpacken von Payloads in Bypass-Gadgets unterstützt und fehlende Abhängigkeiten behandelt.