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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-42945-NGINX-Rift-Toolkit — CVE-2026-42945 - NGINX Rift Toolkit | Kitploit
도구/GitHubGitHub/gagaltotal/cve-2026-42945-nginx-rift-toolkit
Vulnerability ScannersNetwork MappingExploitationConfiguration AuditingWeb SecurityPenetration Testing
GitHubgagaltotal/cve-2026-42945-nginx-rift-toolkit

CVE-2026-42945-NGINX-Rift-Toolkit

CVE-2026-42945 - NGINX Rift Toolkit

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기웹사이트
413개월 전아직 검토되지 않음

CVE-2026-42945 Nginx Rift 취약점 툴킷

CVSS Score: 9.8 - Critical Python Version License

CVE-2026-42945(nginx의 치명적인 RCE 취약점)를 스캔, 패치, 테스트하기 위한 종합 툴킷

목차

  • 개요
  • CVE 세부 정보
  • 기능
  • 툴킷 구성 요소
  • 요구 사항
  • 설치
  • 사용법
  • 워크플로 예시
  • 보안 고려 사항
  • 문제 해결
  • 기여

개요

이 툴킷은 CVE-2026-42945(nginx 메인라인 1.26.3 미만, 안정판 1.24.1 미만에 영향을 미치는 치명적인 원격 코드 실행(RCE) 취약점)를 스캔, 패치, 테스트하기 위한 포괄적인 도구를 제공합니다.

이 취약점은 힙 스프레이 기법을 사용하여 ASLR이 비활성화된 상태에서 잘못된 HTTP/2 헤더 구문 분석을 악용합니다.

CVE 세부 정보

기능

  • 네트워크 스캐닝 - 동시 호스트 발견을 통한 CIDR 서브넷 스캔
  • 버전 탐지 - SSH를 통한 여러 배포판의 nginx 버전 식별
  • 자동 패치 - 네트워크 전반의 취약한 인스턴스 일괄 패치
  • 익스플로잇 테스트 - 힙 스프레이 기법을 사용한 취약점 검증
  • 리포트 생성 - HTML 및 JSON 형식 리포트
  • 드라이 런 모드 - 적용 전 변경 사항 미리보기
  • 다중 인증 - SSH 키 및 비밀번호 기반 인증
  • 감사 로깅 - 상세한 타임스탬프 작업 로그

툴킷 구성 요소

1. nginx_scanner.py - 취약점 스캐너

서브넷 또는 단일 호스트를 스캔하여 취약한 nginx 설치를 식별합니다.

기능:

  • CIDR 서브넷 스캔 지원
  • 동시 호스트 발견 및 버전 탐지
  • SSH 기반 원격 버전 확인
  • 여러 배포판 지원(Ubuntu, Debian, CentOS, AlmaLinux, RHEL)
  • HTML 및 JSON 리포트 생성
  • 사용자 정의 SSH 포트 및 인증 방법

2. nginx_patcher.py - 패치 자동화

취약한 nginx 인스턴스를 최신 보안 버전으로 자동 패치합니다.

기능:

  • 서브넷 범위 내 일괄 패치
  • 배포판별 패치 명령
  • 안전성 검증을 위한 드라이 런 모드
  • 대상 버전 지정
  • 상세한 패치 실행 로그
  • 진행 상황 추적 및 보고

3. exploit.py - 원격 코드 실행 익스플로잇

힙 스프레이 기법을 통해 CVE-2026-42945 취약점을 테스트합니다.

기능:

  • ASLR이 비활성화된 nginx 인스턴스 대상
  • 힙 스프레이 버퍼 오버플로우 익스플로잇
  • 안정성을 위한 다중 오프셋 지원
  • 원격 명령 실행 기능
  • 연결 타임아웃 및 재시도 메커니즘
  • 상세한 실행 통계

지원되는 배포판

  • Ubuntu(nginx가 포함된 모든 버전)
  • Debian(nginx가 포함된 모든 버전)
  • CentOS 7+
  • AlmaLinux
  • RHEL(Red Hat Enterprise Linux)

요구 사항

  • Python: 3.7 이상
  • OS: Linux/Unix 환경

의존성

