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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-3094-One-Liner — 用于检查服务器和 Docker 镜像对 CVE-2024-3094 漏洞的易受攻击性的单行脚本,包括版本检测和 xz 引用的仓库扫描。 | Kitploit
工具/GitHubGitHub/brinhosa/cve-2024-3094-one-liner
漏洞扫描器容器安全漏洞分析云安全DevSecOps供应链安全
GitHubbrinhosa/cve-2024-3094-one-liner

CVE-2024-3094-One-Liner

用于检查服务器和 Docker 镜像对 CVE-2024-3094 漏洞的易受攻击性的单行脚本,包括版本检测和 xz 引用的仓库扫描。

查看仓库
142年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-3094 单行漏洞检查器

此仓库提供简单而强大的单行脚本,旨在帮助您快速判断服务器是否容易受到 CVE-2024-3094 的攻击,这是在 xz 工具的某些版本中发现的一个关键安全漏洞。此外,我们还提供了一种便捷的方法来扫描您的代码仓库中是否有对 xz 库的引用,这可能表明存在潜在的间接漏洞。

检查服务器漏洞

要确定您的服务器是否容易受到 CVE-2024-3094 的攻击,请在终端执行以下命令:

root@kitploit:~
(type dpkg &>/dev/null && dpkg -l xz 2>/dev/null | awk '/^ii/{print $3}' | grep -qE '^(5.6.0|5.6.1)$' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or xz not installed") || (type rpm &>/dev/null && rpm -q --qf "%{VERSION}\n" xz 2>/dev/null | grep -qE '^(5.6.0|5.6.1)$' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or xz not installed")

上述命令将检查 Linux 发行版中的软件包。

或者尝试另一个选项,该选项将执行 xz 命令,通常不推荐这样做:

root@kitploit:~
command -v xz &>/dev/null && { xz_version=$(xz --version | head -n 1 | awk '{print $4}'); [[ $xz_version == "5.6.0" || $xz_version == "5.6.1" ]] && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable: CVE-2024-3094"; } || echo "xz not installed"

该脚本执行以下操作:

  • 检查是否安装了 xz 工具。
  • 确定 xz 的已安装版本。
  • 将版本与已知的易受攻击版本(5.6.0 和 5.6.1)进行比较。
  • 输出服务器的漏洞状态。

Docker 镜像的高级漏洞检查

对于使用 Docker 并担心其容器镜像中漏洞的团队,我们提供了一个使用 Trivy(Aqua Security 的开源漏洞扫描器)的复杂示例。此方法扫描 Docker 镜像中的漏洞,包括 CVE-2024-3094,并输出关于镜像安全状态的清晰结果。

使用 Trivy 检查 Docker 镜像

以下命令使用 Trivy 扫描 Docker 镜像(debian:experimental-20240311)中的漏洞,并过滤与 liblzma5 相关的 CVE-2024-3094 结果:

root@kitploit:~
docker run --rm -v $('pwd'):/project -w /project aquasec/trivy:latest image --format cyclonedx --scanners vuln --output /project/result.json debian:experimental-20240311@sha256:16cc2b09c44d991d36f63153f13a7c98fb7da6bd2ba9d7cc0f48baacb7484970 && jq -r '.components[] | .properties[] | select(.name == "aquasecurity:trivy:PkgID" and (.value | tostring | test("liblzma5@(5\\.6\\.0|5\\.6\\.1)"))) | .value' result.json | grep -qE '5\.6\.0|5\.6\.1' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or liblzma5 not found"

工作原理:

  1. Docker Run 命令:启动一个 Trivy 容器,并将当前目录挂载为卷。此设置允许 Trivy 将扫描结果直接输出到主机当前目录中的文件(result.json)。

  2. Trivy 扫描:扫描指定的 Docker 镜像以查找漏洞,以 CycloneDX 格式(一种用于软件物料清单的标准化格式)输出结果。

  3. 使用 jq 处理:过滤扫描结果以识别 liblzma5 软件包,并检查版本是否为“5.6.0”或“5.6.1”。

  4. 漏洞检查:使用 grep 搜索 liblzma5 的易受攻击版本。如果找到,则输出“Vulnerable: CVE-2024-3094”;否则输出“Not vulnerable or liblzma5 not found”。

此方法对于自动化流水线非常有效,并且可以适应检查不同 Docker 镜像中的各种漏洞,确保您的部署安全。

为您的 Docker 镜像自定义扫描

要使用提供的命令扫描您自己的 Docker 镜像,请按照以下步骤根据您的需求自定义命令:

  1. 替换 Docker 镜像:将 debian:experimental-20240311@sha256:16cc2b09c44d991d36f63153f13a7c98fb7da6bd2ba9d7cc0f48baacb7484970 替换为您要扫描的镜像。您可以通过名称和标签(例如 yourimage:yourtag)或其摘要指定镜像。

  2. 调整漏洞检查:如果您扫描的是 CVE-2024-3094 以外的漏洞,请修改 jq 和 grep 表达式,以针对感兴趣的漏洞相关的特定软件包和版本。

例如,要扫描名为 yourimage:yourtag 的镜像:

root@kitploit:~
docker run --rm -v $('pwd'):/project -w /project aquasec/trivy:latest image --format cyclonedx --scanners vuln --output /project/result.json yourimage:yourtag && jq -r '.components[] | .properties[] | select(.name == "aquasecurity:trivy:PkgID" and (.value | tostring | test("liblzma5@(5\\.6\\.0|5\\.6\\.1)"))) | .value' result.json | grep -qE '5\.6\.0|5\.6\.1' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or liblzma5 not found"

自定义提示:

  • 针对不同漏洞:将 jq 命令中的 "liblzma5@(5\\.6\\.0|5\\.6\\.1)" 替换为您感兴趣的软件包和版本。例如,要检查 openssl 版本“1.1.1”,您可以使用 openssl@(1\\.1\\.1)。

  • 针对不同属性:根据漏洞或软件包,您可能需要调整 .name == "aquasecurity:trivy:PkgID" 以定位 CycloneDX 输出中的不同属性。

确保扫描准确

  • 定期更新:确保您的 Trivy 实例定期更新,以拥有最新的漏洞定义。通常可以通过在运行扫描前拉取最新的 aquasec/trivy 镜像来实现。

  • 理解输出:熟悉 Trivy 和 jq 处理的输出格式,以准确解释结果并了解对您的 Docker 镜像的影响。

扫描代码仓库中的 xz 引用

如果您维护的代码可能交互或依赖于 xz 库,那么识别任何对易受攻击库版本的显式引用至关重要。使用以下命令扫描您的仓库:

搜索 "tukaani" 引用

tukaani 项目是 xz 工具的主页。要在代码中找到提及:

root@kitploit:~
grep -rnH "tukaani" .

搜索 Maven 依赖引用

对于使用 Maven 的 Java 项目,您可能在 pom.xml 中将 xz 指定为依赖项。要定位这些引用:

root@kitploit:~
grep -rnH "org.tukaani:xz:" .

这些命令将递归搜索当前目录(及子目录)中的指定模式,报告文件名、行号和包含匹配内容的行。


注意: 确保您拥有在服务器上运行这些脚本或扫描仓库的必要权限。在生产系统使用前,务必在安全环境中验证和测试脚本。

欢迎通过提交拉取请求或开启问题来为此仓库贡献或提出改进建议。非常感谢您的反馈和贡献!

下载工具