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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nginx-cve-2026-42945-check — CVE-2026-42945 (NGINX Rift)를 위한 로컬 읽기 전용 스캐너로, 취약한 rewrite 구성을 확인하기 위해 NGINX, OpenResty 및 Tengine 인스턴스를 검사하며 익스플로잇을 실행하거나 서비스를 수정하지 않습니다. | Kitploit
도구/GitHubGitHub/byezero/nginx-cve-2026-42945-check
Static AnalysisVulnerability ScannersVulnerability AnalysisScripting & AutomationConfiguration AuditingWeb Security
GitHubbyezero/nginx-cve-2026-42945-check

nginx-cve-2026-42945-check

CVE-2026-42945 (NGINX Rift)를 위한 로컬 읽기 전용 스캐너로, 취약한 rewrite 구성을 확인하기 위해 NGINX, OpenResty 및 Tengine 인스턴스를 검사하며 익스플로잇을 실행하거나 서비스를 수정하지 않습니다.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기
43개월 전아직 검토되지 않음
공유

NGINX CVE-2026-42945 로컬 점검 스크립트

언어: 중국어 | 영어

이 리포지토리는 Linux / Windows 서버에서 Nginx, OpenResty, Tengine에 CVE-2026-42945 관련 위험이 있는지 로컬에서 진단하기 위한 두 개의 단독 점검 스크립트를 제공합니다.

스크립트는 읽기 전용 수집과 로컬 판단만 수행하며, 취약점 PoC를 실행하지 않고, 공격 요청을 보내지 않으며, 설정을 수정하지 않고, 서비스를 재시작하지 않으며, 소프트웨어를 업그레이드하지 않습니다.

취약점 배경

CVE-2026-42945는 NGINX Rift로도 알려져 있으며, 공개 자료에서는 ngx_http_rewrite_module의 힙 버퍼 오버플로 문제로 설명됩니다. NVD 설명에 따르면, rewrite 지시문과 후속 rewrite / if / set 지시문이 특정 조합을 이루고, 이름 없는 PCRE 캡처 변수(예: $1, $2)와 물음표 ?를 포함하는 대체 문자열이 관련될 때, 공격자는 HTTP 요청을 구성하여 NGINX worker 프로세스에서 힙 버퍼 오버플로를 트리거할 수 있습니다. 이 문제로 worker 프로세스가 재시작될 수 있습니다. ASLR이 비활성화된 특정 조건에서는 코드 실행 위험이 있습니다.

NGINX 공식 보안 권고는 CVE-2026-42945를 ngx_http_rewrite_module의 버퍼 오버플로로 표시했으며, NGINX 오픈 소스에 대한 수정 경계를 다음과 같이 제시했습니다.

상태NGINX 오픈 소스 버전
수정됨1.31.0+ / 1.30.1+
영향 의심0.6.27-1.30.0

배포판, 상용 제품, OpenResty, Tengine 또는 자체 빌드의 경우 패치 백포트나 버전 매핑 차이가 있을 수 있습니다. 스크립트는 최대한 증거를 수집하려고 하지만, 최종적으로는 공급업체 공지를 참고하여 수동으로 확인하는 것이 좋습니다.

점검 목표

이 도구는 취약점 활용 검증 도구가 아닌, 로컬 수집 및 정적 설정 점검 도구입니다. 다음 조합에 중점을 둡니다.

  1. rewrite 지시문의 대체 문자열에서 이스케이프되지 않은 $1, $2 등 이름 없는 캡처 변수 사용.
  2. 동일한 rewrite 대체 문자열에 이스케이프되지 않은 ? 포함. \? 형태의 리터럴 물음표는 위험 조건으로 간주하지 않음.
  3. 동일한 설정 범위 내에 후속 rewrite, if 또는 set 지시문 존재.

위험 패턴 예시:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?endpoint=$1 last;
    set $flag 1;
}

위험은 단일 rewrite 또는 set에서 비롯되는 것이 아니라, 버전, 설정 컨텍스트 및 실행 순서가 함께 트리거 조건을 형성합니다. 적중 후에도 해당 설정이 실제로 활성화된 설정인지, 외부 요청에 의해 도달 가능한지, 배포판에 의해 패치 백포트되었는지 수동 확인을 권장합니다.