root@kitploit:~
paramiko (>= 3.0.0) - SSH 클라이언트 라이브러리
rich (>= 13.0.0) - 터미널 포맷팅 및 진행 바

설치

1단계: 클론 또는 다운로드

root@kitploit:~
git clone https://github.com/gagaltotal/CVE-2026-42945-NGINX-Rift-Toolkit
cd CVE-2026-42945-NGINX-Rift-Toolkit

2단계: 가상 환경 생성

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate

3단계: 의존성 설치

root@kitploit:~
pip install -r requirements.txt

사용법

Screen Capture

스캐너 (nginx_scanner.py)

기본 서브넷 스캔

root@kitploit:~
python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa

단일 호스트 스캔

root@kitploit:~
python3 nginx_scanner.py --subnet 192.168.1.10 --user root --key ~/.ssh/id_rsa

비밀번호 기반 인증

root@kitploit:~
python3 nginx_scanner.py --subnet 10.0.0.0/30 --user admin --password "password"

사용자 지정 SSH 포트

root@kitploit:~
python3 nginx_scanner.py --subnet 192.168.1.0/24 --port 2222 --user root --key ~/.ssh/id_rsa

HTML 리포트 생성

root@kitploit:~
python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --output report.html

스캐너 옵션

root@kitploit:~
--subnet SUBNET              CIDR 형식의 대상 서브넷(필수)
--user USER                  SSH 사용자 이름(기본값: root)
--password PASSWORD          SSH 비밀번호
--key KEY_PATH              SSH 개인 키 경로
--port PORT                 SSH 포트(기본값: 22)
--timeout TIMEOUT           연결 타임아웃(초, 기본값: 5)
--output FILE               출력 리포트 파일(HTML/JSON)
--workers WORKERS           동시 스레드 수(기본값: 20)

패처 (nginx_patcher.py)

Screen Capture

기본 패치

root@kitploit:~
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa

드라이 런(적용하지 않고 미리보기)

root@kitploit:~
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run

특정 버전 대상

root@kitploit:~
python3 nginx_patcher.py --subnet 192.168.1.0/24 --target-version 1.26.3 --user root --key ~/.ssh/id_rsa

사용자 지정 SSH 포트

root@kitploit:~
python3 nginx_patcher.py --subnet 10.0.0.0/30 --port 2222 --user admin --password "password"

패처 옵션

root@kitploit:~
--subnet SUBNET              CIDR 형식의 대상 서브넷(필수)
--user USER                  SSH 사용자 이름(기본값: root)
--password PASSWORD          SSH 비밀번호
--key KEY_PATH              SSH 개인 키 경로
--port PORT                 SSH 포트(기본값: 22)
--timeout TIMEOUT           연결 타임아웃(초, 기본값: 30)
--target-version VERSION    패치할 nginx 버전(기본값: 최신)
--dry-run                   실행하지 않고 패치될 내용만 표시
--workers WORKERS           동시 스레드 수(기본값: 10)

익스플로잇 (exploit.py)

Screen Capture

단일 대상 익스플로잇

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --port 80

사용자 지정 페이로드 사용

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --port 80 --command "cat /etc/passwd"

다중 스프레이 시도

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --port 80 --spray 50

상세 출력

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --port 80 --verbose

익스플로잇 옵션

root@kitploit:~
--target HOST               대상 호스트 IP 또는 도메인(필수)
--port PORT                 대상 포트(기본값: 80)
--command CMD               실행할 명령
--spray NUM                 힙 스프레이 시도 횟수(기본값: 20)
--timeout TIMEOUT           연결 타임아웃(초, 기본값: 5)
--tries NUM                 익스플로잇 시도 횟수(기본값: 10)
--verbose                   상세 출력 활성화

워크플로 예시

시나리오 1: 전체 보안 평가

root@kitploit:~
# 1단계: 취약한 인스턴스에 대해 네트워크 스캔
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key --output scan_results.html

# 2단계: scan_results.html에서 스캔 결과 검토

# 3단계: 취약한 인스턴스 패치
python3 nginx_patcher.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key

# 4단계: 스캐너를 다시 실행하여 패치가 적용되었는지 확인
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key

