Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
php2shell-scanner — CVE-2026-109618 / CVE-2026-109619(PHPコアRCE)向けの非破壊スキャナー。crt.sh + subfinderによるサブドメイン偵察、堅牢なバナー取得、バージョンベースの検出。 | Kitploit
ツール/GitHubGitHub/joasasantos/php2shell-scanner
OSINT (オープンソースインテリジェンス)偵察脆弱性スキャナーウェブ脆弱性スキャナーネットワークマッピング脆弱性分析情報収集ウェブセキュリティペネトレーションテストサブドメイン列挙
GitHubjoasasantos/php2shell-scanner
6923191日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

php2shell-scanner

CVE-2026-109618 / CVE-2026-109619(PHPコアRCE)向けの非破壊スキャナー。crt.sh + subfinderによるサブドメイン偵察、堅牢なバナー取得、バージョンベースの検出。

リポジトリを見る

php2shell-scanner

CVE-2026-109618(OOM 破壊による RCE)および CVE-2026-109619(古いグローバル状態による RCE)向けの非破壊スキャナー(オプトインのプローブ付き)— 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 で修正された PHP コアのバグです。

✅ 公式 php-src アドバイザリ(2026-10-21、Critical)に対して検証済み。 以下の CVE ID と修正バージョンの表は上流と完全に一致しています。

  • CVE-2026-109618 — GHSA-w8hw-w9fx-j79w
  • CVE-2026-109619 — GHSA-6wmf-4rv5-p3rp

影響を受けるバージョン / 修正バージョン

ブランチ影響あり修正済み
8.2< 8.2.358.2.35
8.3< 8.3.368.3.36
8.4< 8.4.278.4.27
8.5< 8.5.128.5.12
< 8.2EOL — 上流のパッチなしディストリビューション/OSV のバックポートを確認

ストラテジー

モード動作内容
LOCALphp -r により正確なランタイムバージョン、SAPI、memory_limit、post_max_size を取得
REMOTEX-Powered-By / Server ヘッダーおよび公開された phpinfo() によるバージョンフィンガープリント
PRESENCEバージョンなしでの PHP 検出(PHPSESSID、.php 参照、リダイレクト)
BANNER堅牢な raw ソケットバナー取得 — HEAD/GET/OPTIONS + 不正プローブ、http/https、エラーページの情報漏洩
RECONcrt.sh(Certificate Transparency)によるサブドメイン列挙と subfinder のフォールバック/マージ、その後ホストを解決してファンアウトスキャン
PROBE(オプトイン) 大規模なマルチパートリクエストでワーカーの不安定性を観測 — DoS を引き起こす可能性あり

インストール

git clone https://github.com/JoasASantos/php2shell-scanner.git
cd php2shell-scanner
# stdlib only — no pip deps.
# Optional recon fallback: ProjectDiscovery subfinder
#   brew install subfinder   (or: go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest)

使用方法

# Local runtime check
python3 php2shell_scan.py --local

# Single remote target, look for exposed phpinfo()
python3 php2shell_scan.py https://example.com --phpinfo-paths

# Subdomain recon (crt.sh + subfinder) then scan, 10 threads, JSON out
python3 php2shell_scan.py example.com --recon --threads 10 -o out.json

# Recon only, no scanning
python3 php2shell_scan.py example.com --recon-only

# Target list + forced robust banner grab
python3 php2shell_scan.py -f targets.txt --banner

# OPT-IN load probe (authorized use only — DoS risk)
python3 php2shell_scan.py https://example.com --probe --probe-count 5

フラグ

フラグ意味
--localphp バイナリによるローカルスキャン
--recon各ドメインをサブドメインに展開し(crt.sh + subfinder)、解決するホストをスキャン
--recon-onlyサブドメインの列挙のみ、スキャンなし
--bannerすべてのターゲットで堅牢な raw-socket バナー取得を強制
--phpinfo-paths一般的に露出している phpinfo() パスをプローブ
--deep-version追加のバージョン特定手法: PHP イースターエッグ + バージョン漏洩ファイル(composer.json、.env など)
--origin-scanCloudflare/WAF の背後にある PHP オリジンに到達 — 実際の Host ヘッダーを用いた IP 直接リクエスト
--shodan-keyオリジン情報収集用の Shodan API キー(または環境変数 SHODAN_API_KEY)。--origin-scan を暗黙的に有効化
--censys-id / --censys-secretCensys API 認証情報(または環境変数 CENSYS_API_ID / CENSYS_API_SECRET)。--origin-scan を暗黙的に有効化
--probeマルチパート負荷プローブ — DoS リスク、許可された対象のみ
--probe-count Nプローブリクエスト数(デフォルト 5)
--threads N / --timeout N並列度 / リクエストごとのタイムアウト
--insecureTLS を検証しない
-o FILE / --csv FILEJSON / CSV レポートを保存

