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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/chandanshastri/log4j_vulnerability_demo
脆弱性分析エクスプロイトウェブセキュリティ学習と教育ログ分析
GitHubchandanshastri/log4j_vulnerability_demo

Log4j_Vulnerability_Demo

Log4j の脆弱性(CVE-2021-44228)がどのように悪用されるかを示すシンプルなプログラム

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Log4j_Vulnerability_Demo

Log4j の脆弱性(CVE-2021-44228)がどのように悪用されるかを示すシンプルなプログラムです。

デモの実行方法 :

プログラムを起動するには、UNIX システムでは start.sh を、Windows では start.bat を実行するだけです。

ユーザー入力は読み取られ、Log4j フレームワークを使用してコンソールにログ出力されます。

デフォルトでは、Log4j ライブラリによって生成されるログメッセージは、JNDI 置換に対してサーバー到達不能 / ホスト未検出のエラーを一切表示しません。(そして、これこそがこの脆弱性がステルス性を持って悪用され得る大きな理由の一つだと思います)

また、${jndi:ldap://test29.google.com/blah} のようなサブドメインの使用も試してみてください。JNDI 呼び出しがリモートサーバーからの応答を待つことがあり、そのためプログラムがバックグラウンドで実際に接続試行を行っているにもかかわらず、動作が停止しているように見えることがあります。存在しないサブドメインを使用した場合、JNDI 呼び出しは接続試行後にすぐに終了し、プログラムは継続します。

プログラムを一方のシェルで実行し、もう一方のシェルで「 tcpdump -i any | grep google 」コマンドを並行して実行し、その後プログラムに入力を与えて、プログラムが接続試行を行ったかどうかを確認することをお勧めします。

動作中の Log4j 置換 :

image

リモート接続の試行:

image

image

サンプル入力例 :

testing ( 通常の文字列 )

単なるログメッセージ以上のものになり得る例 :

${env:USER} ( UNIX )

${env:USERNAME} ( Windows )

${jndi:ldap://test.java.net}

${jndi:ldap://localhost:12000}

--

モニタリング :

tcpdump -i any | grep -i "java.net"

ncat -k -vv -c "echo hi" -l 12000

--

脆弱性を緩和するための JndiLookup クラスの削除 :

zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

これにより、Log4j コア Jar から JndiLookup.class が削除されます。

上記の手順の後に同じプログラムを実行すると、プログラムは接続試行 / JNDI 置換を行わないはずです。

--

JNDI ルックアップを無効にするもう一つの方法

export LOG4J_FORMAT_MSG_NO_LOOKUPS=true

この環境変数は、現在のセッションの JNDI ルックアップを無効にします。
ツールをダウンロード