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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-44228-playground | Kitploit
ツール/GitHubGitHub/b-abderrahmane/cve-2021-44228-playground
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubb-abderrahmane/cve-2021-44228-playground

CVE-2021-44228-playground

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
2224日前未レビュー

LOG4SHELL-CVE-2021-44228-Validator

Basic test

Extended test

概要

このツールを使用すると、ユーザーが指定したJavaおよびLog4Jのバージョンについて、単純なJava WebアプリケーションがCVE-2021-44228に対して脆弱であるかどうかを検証できます。 また、[オプションで]事前定義されたいくつかの緩和策のいずれかを適用することもできます。 log4shell_validator.pyによって起動されるシミュレーションラボは、docker-composeを使用してlog4jの脆弱性を悪用し、脆弱なマシン上でRCEを獲得することをシミュレートします。

動作の仕組み

まず、いくつかのdockerイメージをビルドする必要があります。./build_images.shスクリプトがその処理を担当します。

攻撃シミュレーションは次のように行われます:

  • まず、単純なJava Webアプリケーションがポート8080のコンテナ上で起動されます。このアプリケーションが/2021-44228-via-messageへのGET呼び出しを受信すると、常にUser-Agentヘッダーフィールドをログに記録します。このアプリケーションのコードは./poc_templateの下で入手できます。
  • 偽のLDAPサーバーが、marshalsecを使用してポート1389の別のコンテナ上で起動されます。(このコンテナは受信したLDAPリクエストをNginxサーバーに転送します)
  • Nginx Webサーバーがポート8888で起動されます。このコンテナは、脆弱なアプリ上で実行したいコンパイル済みの.classファイルをホストします。
  • 単純なcurlコンテナが起動され、このコンテナが./exploit.shスクリプトを実行して、脆弱なアプリにペイロードを送信します。

手順

  • python、docker、docker-compose、mavenがローカルで利用可能であることを確認してください。
  • 次のコマンドを実行してmarshalsec jarファイルをビルドします:cd marshalsec/ ;mvn clean package -DskipTests ;cd -
  • ./build-images.shを実行します
  • python log4shell_validator.py --java-version 8 --log4j-version 2.12.1を実行します

使用例

  • Pythonラッパーのヘルプテキスト:
root@kitploit:~
~/workspace/CVE-2021-44228-playground$ python log4shell_validator.py --help
usage: log4shell_validator.py [-h] [--java-version JAVA_VERSION] --log4j-version LOG4J_VERSION [--no-cleanup] [--disable-trust-url] [--remove-jndi-lookup-class] [--disable-message-lookup] [--debug]
                              [--exploit-via-thread-context]

log4j-vulnerability-tester

optional arguments:
  -h, --help            show this help message and exit
  --java-version JAVA_VERSION
                        version of java to be used
  --log4j-version LOG4J_VERSION
                        version of log4j to be used
  --no-cleanup          Don't delete used containers.
  --disable-trust-url   Disable the LDAP trustURLCodebase setting on the victim app
  --remove-jndi-lookup-class
                        Remove the JNDI Lookup class from the log4j jar file
  --disable-message-lookup
                        Disable the JNDI message lookup in the victim app's JVM
  --debug               Display all container's logs
  --exploit-via-thread-context
                        By sending the payload to an HTTP handler which makes use of Custom logging with ThreadContext, attempt to bypass the no-message-lookup mitigation

利用可能な機能:

このバリデータは、Java7/8のいくつかの組み合わせと異なるバージョンのLog4J2でテストされています。その他の例については、github actionsタブの拡張テストパイプラインを参照してください。

現時点では、以下の緩和策が実装されています:

  • プロパティ1com.sun.jndi.ldap.object.trustURLCodebase`をFalseに設定して、LDAPのtrustURLCodebaseを無効にします。
  • log4jのjarファイルからJNDILookup.classファイルを削除します。
  • JVMに次のフラグを指定してメッセージルックアップを無効にします:-Dlog4j2.formatMsgNoLookups=True

さらに、メッセージルックアップの無効化をバイパスできる悪用ベクターをテストするための新しいフラグが追加されました:--exploit-via-thread-context

免責事項

このソフトウェアは、研究および効果的な緩和技術の開発のみを目的として作成されており、明示的に許可された場合を除き、システムへの攻撃に使用することを意図したものではありません。プロジェクトのメンテナーは、ソフトウェアの誤用について責任を負いません。責任を持って使用してください。

ツールをダウンロード