파일 설명

파일설명
check_nginx_linux.shLinux 로컬 점검 스크립트
check_nginx_windows.ps1Windows 로컬 점검 스크립트
README.md중국어 설명
README.en.md영문 README

기능 범위

초기 버전 지원:

  • 로컬에 네이티브 설치된 Nginx / OpenResty / Tengine 점검.
  • 호스트 정보, 프로세스 및 서비스 정보, 버전 정보, 컴파일 매개변수, 활성 설정 수집.
  • 동일 서버의 여러 Nginx / OpenResty / Tengine 인스턴스를 개별 점검 지원.
  • CVE-2026-42945 관련 위험 rewrite 설정 식별.
  • 중국어 콘솔 결과, summary.txt, summary.json 및 원본 증거 디렉터리 출력.

초기 버전 미포함:

  • Docker / Kubernetes 점검.
  • 원격 SSH / WinRM 스캔.
  • 자동 복구, 자동 업그레이드, 자동 설정 수정.
  • 취약점 PoC 또는 공격 요청.

실행 전제 조건

관리자 권한으로 실행하는 것을 권장합니다.

  • Linux: root 또는 sudo 권한이 있는 계정 사용.
  • Windows: "관리자 권한으로 실행"한 PowerShell 사용.

비관리자 권한에서도 스크립트는 최대한 수집을 시도합니다. 전체 nginx -T 활성 설정을 내보낼 수 없는 경우 결과에 수동 확인 필요로 표시됩니다.

Linux 사용 방법

check_nginx_linux.sh를 서버에 업로드한 후 실행:

root@kitploit:~
chmod +x check_nginx_linux.sh
sudo ./check_nginx_linux.sh

sudo를 사용할 수 없는 경우 직접 실행:

root@kitploit:~
./check_nginx_linux.sh

Windows 사용 방법

check_nginx_windows.ps1를 서버에 업로드한 후, "관리자 권한으로 실행"한 PowerShell에서 실행:

root@kitploit:~
powershell -ExecutionPolicy Bypass -File .\check_nginx_windows.ps1

출력 내용

스크립트는 스크립트가 위치한 디렉터리에 결과 디렉터리를 생성합니다. 디렉터리 이름에는 호스트명, 시간, 스크립트 프로세스 ID가 포함되어 동시 실행 시 증거가 섞이지 않도록 합니다.

root@kitploit:~
nginx_check_<호스트명>_<시간>_<프로세스ID>/
  summary.txt
  summary.json
  raw/
    host_info.txt
    process_info.txt
    service_info.txt
    package_info.txt
    nginx_paths.txt
    instances/
      instance_01/
        nginx_invocation.txt
        nginx_version.txt
        nginx_build.txt
        nginx_config_dump.txt
        risky_config_matches.txt
      instance_02/
        ...
파일 또는 디렉터리설명
summary.txt중국어 요약. 수동 확인 및 회신에 적합
summary.json구조화된 결과. 후속 배치 요약에 편리
raw/원시 명령 출력 및 증거 파일
raw/instances/instance_XX/각 인스턴스의 독립 버전, 설정 및 위험 증거

요약에 기록되는 항목:

필드설명
인스턴스 수로컬에서 발견되어 개별 점검된 Nginx / OpenResty / Tengine 후보 인스턴스 수
설정 크기nginx -T로 내보낸 원시 설정 결과 파일 크기
스캔 라인 수스크립트가 실제로 스캔한 설정 출력 줄 수
위험 설정 적중 수적중된 위험 rewrite 규칙 수
증거 요약최대 위험 인스턴스의 증거 미리보기. 전체 증거는 해당 인스턴스 디렉터리 참조

Nginx 설정이 많은 경우 스크립트는 콘솔에 전체 설정을 출력하지 않습니다. 전체 활성 설정은 해당 인스턴스 디렉터리의 nginx_config_dump.txt에 저장됩니다. 설정 내보내기 파일이 10MB를 초과하면 스크립트는 계속 자동 스캔하며 raw/ 결과를 참고하여 수동 샘플 점검을 권장합니다.

