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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-40275_Scanner — CVE-2024-40725 Apache HTTP Server のソースコード開示を検出するスキャナ。直接パスとサブリクエストパスをプローブし、影響を受けるバージョンを特定して、CI/CD 向けの JSON レポートを出力します。 | Kitploit
ツール/GitHubGitHub/burjoy/cve-2024-40275_scanner
脆弱性スキャナーウェブ脆弱性スキャナー脆弱性分析ウェブセキュリティ設定ミス
GitHubburjoy/cve-2024-40275_scanner

CVE-2024-40275_Scanner

CVE-2024-40725 Apache HTTP Server のソースコード開示を検出するスキャナ。直接パスとサブリクエストパスをプローブし、影響を受けるバージョンを特定して、CI/CD 向けの JSON レポートを出力します。

リポジトリを見る
622日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-40725 スキャナー

CVE-2024-40725 を検出するPythonベースのツールです。これはApache HTTP Serverのソースコード開示脆弱性で、バージョン 2.4.0 および 2.4.61 に影響します。

法的注意: このスキャナーは、自分が所有しているサーバー、またはテストするための明示的な書面による許可を得ているサーバーに対してのみ実行してください。無断使用は、コンピュータ不正行為に関する法律(例: CFAA、Computer Misuse Act)に違反する可能性があります。


背景

CVE-2024-40725 は、Apache の内部リクエストパイプラインにおけるリグレッションで、バージョン 2.4.0 で導入されました(CVE-2024-39884 の不完全な修正として)。サーバーがレガシーな AddType ディレクティブ(例: AddType application/x-httpd-php .php)を使用して構成されている場合、サブリクエスト処理中(DirectoryIndex、mod_rewrite、または mod_dir によってトリガーされる)に Apache の内部ハンドラー割り当てが黙って破棄されます。

その結果、PHP スクリプトインタープリターが呼び出されることはありません。代わりに、Apache の組み込み default-handler がディスクからファイルを開き、データベース認証情報、APIキー、アプリケーションロジックを含む生のバイト列をクライアントに直接ストリーム送信します。

影響を受けるバージョン: Apache httpd 2.4.0 – 2.4.61
修正済みバージョン: Apache httpd 2.4.62+


要件

  • Python 3.8+
  • requests ライブラリ
root@kitploit:~
pip install requests

インストール

root@kitploit:~
# Clone or download the scanner
curl -O https://your-host/cve_2024_40725_scanner.py

# Make executable (optional)
chmod +x cve_2024_40725_scanner.py

使用方法

root@kitploit:~
python3 cve_2024_40725_scanner.py --target <URL> [OPTIONS]

オプション

FlagTypeDefaultDescription
--targetURL(必須)テスト対象のApacheサーバーのベースURL
--pathsPATH [PATH ...]組み込みリスト直接プローブする1つ以上のPHPパス
--wordlistFILE—ワードリストファイルへのパス(1行に1パス)
--no-directory-checkflagオフサブリクエスト/ディレクトリインデックスのプローブ(プローブB)をスキップ
--timeoutint (seconds)10リクエストごとのタイムアウト
--delayfloat (seconds)0.0リクエスト間の遅延(レート制限)
--no-verify-sslflagオフSSL証明書の検証を無効化
--outputFILE—完全なJSONレポートをこのファイルに書き込む
--verboseflagオフデバッグ出力を有効にする

例

root@kitploit:~
# Quickstart: scan localhost with built-in default paths
python3 cve_2024_40725_scanner.py --target http://localhost

# Scan specific paths
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --paths /index.php /admin/config.php /wp-config.php

# Use a wordlist file
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --wordlist php_paths.txt

# Combine wordlist + extra inline paths (merged, deduplicated)
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --wordlist php_paths.txt \
  --paths /extra/secret.php

# HTTPS with self-signed certificate
python3 cve_2024_40725_scanner.py \
  --target https://myserver.local \
  --no-verify-ssl

# Polite scan with 1 second delay and JSON report
python3 cve_2024_40725_scanner.py \
  --target http://myserver.local \
  --wordlist php_paths.txt \
  --delay 1.0 \
  --output results.json \
  --verbose

# CI/CD usage (exit code 1 = vulnerable, 0 = clean)
python3 cve_2024_40725_scanner.py --target http://localhost || echo "VULNERABLE"

ワードリストの形式

1行に1パスを指定します。# で始まる行はコメントとして扱われスキップされます。空行は無視されます。先頭のスラッシュは自動的に正規化されます。

root@kitploit:~
# Common PHP entrypoints
/index.php
/info.php
/phpinfo.php

# Admin panels
/admin/index.php
/admin/config.php

# CMS files
/wp-config.php
/wp-login.php
/configuration.php

# API internals
/api/v1/status.php

動作の仕組み

スキャナーはパスごとに2つのプローブを実行します:

プローブA — 直接ファイルリクエスト

root@kitploit:~
GET /index.php HTTP/1.1

PHPファイルを直接リクエストした場合に、その生のソースコードが返されるかどうかを確認します。直接リクエストでも AddType が機能しない誤設定のサーバーで影響を受けます。

