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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/rootdirective-sec/cve-2026-23744-lab
Container SecurityVulnerability AnalysisWeb SecurityLearning & EducationLabs & Practice
GitHubrootdirective-sec/cve-2026-23744-lab

CVE-2026-23744-Lab

# CVE-2026-23744용 MCPJam Inspector의 취약한 빌드와 패치된 빌드를 비교하기 위한 Docker 랩으로, 교육용 보안 연구를 위해 네트워크 바인딩 차이와 API 노출을 시연합니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

CVE-2026-23744 – MCPJam Inspector Docker Lab

이 저장소는 CVE-2026-23744에 대한 MCPJam Inspector의 취약한 빌드와 패치된 빌드를 비교하기 위한 소형 Docker 랩입니다.

학습 목적과 공개 보안 포트폴리오 구축을 위해 설계되었습니다: 빠른 설정, 명확한 증거, 스크린샷.

⚠️ 윤리 / 범위: 소유한 시스템 또는 명시적 테스트 허가를 받은 시스템에서만 테스트하세요. 이 저장소는 로컬 재현 및 문서화를 위한 것입니다.


이 랩이 시연하는 내용

  • **취약한 버전(1.4.2)**은 컨테이너 내부의 0.0.0.0:6274에서 수신 대기합니다(포트를 게시하면 네트워크에서 접근 가능).
  • **패치된 버전(1.4.3)**은 컨테이너 내부의 127.0.0.1:6274에서 수신 대기합니다(루프백 전용). 호스트 포트를 게시해도 컨테이너 외부에서 접근할 수 없습니다.
  • API 표면(/api/mcp/connect)은 취약한 설정에서 인증 요구 없이 존재하고 응답합니다.

이는 공급업체 권고 및 공개 보고서와 일치합니다:

  • GitHub Advisory (GHSA): https://github.com/advisories/GHSA-232v-j27c-5pp6
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-23744

저장소 구조

root@kitploit:~
.
├── docker-compose.yml
├── vuln/
│   └── Dockerfile
├── patched/
│   └── Dockerfile
└── docs/
    └── (스크린샷은 여기에 저장)

사전 요구 사항

  • Docker + Docker Compose
  • curl

빠른 시작

두 컨테이너를 빌드하고 실행:

root@kitploit:~
docker compose up -d --build

실행 상태 확인:

root@kitploit:~
docker compose ps

예상 결과:

  • inspector_vuln_142이 127.0.0.1:6274에 게시됨
  • inspector_patched_143이 127.0.0.1:6275에 게시됨(하지만 호스트에서 접근할 수 없어야 함)

검증 단계

UI 접근 가능 (취약)


2) API 응답(인증 게이트 없음)

엔드포인트가 존재하며 필수 필드가 누락되면 검증 오류로 응답합니다:

root@kitploit:~
curl -i -X POST http://127.0.0.1:6274/api/mcp/connect \
  -H 'Content-Type: application/json' \
  -d '{}'

HTTP/1.1 400과 다음과 유사한 응답을 기대합니다:

root@kitploit:~
{"success":false,"error":"Failed to parse request body","details":"Unexpected end of JSON input"}

3) 바인딩 차이(실제 패치 동작)

컨테이너 내부에서 포트 6274에서 수신 대기 중인 주소를 확인합니다:

root@kitploit:~
# 취약 버전
docker exec -it inspector_vuln_142 sh -lc "apk add --no-cache iproute2 >/dev/null 2>&1; ss -lnt | grep 6274"

# 패치 버전
docker exec -it inspector_patched_143 sh -lc "apk add --no-cache iproute2 >/dev/null 2>&1; ss -lnt | grep 6274"

예상 결과:

  • 취약 버전: 0.0.0.0:6274
  • 패치 버전: 127.0.0.1:6274

ss 출력 (패치 버전)


4) 패치된 포트 매핑이 "작동하지 않는" 이유(예상됨)

127.0.0.1:6275 -> container:6274로 매핑하더라도 패치된 컨테이너는 자체 루프백 인터페이스에서만 수신 대기합니다. 따라서 호스트에서 연결 종료/빈 응답이 표시되어야 합니다.

root@kitploit:~
curl -v http://127.0.0.1:6275/

예상: 접근 불가(이것이 완화 조치가 작동하는 것입니다).

패치된 UI가 여전히 작동함을 증명하려면 컨테이너 내부에서 curl을 실행하세요:

root@kitploit:~
docker exec -it inspector_patched_143 sh -lc "apk add --no-cache curl >/dev/null 2>&1; curl -i http://127.0.0.1:6274/"

예상: HTTP/1.1 200.

호스트가 패치 버전에 접근 불가 (예상됨)

컨테이너 내부: 패치 버전 접근 가능


5) 프로세스 실행 증거

취약한 컨테이너에서 로컬 테스트 중 Inspector 서버 프로세스에 strace를 연결하여 자식 프로세스를 생성하고 execve()를 호출하는 것을 관찰했습니다.

여기에는 바로 실행 가능한 익스플로잇 페이로드를 의도적으로 포함하지 않습니다.

캡처할 내용:

execve("/bin/sh", ["sh","-c", "..."], ...) = 0

execve("/usr/bin/...", [...], ...) = 0

자식 프로세스가 정상적으로 종료됨(상태 0)

익스플로잇

크레딧 / 참고 자료

  • GitHub Advisory (GHSA-232v-j27c-5pp6): https://github.com/advisories/GHSA-232v-j27c-5pp6
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-23744

면책 조항

이 저장소는 방어적 연구, 교육, 통제된 환경에서의 재현 가능한 검증을 위한 것입니다. 소유하지 않았거나 테스트 허가를 받지 않은 시스템에 사용하지 마세요.

도구 다운로드