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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2018-1335 — CENG 325 - 情報セキュリティとプライバシーの原理 | Kitploit
ツール/GitHubGitHub/canumay/cve-2018-1335
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストコマンド&コントロール学習と教育
GitHubcanumay/cve-2018-1335

cve-2018-1335

CENG 325 - 情報セキュリティとプライバシーの原理

リポジトリを見る
15年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

アンカラ・ユルドゥルム・ベヤズット大学 コンピュータ工学科

CENG 325 - 情報セキュリティとプライバシーの原理

CENG201 OOP プロジェクト

グループメンバー

@canumay @aslihann @ezgigucuyener @mburakdonmez

参考文献

NVD - CVE-2018-1335

Exploit DB - Apache Tika-server < 1.18 - コマンドインジェクション

Rhino Security Labs - CVE-2018-1335 の悪用: Apache Tika におけるコマンドインジェクション

Metasploit

免責事項

このエクスプロイトコードは、サイバーセキュリティ研究者 David Yesland @Daveysec によって書かれたものであり、教育目的で使用されるべきです。

マイルストーン 1 – 脆弱性調査

a. 脆弱性の簡単な説明

  • タイプ: コマンドインジェクション
  • 影響度: CVSS 影響度メトリクスによると、この脆弱性の影響度スコアは 5.9 です。機密性、完全性、可用性のすべてが高です。
  • 深刻度スコア: CVSS 基本スコアメトリクスによると、この脆弱性の深刻度スコアは 8.1 です。(CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • 脆弱なアプリケーションの影響を受けるバージョン: Apache Tika バージョン 1.7 から 1.17
  • 脆弱性のタイプとは何か
    • 脆弱性のタイプを紹介し、他のタイプの脆弱性と異なる理由を論じる この脆弱性のタイプはコマンドインジェクションです。これは、脆弱なアプリケーションが サニタイズされていないユーザーデータをシステムシェルに渡し、悪意のあるコードが 実行される可能性があるためです。この脆弱性をコードインジェクションと比較すると、 いくつかの違いがわかります。たとえば、コードインジェクションでは、攻撃者が アプリケーションによって実行される独自のコードを使用できます。しかし、コマンドインジェクションでは、 攻撃者がアプリケーションの機能を変更し、ユーザーがシステムコマンドを実行できる ようにします。

b. 脆弱性の悪用方法

  • 脆弱性をトリガーした後に実行できる攻撃の種類: 脆弱性を トリガーすると、簡単にリバースシェルを作成でき、そのシェルを使って Apache Tika サーバーを実行しているユーザーが利用できるすべてのコマンドを 基本的に実行できます。

  • 攻撃者はこの脆弱性を使用して脆弱なシステムをどのように悪用するか: まず、 攻撃者はサーバーが脆弱なバージョンの Apache Tika サーバーを実行しているかどうかを 判断する必要があります。次に、攻撃者は悪意のある HTTP ヘッダーと Jscript コードを生成し、 脆弱な HTTP エンドポイントに PUT リクエストを送信します。これにより、Apache Tika サーバーは自身の機能を使って悪意のあるコードを実行します。

  • この脆弱性はエクスプロイトキットで使用されていますか: はい、この脆弱性は Metasploit エクスプロイトキットで利用可能です。

マイルストーン 2 – エクスプロイトコード

a. 脆弱性を悪用するエクスプロイトコードを見つけるか、作成する

b. 脆弱なコードの断片を強調し、なぜ脆弱なのかを説明する

Apache Tika サーバーは、画像に対して OCR を実行するためにリクエスト内でユーザーが提供した値を使用して、実行するコマンドを作成します。 これにより、ユーザーはコマンドを操作して悪意のあるコードを実行できます。 この場合、“config.getTesseractPath()” は “X-Tika-OCRTesseractPath” ヘッダーを取得し、 それをコマンドの先頭に追加します。ユーザーが提供したパスの末尾に “tesseract.exe” 文字列が追加されますが、 ユーザーはパスを ‘ “ ’ (二重引用符) で囲むことで、後続の “tesseract.exe” 文字列を破棄できます。 これにより、ユーザーはサーバー上で任意の実行可能ファイルを実行できます。

作成されたコマンド:

root@kitploit:~
"calc.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l eng -psm 1 txt -c preserve_interword_spaces=0

Windows に組み込まれている CScript.exe はスクリプト言語であり、スクリプトのファイル名を受け取って実行し、 他の引数を無視します。cscript 用に作成されたスクリプトを提供できれば、サーバー上で実行できます。 Apache Tika サーバーは、ボディで提供された画像を受け取り、OCR を実行するために一時ファイルに保存します。 そのため、画像バイナリを送信する代わりに、文字列を直接送信しても、その文字列はバイナリであるかのように保存されます。 ただし、Tika サーバーは jp2 ファイルタイプを除いて、バイナリが画像であるかどうかをチェックし、 jp2 の場合は直接保存されます。これは cscript 実行可能ファイルへの引数として渡されます。 ただし、ファイル拡張子は依然として “.tmp” ですが、“. JScript” または “.vbs” である必要があります。 これを回避するために、ファイル拡張子に関係なく cscript に “JScript” を実行させることができます。 Tika サーバーはまた、“config.getPageSetMode()” をコマンドに渡します。これはユーザーが X-TikaOCRLanguage” ヘッダーで送信したものです。 これを文字列 “//E:Jscript” に変更すると、cscript はスクリプトを ファイル拡張子に関係なく JScript として実行します。最後に、ボディで提供された文字列が 実行されるペイロードとなり、システムシェルへのフルアクセスを得るために別のコンソールを呼び出すこともできます。

最終的に作成されたコマンド:

root@kitploit:~
"cscript.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l //E:Jscript -psm 1 txt -c preserve_interword_spaces=0

Jscript でシェルを呼び出す簡単なペイロード:

root@kitploit:~
var oShell = WScript.CreateObject("WScript.Shell");
var oExec = oShell.Exec('cmd /c calc.exe');

マイルストーン 3 – 実行

a. 見つけた、または作成したエクスプロイトコードを実行する:

Apache Tika Server 1.17 がターゲットの仮想マシン内で実行されています。

ホストマシンから IP アドレス “192.168.233.167” でサーバーにアクセスできます。

次に、作成したエクスプロイトコードをペイロード “calc.exe” で実行し、ターゲットマシン内で電卓を起動して、 ターゲットマシン内で任意の悪意のあるコードを実行できることを示しました。さらに、リバースシェルの 機能を使用して、ターゲットマシン上で対話型シェルセッションを作成することもできます。

b. エクスプロイトコードの実行結果は何ですか:

上記で説明したように、このエクスプロイトを使用すると、基本的にターゲットマシン内で電卓プログラムを実行しますが、 リモートコード実行の機能があれば、Apache Tika Server を実行しているユーザーの権限でターゲットマシン上で 任意の操作ができます。たとえば、ユーザーファイルへのアクセス、ユーザーの活動の監視、さらには スクリーンショットの撮影や、ウェブカメラがあれば写真の撮影も可能です。

c. 脆弱性が実際に存在することをどのように確認できますか:

この脆弱性は NIST などの信頼できる情報源によってすでに報告されており、Apache 自身によって確認され、 パッチも適用されています。しかし、それを証明するために、metasploit を使用して別の PoC を行うことができます。

まず、インストールされているバージョンが脆弱なバージョンであることを確認しました。

バージョンを確認した後、正しい IP とポートを使用して metasploit セッションを構成し、 “check” コマンドを実行してターゲットが脆弱かどうかを確認できます。

最後に、“exploit” コマンドを実行してエクスプロイトを開始し、シェルに “dir” と入力して シェルが動作していることを確認できます。ここからの唯一の制限は、Apache Tika サーバーを実行しているユーザーの権限です。

ツールをダウンロード