技术分享 | Git-RCE:CVE-2021-21300

本文详细介绍了Git中CVE-2021-21300漏洞的复现过程,包括环境准备、恶意仓库的创建、攻击测试和扩展利用。在大小写敏感的文件系统上创建包含特定符号链接的仓库,然后在大小写不敏感的系统(如Windows)上克隆,可能导致远程命令执行。攻击者可以通过Git LFS和post-checkout文件执行恶意脚本,获取受害者系统的shell。
摘要由CSDN通过智能技术生成

git多个版本中,对符号链接处理不严格。在大小写敏感(例如Linux)的文件系统上传文件到git后,使用大小写不敏感文件系统(例如Windows)的主机克隆恶意仓库时可能导致远程命令执行

本文由锦行科技的安全研究团队提供,从攻击者的角度还原了Git-RCE的渗透过程。

触发条件:

  • 仓库中存在同名的链接符号和目录
  • 符号链接指向特殊目录(目前看来是.git/hooks
  • 受害机需要有足够权限执行恶意命令

01 复现

01 环境准备

①仓库准备:
系统:ubuntux64
需安装 git、git-lfs

执行 git lfs install命令可能会报错
Error: Failed to call git rev-parse --git-dir: exit status 128
可以忽略
出现Git LFS initialized.即完成安装

②受害机:
系统:win10x64
git for window:Git-2.17.1-64-bit
(https://www.npackd.org/p/git64/2.17.1.2)

git for window 的安装全为默认即可

02 恶意仓库准备
①在github新建仓库:
网上相应教程很多,不赘述

②在ubuntu构建恶意仓库并上传到github:
执行命令如下

$ git init delayed-checkout
$ cd delayed-checkout &&   
echo "A/post-checkout filter=lfs diff=lfs merge=lfs">.gitattribut
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值