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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2024-32002-poc — CVE-2024-32002에 대한 개념 증명: Git submodule path injection 취약점. | Kitploit
도구/GitHubGitHub/joaoleonello/cve-2024-32002-poc
Vulnerability AnalysisExploitationWeb SecurityPenetration TestingSupply Chain SecurityLearning & Education
GitHubjoaoleonello/cve-2024-32002-poc

cve-2024-32002-poc

CVE-2024-32002에 대한 개념 증명: Git submodule path injection 취약점.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

💥 CVE-2024-32002 – Git 서브모듈 경로 삽입 PoC

동기

Hack The Box 플랫폼의 Compiled 머신을 푸는 과정에서 Git과 서브모듈 관련 흥미로운 동작을 발견했습니다. 더 깊이 조사하다 보니 연구자 Amal Murali의 이 훌륭한 게시물을 찾았는데, .gitmodules를 통한 경로 삽입 기술을 자세히 설명하고 있습니다. 이를 바탕으로 CVE-2024-32002를 연구하고 취약점의 실제 영향을 보여주는 실용적인 PoC를 만들기로 결정했습니다.

🧠 취약점 개요

CVE-2024-32002는 Git의 서브모듈 경로 확인 관련 심각한 결함을 악용합니다. Git은 리포지토리가 .gitmodules 파일에 정의된 서브모듈(경로 및 URL 지정)을 포함할 수 있도록 허용합니다. 취약점은 경로가 리포지토리의 내부 메타데이터와 설정을 저장하는 .git 디렉토리 내부를 가리키도록 조작될 때 발생합니다.

다음을 결합하여:

  • .gitmodules 조작 - 경로를 A/modules/x로 설정
  • 심볼릭 링크 a → .git 생성

…Git은 속아서 A/modules/x를 .git/modules/x로 확인하게 됩니다. 즉, 내부 .git 디렉토리 내부로 이동합니다. 이를 통해 공격자는 checkout, merge 또는 clone과 같은 합법적인 작업에서 실행될 수 있는 악성 후크와 같은 임의 파일을 주입할 수 있습니다.

이 취약점은 특히 CI/CD 환경, 자동화 또는 공유 리포지토리에서 위험한 원격 코드 실행 벡터를 나타냅니다.


⚙️ setup.sh 스크립트가 보여주는 것

이 스크립트는 취약한 환경 생성을 자동화하고 결함의 영향을 재현합니다:

  1. 악성 서브모듈 (hook-repo) 생성 - /tmp/teste.txt에 쓰는 post-checkout 후크 포함
  2. 주 리포지토리 (main-repo) 초기화 및 서브모듈 추가
  3. .gitmodules 파일 수정 - 서브모듈 경로를 A/modules/x로 리디렉션
  4. 심볼릭 링크 a → .git 생성 - A/modules/x가 .git/modules/x로 확인되도록 함
  5. 인덱스에 악성 .gitmodules 주입 - git update-index --index-info 사용
  6. 정상적인 커밋 수행 - 일반 활동 시뮬레이션
  7. --recursive 옵션으로 리포지토리 (cloned-repo) 복제 - 서브모듈 초기화
  8. 악성 후크를 .git/hooks/로 복사하고 git checkout HEAD 실행 - 익스플로잇 발동

성공하면 후크가 실행되고 /tmp/teste.txt 파일이 다음 내용으로 생성됩니다:

joao was here

🐳 Docker 환경

이 리포지토리에는 다음을 수행하는 Dockerfile이 포함되어 있습니다:

  1. **Git 2.45.0 설치 (취약한 버전)
  2. **일반 사용자 (joao) 생성
  3. **PoC 파일 복사
  4. **setup.sh 자동 실행

🔧 재현 방법

docker build -t git-cve-poc .
docker run --rm -it git-cve-poc

🔐 영향 및 완화 조치

이 취약점은 Git 2.45.1 이전 버전에 영향을 미칩니다. 결함은 서브모듈 경로 확인에 대한 더 엄격한 검증으로 수정되었습니다. 서브모듈을 사용하는 리포지토리는 감사되어야 하며, 자동화된 환경은 즉시 업데이트되어야 합니다.

⚠️ 법적 고지

이 프로젝트는 교육 및 연구 목적으로만 제공됩니다. 프로덕션 환경에서 사용하지 마세요. 목적은 취약점의 기술적 영향을 시연하고 보안 모범 사례를 홍보하는 것입니다.

도구 다운로드