プローブB — サブリクエストトリガー(実際のCVEパス)

root@kitploit:~
GET / HTTP/1.1

ファイル自体ではなく親ディレクトリをリクエストします。Apacheは内部で DirectoryIndex → index.php を解決し、サブリクエストを生成します。これがApache 2.4.0–2.4.61で r->handler が NULL に落とされる正確なコードパスです。

プローブBはより重要で現実的なテストです。多くのサーバーは直接ファイルパスではなく、サブリクエストパスを通じてのみ脆弱です。

リーク検出

スキャナーはレスポンス本文にPHPソースコードのシグネチャが含まれているかどうかをチェックします:

  • <?php
  • <?PHP
  • <?=

一致が見つかった場合、レスポンス本文全体を出力せずに、リーク位置の周囲150文字のスニペットを抽出してトリアージに使用します。

サーバーフィンガープリンティング

Server: レスポンスヘッダーを読み取ってApacheのバージョンを検出します。リークが確認される前でも、バージョン 2.4.0 または 2.4.61 を報告するサーバーにフラグを立てます。

注: 堅牢化されたサーバーは Server: ヘッダー(ServerTokens Prod)を抑制する場合があります。スキャナーはそれに関係なくすべてのプローブを実行します。


出力

ターミナル出力例

root@kitploit:~
============================================================
  CVE-2024-40725 -- Apache Source Code Disclosure Scanner
============================================================
  Target : http://localhost
  Paths  : 6
  Time   : 2024-08-01T12:00:00

  [*] Fingerprinting server: http://localhost
      Server Header : Apache/2.4.61 (Debian)
      Apache Version: 2.4.61
      [!] Version is in vulnerable range (2.4.0 - 2.4.61)

  [*] Testing 6 path(s)...

  --- /index.php
      Direct  (HTTP 200): OK
      Subreq  (HTTP 200): LEAKED
      [!] VULNERABLE via: subrequest (directory index)
         Leaked snippet: '<?php\n$db_pass = "supersecretpassword";'

  --- /info.php
      Direct  (HTTP 404): OK
      Subreq  (HTTP 404): OK
      [+] Safe

============================================================
  SCAN SUMMARY
============================================================
  Target            : http://localhost
  Apache Version    : 2.4.61
  Paths Tested      : 6
  Vulnerable Paths  : 1
  Safe Paths        : 5

  [!] RESULT: VULNERABLE
      Vulnerable paths:
        * /index.php  (trigger: subrequest (directory index))

  Remediation:
    1. Upgrade to Apache httpd >= 2.4.62
    2. Replace 'AddType' with 'SetHandler' in <FilesMatch> blocks
============================================================

JSONレポートの構造(--output results.json)

root@kitploit:~
{
  "target": "http://localhost",
  "scan_time": "2024-08-01T12:00:00",
  "apache_version": "2.4.61",
  "apache_in_range": true,
  "paths_tested": 6,
  "vulnerable_paths": [
    {
      "path": "/index.php",
      "direct_url": "http://localhost/index.php",
      "directory_url": "http://localhost/",
      "direct_status": 200,
      "direct_leaked": false,
      "direct_snippet": null,
      "directory_status": 200,
      "directory_leaked": true,
      "directory_snippet": "<?php\n$db_pass = \"supersecretpassword\";",
      "server_header": "Apache/2.4.61 (Debian)",
      "vulnerable": true,
      "trigger": "subrequest (directory index)"
    }
  ],
  "safe_paths": [...]
}

終了コード

コード意味
0脆弱なパスは検出されませんでした
11つ以上の脆弱なパスが見つかりました

終了コードにより、このスキャナーはCI/CDパイプラインや自動化されたインフラストラクチャ監査での使用に適しています。


修復

オプション1: Apacheのアップグレード(推奨)

root@kitploit:~
# Debian / Ubuntu
sudo apt update && sudo apt install apache2

# RHEL / CentOS / AlmaLinux
sudo dnf update httpd

# Verify version (must be >= 2.4.62)
apache2 -v

オプション2: AddType を SetHandler に置き換える

PHPの実行に使用される AddType ディレクティブをすべて置き換えます:

root@kitploit:~
# ❌ Vulnerable Configs
AddType application/x-httpd-php .php

# ✅ Safe Configs
<FilesMatch "\.php$">
    SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
</FilesMatch>

脆弱な構成と安全な構成のリファレンス

root@kitploit:~
# VULNERABLE
<VirtualHost *:80>
    DocumentRoot /var/www/html
    AddType application/x-httpd-php .php     # ← triggers CVE
    DirectoryIndex index.php
</VirtualHost>

# SAFE
<VirtualHost *:80>
    DocumentRoot /var/www/html
    <FilesMatch "\.php$">
        SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
    </FilesMatch>
    DirectoryIndex index.php
</VirtualHost>

関連CVE

CVEバージョン説明
CVE-2024-398842.4.0元のソースコード開示リグレッション
CVE-2024-407252.4.61不完全な修正 — 同種のバグ
CVE-2024-408982.4.61mod_rewrite における別のSSRF(Windowsのみ)
ツールをダウンロード