다중 인스턴스 처리

서버에서 여러 nginx, openresty, tengine 후보 실행 파일이 발견되면 스크립트는 각각 점검하고 인스턴스 상세를 생성합니다.

전체 요약의 결론은 가장 위험한 인스턴스를 기준으로 합니다. 전체 결론은 보수적 우선순위를 따릅니다.

  1. 영향 있음 - 위험 설정 있음
  2. 수동 확인 필요
  3. 영향 있음 - 위험 설정 없음
  4. 영향 없음
  5. Nginx 미설치

여기서 수동 확인 필요는 영향 있음 - 위험 설정 없음보다 높은 순위로, 확인되지 않은 인스턴스가 있어 추가 확인이 필요함을 의미하며, 위험 설정이 확인되었다는 의미는 아닙니다.

점검 결론

결론의미
Nginx 미설치Nginx / OpenResty / Tengine 명령, 프로세스 또는 서비스 발견되지 않음
영향 없음명확히 수정된 버전이며 위험 설정 발견되지 않음
영향 있음 - 위험 설정 없음버전이 영향을 받을 것으로 의심되지만 위험 rewrite 설정 발견되지 않음
영향 있음 - 위험 설정 있음버전이 영향을 받거나 파생 버전 확인 필요, 위험 rewrite 설정 발견됨
수동 확인 필요버전 불명, 파생 버전, 설정 수집 실패, 권한 부족 또는 증거 불충분

버전 판단

제품버전 판단
NGINX 1.31.0+수정됨, 스크립트는 수정됨(mainline)으로 표시
NGINX 1.30.1+수정됨, 스크립트는 수정됨(stable)으로 표시
NGINX 0.6.27-1.30.0영향 의심
OpenResty / Tengine버전 및 설정 수집 가능, 버전 영향 관계는 기본적으로 수동 확인 필요

배포판의 경우 "버전 번호는 낮지만 패치가 백포트된" 경우가 있을 수 있습니다. 공급업체 패치 증명을 제공할 수 있는 경우 summary.txt 및 패키지 버전 정보를 통해 수동 확인할 수 있습니다.

조치 제안

  • 우선 공식 또는 배포판 공급업체가 발표한 수정 버전으로 업그레이드하세요.
  • 공개 인터넷 진입점, 리버스 프록시 진입점, 경계 로드 밸런서 인스턴스를 우선 확인하세요.
  • 모든 location, server, if 등의 컨텍스트에서 rewrite / if / set 조합을 확인하세요.
  • ?를 포함하는 rewrite 대체 문자열에서 $1, $2 등 이름 없는 캡처 변수를 계속 사용하지 않도록 하세요.
  • 이름 있는 캡처 사용, 변수 사전 저장, 처리 로직 분할 또는 불필요한 쿼리 문자열 rewrite 제거를 고려할 수 있습니다.
  • 버전 판단에만 의존하지 말고 설정에 트리거 시퀀스가 포함되어 있는지도 중요합니다.

제한 사항

  • 이 도구는 로컬 읽기 전용 점검 스크립트이며, 취약점 활용 검증과 동일하지 않습니다.
  • 정적 설정 스캔은 오탐 가능성이 있으므로 실제 NGINX 컨텍스트와 함께 수동 확인이 필요합니다.
  • nginx -T로 설정을 완전히 내보낼 수 없는 경우 스크립트는 안전하다고 판단하지 않습니다.
  • OpenResty / Tengine / 자체 빌드의 버전 영향 관계는 기본적으로 수동 확인이 필요합니다.
  • 위험이 스캔되지 않았다고 해서 절대적으로 안전한 것은 아니며, 공식 또는 배포판 공급업체가 확인한 수정 버전으로 업그레이드하는 것이 좋습니다.

참고 자료

  • NGINX Security Advisories
  • NVD: CVE-2026-42945
  • F5 Advisory K000161019
  • depthfirst: NGINX Rift
도구 다운로드