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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-27407 — 로컬 랩 및 개념 증명 익스플로잇 for CVE-2025-27407, Direct Transfer HTTP 경로를 통해 GitLab의 GraphQL 인트로스펙션 스키마 로더를 대상으로 합니다. 컨테이너화된 환경과 자동화된 트리거 스크립트를 포함합니다. | Kitploit
도구/GitHubGitHub/logggg2402/cve-2025-27407
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHublogggg2402/cve-2025-27407

CVE-2025-27407

로컬 랩 및 개념 증명 익스플로잇 for CVE-2025-27407, Direct Transfer HTTP 경로를 통해 GitLab의 GraphQL 인트로스펙션 스키마 로더를 대상으로 합니다. 컨테이너화된 환경과 자동화된 트리거 스크립트를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-27407 GitLab Podman Lab

GitLab Direct Transfer HTTP 경로가 취약한 graphql-ruby introspection 스키마 로더에 도달함을 증명하기 위한 최소 로컬 전용 랩입니다. 이 랩은 취약한 GitLab CE 컨테이너 하나를 실행하며, PoC 스크립트는 테스트 중에만 프로세스 내에서 가짜 GitLab 소스 서버를 시작합니다.

소유한 시스템이나 명시적으로 테스트 권한을 받은 시스템에서만 실행하세요.

파일

파일용도
lab.shGitLab 랩을 시작, 대기, 확인 및 정리합니다.
poc_host_port_cmd.py일회성 PoC: 가짜 소스 서버 + GitLab 로그인/구성/가져오기 트리거.

요구사항

  • podman이 설치된 Linux 호스트
  • curl
  • GitLab 및 PoC 가짜 소스 서버를 위한 사용 가능한 로컬 포트
  • GitLab Omnibus 컨테이너를 위한 충분한 RAM/디스크

기본값:

항목기본값
GitLab 이미지docker.io/gitlab/gitlab-ce:16.11.8-ce.0
GitLab 컨테이너cve-27407-gitlab
Podman 네트워크cve-2025-27407-net
GitLab 루트 사용자root
GitLab 루트 비밀번호Cve27407Password!
마커/tmp/cve_2025_27407_gitlab_marker

랩 시작하기

포트 8080이 스크립트 기본값입니다. 이미 사용 중인 경우 여기에 표시된 대로 18080을 사용하세요.

root@kitploit:~
cd gitlab-lab
chmod +x lab.sh poc_host_port_cmd.py

GITLAB_HTTP_PORT=18080 GITLAB_SSH_PORT=2225 ./lab.sh up

GitLab을 엽니다:

root@kitploit:~
http://127.0.0.1:18080

로그인 자격 증명:

root@kitploit:~
root / Cve27407Password!

root는 기본 랩 사용자일 뿐입니다. PoC 트리거는 관리자 계정이 필요하지 않습니다; 대상 네임스페이스에 생성/가져오기를 할 수 있는 인증된 사용자라면 누구나 취약한 Direct Transfer 경로에 도달할 수 있습니다. 비관리자 사용자로 테스트하려면 --username과 --password를 사용하세요.

PoC 실행

root@kitploit:~
MARKER=/tmp/cve_2025_27407_gitlab_marker
podman exec cve-27407-gitlab rm -f "$MARKER"

./poc_host_port_cmd.py \
  --host 127.0.0.1 \
  --port 18080 \
  --listen-port 8001 \
  --wait-seconds 120 \
  --cmd "touch $MARKER"

MARKER="$MARKER" ./lab.sh verify

예상 출력:

root@kitploit:~
[*] create/import trigger status=200 final_url=http://127.0.0.1:18080/import/bulk_imports
[{"success":true,...}]
[evil-source] POST /api/graphql introspection -> malicious schema; command='touch ...'
[+] GitLab reached /api/graphql introspection over HTTP
[+] vulnerable: marker file exists inside GitLab container

옵션

옵션용도기본값
--host대상 GitLab 호스트필수
--port대상 GitLab HTTP 포트필수
--cmdGitLab 런타임에서 실행할 명령어touch /tmp/cve_2025_27407_gitlab_marker
--listen-port로컬 가짜 소스 서버 포트8001
--wait-seconds비동기 GitLab 워커를 위해 가짜 소스 유지 시간90
--usernameGitLab 사용자 이름root
--passwordGitLab 비밀번호Cve27407Password!

환경 변수 재정의

변수용도기본값
GITLAB_HTTP_PORT호스트/컨테이너 GitLab HTTP 포트8080
GITLAB_SSH_PORT호스트 GitLab SSH 포트2224
GITLAB_ROOT_PASSWORD초기 루트 비밀번호Cve27407Password!
GITLAB_IMAGE실행할 GitLab 이미지docker.io/gitlab/gitlab-ce:16.11.8-ce.0
NETWORKPodman 네트워크 이름cve-2025-27407-net
MARKERGitLab 컨테이너 내부에서 확인되는 파일/tmp/cve_2025_27407_gitlab_marker
TIMEOUT_SECONDS준비 대기 시간 제한1200

문제 해결

  • 8080 포트가 사용 중이면 ./lab.sh up에 GITLAB_HTTP_PORT=18080을 사용하세요.
  • PoC가 소스 포트를 바인딩할 수 없으면 --listen-port를 사용하지 않는 포트로 변경하세요.
  • 마커 확인이 백그라운드 가져오기 워커와 경합하는 경우 --wait-seconds를 늘리거나 MARKER="$MARKER" ./lab.sh verify를 다시 실행하세요.
  • GitLab이 아직 준비되지 않은 경우 GITLAB_HTTP_PORT=18080 ./lab.sh wait를 다시 실행하세요.
  • 이전 랩이 멈춘 경우 ./lab.sh cleanup을 실행하고 다시 시작하세요.

정리

root@kitploit:~
./lab.sh cleanup

이 명령은 GitLab 컨테이너, 이전 랩 버전의 레거시 가짜 소스 컨테이너 및 랩 네트워크를 제거합니다. 다운로드된 Podman 이미지는 제거하지 않습니다.

도구 다운로드