パッシブエンリッチメント

バージョンチェックに加えて、各ターゲットは(通常のレスポンスから得られる)パッシブなシグナルでエンリッチされ、判定を精緻化し誤検知を削減します:

  • SAPI / ワーカーモデル — 永続ワーカー(fpm、mod_php)はリクエスト状態を再利用する → CVE-2026-109619 に晒される; 素の cgi ははるかに少ない。
  • CDN / WAF / プロキシ(Cloudflare、Akamai、Fastly、Sucuri など)— バナーはオリジンではなくエッジのものである可能性 → 信頼度を低下。
  • ディストロビルド(ubuntu、+deb、.el8 など)— バックポートによりバージョンを上げずに修正されている可能性 → 信頼度を低下、「changelog を確認」の注記。
  • 詳細な phpinfo(露出している場合)— Server API、post_max_size / max_input_vars(CVE-2026-109618 の OOM 攻撃面)、disable_functions。

その他のバージョン特定手法(--deep-version)

バナーバージョンがない場合: PHP イースターエッグ(?=PHPE9568F34-... → expose_php=On の場合に GIF/クレジット)とバージョン漏洩ファイル(composer.json、.env など; .env の PHP_VERSION は正確、"php": ">=8.2" のような制約はブランチを絞り込むのみ)。

オリジン / WAF バイパス(--origin-scan)

CDN はオリジンを隠すため、ヘッダーを読んでもエッジしか見えません。--origin-scan:

  1. apex、www、非プロキシのプレフィックス(origin.*、cpanel.*、mail.* など)および recon サブドメインを解決;
  2. Cloudflare / Imperva / Sucuri のエッジレンジ(IPv4 + IPv6)内の IP を除外;
  3. 残った各オリジン IP に直接、実際の Host + SNI でリクエストし、Server / X-Powered-By / エラーページをオリジンから直接読み取る。

すでに露出している IP への直接リクエスト。許可された対象のみ。

認証情報を用いた情報収集は、DNS が決して露出しない IP に加え、インデックスされたバナーからの PHP バージョンを追加します(情報収集フラグ付き — 古い可能性あり):

  • --shodan-key / 環境変数 SHODAN_API_KEY — hostname:<domain> によるホスト。
  • --censys-id + --censys-secret / 環境変数 CENSYS_API_ID + CENSYS_API_SECRET — TLS 証明書 / DNS 名によるホスト。
  • いずれかの認証情報が --origin-scan を自動的に有効化します。
export SHODAN_API_KEY=xxx CENSYS_API_ID=xxx CENSYS_API_SECRET=xxx
python3 php2shell_scan.py hackersec.com --origin-scan

信頼度グレード

信頼度意味
HIGH露出した phpinfo() または PHP エラーページから取得したバージョン
MEDIUMHTTP バナー(expose_php=On)から取得したバージョン
LOW推測のみ、またはプロキシ経由、またはディストリビューションのバックポートが適用されている可能性

統合出力はターゲットを重大度別にグループ化し、VULNERABLE を信頼度順(HIGH が先頭)に並べ替え、LOW/MEDIUM の結果には報告前に再確認すべきフラグを付けます。

検出ロジック

各ブランチのバージョンを FIXED テーブルと比較します:

  • サポート対象ブランチで < fixed → VULNERABLE
  • >= fixed → PATCHED
  • < 8.2(EOL)→ VULNERABLE_EOL(上流のパッチなし。ディストリビューション/OSV のバックポートを確認)
  • アドバイザリ範囲を超えるブランチ、またはバージョン不明 → UNKNOWN / SUSPECTED

認可

所有している、またはテストを明示的に許可されている資産に対してのみ実行してください。 --probe モードは脆弱なワーカーを混乱させる可能性があります。使用に関する責任は利用者にあります。

ライセンス

MIT

ツールをダウンロード