Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2024-52005-poc — CVE-2024-52005 的概念验证:Git 中的 ANSI 转义序列注入。演示了加固容器镜像中错误的 'not_affected' VEX 声明。 | Kitploit
工具/GitHubGitHub/andrewd-cg/cve-2024-52005-poc
容器安全漏洞分析漏洞利用渗透测试社会工程学供应链安全学习与教育
GitHubandrewd-cg/cve-2024-52005-poc

cve-2024-52005-poc

CVE-2024-52005 的概念验证:Git 中的 ANSI 转义序列注入。演示了加固容器镜像中错误的 'not_affected' VEX 声明。

查看仓库
68个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-52005:Git 中的 ANSI 转义序列注入

概述

本仓库包含一个概念验证(PoC),用于演示 CVE-2024-52005——Git 中的一个漏洞,该漏洞允许在 Git 操作期间通过 sideband 通道注入 ANSI 转义序列。

CVE-2024-52005 是一个高危(CVSS 7.5)漏洞,影响 2.48.1、2.47.3、2.46.5、2.45.4 和 2.44.3 之前的 Git 版本。

问题

创建此 PoC 是为了证明某些加固的容器镜像在其 VEX(漏洞可利用性交换,Vulnerability Exploitability eXchange)文档中错误地声称“not_affected”(不受影响)状态,尽管它们实际搭载的是易受攻击的 Git 版本。

实际影响

该漏洞允许攻击者:

  • 使用不可见的 ANSI 代码在 Git 输出中隐藏恶意命令
  • 在 CI/CD 流水线中伪造安全扫描结果
  • 利用伪造的错误消息和安全警报对用户进行社会工程学攻击
  • 污染构建日志,使恶意代码显示为构建通过
  • 在关键操作期间操纵终端显示

快速开始

选项 1:使用 Docker 测试(无需本地克隆)

使用此 GitHub 仓库直接测试 DHI ArgoCD 容器:

root@kitploit:~
docker run --rm -it dhi.io/argocd:3 sh -c '
  git clone https://github.com/andrewd-cg/cve-2024-52005-poc.git /tmp/poc &&
  cd /tmp/poc &&
  sh docker-test.sh
'

此命令将:

  1. 将 PoC 从 GitHub 克隆到容器中
  2. 在容器内运行测试脚本
  3. 显示 ANSI 转义序列是否能够穿透

如果在输出中看到 ^[[31m 或 ^[[32m,则确认漏洞存在。

选项 2:本地测试(一条命令)

克隆仓库并在本地运行测试:

root@kitploit:~
git clone https://github.com/andrewd-cg/cve-2024-52005-poc.git
cd cve-2024-52005-poc
./test_ansi_injection.sh

此脚本将:

  1. 创建一个包含带 ANSI 代码的恶意钩子的 Git 仓库
  2. 使用易受攻击的 Git 版本克隆它
  3. 显示 ANSI 转义序列是否能够穿透

使用完整利用框架

root@kitploit:~
# Create malicious repository with social engineering payload
./exploit_cve_2024_52005.py create social_engineering

# Test against vulnerable container
./exploit_cve_2024_52005.py test

# View results
cat -v /tmp/cve-2024-52005-output.log

仓库内容

  • test_ansi_injection.sh - 简单的独立测试脚本
  • exploit_cve_2024_52005.py - 包含 8 种攻击载荷的完整利用框架
  • QUICKSTART.md - 包含示例的快速入门指南
  • TECHNICAL_DETAILS.md - 完整的技术分析与利用指南

攻击场景

1. 通过 ArgoCD 发起的供应链攻击

root@kitploit:~
Attacker creates public GitHub repo → ArgoCD clones it automatically →
Git hook injects ANSI codes → Hides backdoor in deployment logs

2. CI/CD 流水线投毒

root@kitploit:~
Developer clones repo → Malicious hook runs → Injects fake "Build PASSED" →
Real failures hidden → Vulnerable code deployed to production

3. 绕过安全工具

root@kitploit:~
Security scanner clones repo → Hook injects ANSI codes →
Shows "0 vulnerabilities" → Real vulnerabilities hidden →
Malicious code passes review

利用技术

该框架包含 8 种预构建的攻击载荷:

  1. fake_success - 显示伪造的成功消息
  2. hide_command - 在输出中隐藏恶意命令
  3. cursor_manipulation - 用伪造的成功覆盖警告信息
  4. social_engineering - 诱骗用户运行攻击者的脚本
  5. fake_vulnerability_scan - 隐藏真实漏洞
  6. progress_bar - 创建伪造的进度指示器
  7. urgent_warning - 制造虚假的紧迫感
  8. log_poisoning - 向 CI/CD 日志中注入伪造的成功记录

为什么这很重要

许多容器镜像声称对 CVE-2024-52005 为“not_affected”(不受影响),理由如下:

root@kitploit:~
{
  "justification": "vulnerable_code_cannot_be_controlled_by_adversary"
}

对于设计用于克隆不受信任仓库的容器来说,这是不正确的:

  • ArgoCD 会克隆第三方 Git 仓库
  • CI/CD 工具会处理外部仓库
  • 安全扫描器会分析不受信任的代码

攻击者确实可以通过 Git 钩子和 sideband 消息控制易受攻击的代码路径。

受影响的版本

受 CVE-2024-52005 影响的 Git 版本:

  • 所有低于 2.48.1 的版本
  • 所有低于 2.47.3 的版本
  • 所有低于 2.46.5 的版本
  • 所有低于 2.45.4 的版本
  • 所有低于 2.44.3 的版本

缓解措施

针对 Git 用户

更新到已修补的版本:

root@kitploit:~
# Check your version
git --version

# Update via package manager
apt update && apt upgrade git  # Debian/Ubuntu
brew upgrade git               # macOS

针对容器镜像维护者

  1. 将镜像中的 Git 更新到已修补的版本
  2. 更新 VEX 文档,以正确反映漏洞状态
  3. 使用此 PoC 测试你的镜像

临时规避措施

如果你无法立即更新:

  1. 仅从可信来源克隆仓库
  2. 通过经过净化处理的日志审查 Git 输出
  3. 在沙箱环境中运行 Git 操作

测试你的环境

root@kitploit:~
# Test any container image
docker run --rm -v $(pwd)/ansi-test-repo:/repo:ro YOUR_IMAGE:TAG \
  sh -c 'git clone /repo /tmp/test 2>&1' | cat -v

# Look for ANSI codes like ^[[31m in the output

参考资料

  • NVD 上的 CVE-2024-52005
  • Git 安全公告
  • OpenVEX 规范

负责任的披露

此 PoC 的创建目的:

  • 安全研究与教育
  • 演示错误的漏洞评估
  • 帮助组织正确评估其风险
  • 鼓励编写准确的 VEX 文档

仅用于经授权的安全测试。 请勿在你不拥有或未经许可的系统上使用本工具。

许可证

MIT 许可证 - 详见 LICENSE 文件

作者

作为容器镜像安全研究的一部分而创建,旨在展示准确披露和评估漏洞的重要性。

贡献

发现问题或有改进建议?欢迎提交 Pull Request!

  • 报告你发现的不正确的 VEX 评估
  • 添加新的利用技术
  • 改进检测方法
  • 完善文档
下载工具