
Collection de gadgets de contournement pour étendre et envelopper les payloads ysoserial
Collection de gadgets de contournement pouvant être utilisés dans les chaînes de gadgets de désérialisation JVM pour contourner la désérialisation défensive des "Look-Ahead ObjectInputStreams".
Publiée dans le cadre de la présentation RSA 2016 "SerialKiller: Silently Pwning Your Java Endpoints" par Alvaro Muñoz (@pwntester) et Christian Schneider (@cschneider4711).
Les détails sur la technique des gadgets de contournement sont disponibles dans les ressources suivantes :
Ce logiciel a été créé uniquement à des fins de recherche académique et pour le développement de techniques défensives efficaces, et n'est pas destiné à être utilisé pour attaquer des systèmes, sauf autorisation explicite. Les mainteneurs du projet ne sont pas responsables de l'utilisation abusive du logiciel. Utilisez-le de manière responsable.
L'état actuel de ce projet dépend fortement du projet "YSoSerial" et l'idée est de l'y intégrer dans un avenir proche (voir ci-dessous). Il peut en réalité être considéré comme une extension de ysoserial et il réutilise certaines parties du code ainsi que tous les gadgets de payload afin de faciliter une future intégration.
Copiez la version actuelle (ysoserial-0.0.5-SNAPSHOT-all.jar) dans /external et ajustez le pom.xml si vous utilisez une version différente.
Les fichiers Jar suivants sont requis depuis les serveurs d'applications Weblogic et WebSphere et ne sont pas distribués avec la collection de gadgets de contournement SerialKiller. Copiez-les depuis votre version autorisée du serveur d'applications vers le répertoire /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'>
L'idée est d'intégrer ce projet dans YsoSerial dès qu'il prendra en charge l'encapsulation des payloads dans des gadgets de contournement et la gestion des dépendances manquantes.