
Script de automatización en Python que reproduce CVE-2022-22963, una inyección crítica de SpEL en Spring Cloud Function, que permite una reverse shell en entornos de laboratorio autorizados.
Automatización educativa de prueba de concepto para CVE-2022-22963, demostrada en un entorno de laboratorio autorizado de Hack The Box.
CVE-2022-22963 es una vulnerabilidad de Spring Cloud Function que involucra la
cabecera spring.cloud.function.routing-expression.
En configuraciones vulnerables, un atacante puede abusar de la evaluación de Spring Expression Language (SpEL) para invocar funcionalidad de Java a través del mecanismo de enrutamiento de funciones.
Este repositorio contiene un script de automatización en Python utilizado para reproducir la vulnerabilidad en un entorno autorizado de CTF/laboratorio.
ID de CVE: CVE-2022-22963 Componente afectado: Spring Cloud Function Versiones afectadas: < 3.1.7, < 3.2.3 Versiones corregidas: 3.1.7, 3.2.3 Clase de vulnerabilidad: Inyección de Expression Language (CWE-917) Vector de ataque: Red, sin autenticación (depende del despliegue) Gravedad: Crítica (CVSS 9.8 según NVD) Referencias Entrada de NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-22963 Aviso oficial de Spring: https://spring.io/security/cve-2022-22963 Commit de corrección / notas de la versión: consulte los lanzamientos de Spring Cloud Function en GitHub
La función de enrutamiento de Spring Cloud Function permite a un llamador seleccionar qué función debe manejar una solicitud mediante una cabecera. Antes de la corrección, el valor de esta cabecera se pasaba a un contexto de evaluación de SpEL sin restricciones. Debido a que SpEL admite invocar clases y métodos arbitrarios de Java (p. ej. T(java.lang.Runtime)), un valor de cabecera manipulado puede resultar en la ejecución de comandos del sistema operativo en el host que ejecuta la aplicación vulnerable.
Una explotación exitosa permite a un atacante no autenticado ejecutar comandos arbitrarios del sistema operativo con los privilegios del proceso de la aplicación, lo que puede llevar al compromiso total del host, movimiento lateral o exfiltración de datos dependiendo de la configuración del entorno.
el código proporcionado permite inyectar una reverse shell en un objetivo vulnerable
usage: exploit.py [-h] lhost lport url
Este contenido se proporciona únicamente para investigación y educación de seguridad autorizadas (p. ej., entornos de laboratorio HTB). No utilice esta información contra sistemas que no le pertenezcan o para los que no cuente con permiso explícito por escrito para realizar pruebas.