
Exploit para CVE-2022-22963 (Spring Cloud Function SpEL injection) que permite ejecución remota de código y shell inversa. Incluye un laboratorio basado en Docker para probar y aprender la vulnerabilidad.
En Spring Cloud Function versiones 3.1.6, 3.2.2 y versiones anteriores no soportadas, al usar la funcionalidad de enrutamiento es posible que un usuario proporcione un SpEL especialmente manipulado como expresión de enrutamiento que puede resultar en ejecución remota de código y acceso a recursos locales. Puedes encontrar más detalles en el Detalle de CVE-2022-22963.
Basado en el PoC proporcionado por AayushmanThapaMagar, estoy creando un exploit simple de esta vulnerabilidad para obtener una shell inversa desde el servidor vulnerable.
El propósito de este proyecto es facilitar la prueba de la vulnerabilidad y aprender cómo explotarla. Añadiré más detalles sobre la razón detrás de esta vulnerabilidad más adelante.
Para ejecutar este exploit, solo necesitas docker.
Clona el repositorio y ejecuta el siguiente comando:
docker-compose up -d
Esto iniciará dos contenedores, uno con el servidor vulnerable y el otro con la máquina atacante.
Ahora puedes ejecutar el exploit:
En Linux, puedes ejecutar el exploit con el siguiente comando:
./run.sh
Nota: es posible que necesites sudo para ejecutar los comandos anteriores.
........
Para detener los contenedores, ejecuta el siguiente comando:
docker-compose down