시나리오 2: 긴급 패치

root@kitploit:~
# 1단계: 패치될 내용을 미리 보기 위해 드라이 런 실행
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run

# 2단계: 패치 적용
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa

시나리오 3: 취약한 시스템에서 테스트

root@kitploit:~
# 1단계: 먼저 시스템이 취약한지 확인
python3 exploit.py --target 10.0.0.50 --port 80 --verbose

# 2단계: 성공한 경우 즉시 패치 권장
python3 nginx_patcher.py --subnet 10.0.0.50 --user root --key ~/.ssh/id_rsa

보안 고려 사항

인증 방법

SSH 키 기반(권장)

root@kitploit:~
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa

비밀번호 기반

root@kitploit:~
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --password "password"

사용자 지정 SSH 포트

root@kitploit:~
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa --port 2222

문제 해결

SSH 연결 문제

  • SSH 키 권한: chmod 600 ~/.ssh/id_rsa
  • SSH 서비스: 대상에서 SSH 서비스가 실행 중인지 확인
  • SSH 포트: SSH 포트가 올바른지 확인(기본값: 22)
  • 방화벽: 방화벽이 SSH 연결을 허용하는지 확인

버전 감지 실패

  • Nginx 설치: 대상에 nginx가 설치되어 있는지 확인
  • 권한: 사용자에게 sudo 권한 또는 직접 root 접근 권한이 있는지 확인
  • 네트워크: 대상 호스트에 대한 네트워크 연결 확인

패치 실패

  • 드라이 런 테스트: 적용하지 않고 문제를 식별하려면 --dry-run 사용
  • 인터넷: 패키지 다운로드를 위해 대상 시스템에 인터넷 연결이 있는지 확인
  • 패키지 관리자: 대상에서 패키지 관리자가 작동하는지 확인
  • 디스크 공간: 대상 시스템의 디스크 공간 확인

출력 리포트

스캐너는 여러 형식으로 상세 리포트를 생성합니다.

형식설명
HTML 리포트취약점 요약, 영향을 받은 호스트, 버전 세부 정보가 포함된 브라우저에서 볼 수 있는 리포트
JSON 리포트전체 기술 세부 정보가 포함된 기계가 읽을 수 있는 형식
콘솔 출력색상 코드 결과와 함께 실시간 진행 상황

로깅

모든 작업은 감사 규정 준수를 위해 타임스탬프와 함께 기록됩니다. 자세한 실행 정보는 콘솔 출력을 확인하세요.

기여

기여는 환영합니다! 기여하려면:

  1. 저장소를 포크합니다.
  2. 기능 브랜치를 생성합니다(git checkout -b feature/improvement).
  3. 변경 사항을 커밋합니다(git commit -am 'Add improvement').
  4. 브랜치에 푸시합니다(git push origin feature/improvement).
  5. 풀 리퀘스트를 엽니다.

면책 조항

이 툴킷은 승인된 보안 테스트 및 취약점 평가 용도로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 사용자는 이 툴킷을 사용하기 전에 적절한 승인을 받았는지 확인할 책임이 있습니다.

작성자

gagaltotal - GitHub

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.


마지막 업데이트: 2026-05-20

도구 다운로드
속성값
취약점 IDCVE-2026-42945
유형원격 코드 실행(RCE)
CVSS 점수9.8(치명적)
영향 받는 버전< 1.26.3(메인라인) / < 1.24.1(안정판)
수정된 버전1.26.3+
공격 벡터잘못된 HTTP/2 헤더 구문 분석
전제 조건대상 시스템에서 ASLR 비활성화
고려 사항세부 사항
SSH 키 관리SSH 키를 안전하게 보관하고 저장소에 절대 커밋하지 않음
네트워크 접근프로덕션 사용 시 적절한 네트워크 분할 확인
테스트 환경항상 비프로덕션 환경에서 먼저 테스트
로깅모든 작업은 감사 추적을 위해 상세 로그 생성
ASLR 상태익스플로잇 도구는 대상에서 ASLR이 비활성화되어야 함
드라이 런 모드적용 전 변경 사항을 미리 보려면 --dry-run 플래그 사용
백업패치 전 항상 nginx 설정 백업