
이 저장소는 Git의 취약점인 CVE-2024-32002를 악용하기 위한 PoC를 포함하고 있습니다. 이 취약점은 git clone 작업 중에 RCE를 허용합니다. 대소문자를 구분하지 않는 파일 시스템에서 서브모듈을 특정 방식으로 조작하여 리포지토리를 생성함으로써, 공격자는 심볼릭 링크 처리를 악용하여 .git/ 디렉토리에 파일을 쓰고, 악성 후크를 실행할 수 있습니다.
git clone을 통한 Git RCE 악용이 저장소는 Git의 git clone 작업 중 RCE를 가능하게 하는 취약점인 CVE-2024-32002에 대한 PoC를 포함합니다. 특정 방식으로 하위 모듈을 이용한 저장소를 조작함으로써, 공격자는 대소문자를 구분하지 않는 파일 시스템에서 심볼릭 링크 처리를 이용하여 .git/ 디렉토리에 파일을 쓰고, 악성 훅을 실행하게 할 수 있습니다.
참고: 이 PoC는 Windows 또는 Mac 시스템에서만 작동합니다.
이 익스플로잇이 어떻게 리버스 엔지니어링되었는지에 대한 자세한 설명은 블로그 포스트를 참조하세요: https://amalmurali.me/posts/git-rce
git_rce)는 특수하게 조작된 경로를 가진 하위 모듈을 포함합니다..git/ 디렉토리를 가리키는 심볼릭 링크를 포함합니다.git_rce/ (이 저장소): 하위 모듈을 포함하는 메인 저장소.amalmurali47/hook: 악성 훅을 포함하는 하위 모듈 저장소.⚠️ 경고: 소유하지 않거나 명시적 허가 없이 시스템에서 이 PoC를 실행하지 마십시오. 승인되지 않은 테스트는 의도치 않은 결과를 초래할 수 있습니다.
git clone --recursive [email protected]:amalmurali47/git_rce.git
참고: Windows에서는 이 작업을 위해 관리자 권한으로 셸을 실행해야 할 수 있습니다.


PoC를 생성하는 데 사용된 스크립트는 이 저장소에 create_poc.sh로 포함되어 있습니다. GitHub 저장소에 PoC를 설정하는 방법은 블로그 포스트에 포함되어 있습니다.
이 저장소는 교육 목적으로만 제공됩니다. 여기에 제공된 정보는 개발자가 취약점을 이해하고 시스템을 보호하는 데 도움을 주기 위한 것입니다. 이 익스플로잇을 악의적으로 또는 허가 없이 사용하지 마십시오. 이 PoC 사용에 따른 책임은 사용자 본인에게 있습니다. 저자는 이 정보 사용으로 인해 발생하는 손해나 법적 문제에 대해 책임지지 않습니다.
이 취약점을 발견한 filip-hejsek에게 감사를 표합니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.