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

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

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

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

工具目录

分类

查看所有分类
Loading categories
divd-2021-00038--log4j-scanner — 针对存档和Docker镜像中Log4j CVE的递归漏洞扫描器。通过SHA256哈希检测JndiLookup.class及易受攻击的版本,并提供可选补丁以移除漏洞利用类。 | Kitploit
工具/GitHubGitHub/dtact/divd-2021-00038--log4j-scanner
漏洞扫描器容器安全漏洞分析云安全DevSecOps事件响应
GitHubdtact/divd-2021-00038--log4j-scanner

divd-2021-00038--log4j-scanner

针对存档和Docker镜像中Log4j CVE的递归漏洞扫描器。通过SHA256哈希检测JndiLookup.class及易受攻击的版本,并提供可选补丁以移除漏洞利用类。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
46934年前Kitploit 审核通过
分享

divd-2021-00038--log4j-scanner

此扫描器将递归扫描路径(包括归档文件)以查找易受攻击的 log4j 版本以及 org/apache/logging/log4j/core/lookup/JndiLookup.class 文件。

目前,白名单定义了不可利用的版本,即 log4j-core 2.17.0 和 2.12.3。

扫描多层归档文件

功能特性

  • 递归扫描所有归档文件中的归档文件(支持多层嵌套)
  • 扫描已知的 log4j 库(sha256 哈希值)
  • 扫描 JndiLookup.class 文件
  • 快速
  • 显示根据版本找到的相关 CVE
  • 检测不同扩展名的类文件(例如 .ezclass)
  • 扫描本地和远程 Docker 镜像的所有层
  • 提供 Windows、Linux 和 MacOS 的二进制版本
  • 包含修补功能,该功能将(再次递归地)删除 JndiLookup 类

参考

CVE参考链接
CVE-2021-44228https://www.cve.org/CVERecord?id=CVE-2021-44228
CVE-2021-45046https://www.cve.org/CVERecord?id=CVE-2021-45046
CVE-2021-45105https://www.cve.org/CVERecord?id=CVE-2021-45105
CVE-2021-44832https://www.cve.org/CVERecord?id=CVE-2021-44832

扫描

使用方法

Windows

root@kitploit:~
$ divd-2021-00038--log4j-scanner.exe {target-path}

Linux / OSX / FreeBSD

root@kitploit:~
$ divd-2021-00038--log4j-scanner {target-path}

Docker 容器

现在,您还可以使用此工具扫描容器:

root@kitploit:~
$ ./divd-2021-00038--log4j-scanner scan-image logstash:7.16.1

或本地镜像:

root@kitploit:~
$ ./divd-2021-00038--log4j-scanner scan-image --local {sha256|pattern}
$ ./divd-2021-00038--log4j-scanner scan-image --local log4shell:latest
$ ./divd-2021-00038--log4j-scanner scan-image --local 4949add9e671

# 扫描所有本地镜像
$ ./divd-2021-00038--log4j-scanner scan-image --local 

您也可以修补镜像:

root@kitploit:~
$ docker save log4shell > ./log4shell-image.tar
$ ./divd-2021-00038--log4j-scanner ./log4shell-image.tar
$ ./divd-2021-00038--log4j-scanner patch ./log4shell-image.tar
$ cat ./log4shell-image.tar.patch | docker load 

比较两个 tar 文件将产生以下差异:

root@kitploit:~
Binary files ../2/BOOT-INF/lib/log4j-core-2.14.1.jar and ./BOOT-INF/lib/log4j-core-2.14.1.jar differ
Binary files ../2/app/spring-boot-application.jar and ./app/spring-boot-application.jar differ
Binary files ../2/b0d66ac73d47865118cfb9a1244f1508d94ea938da1eb78c2db20bd2e1a6629a/layer.tar and ./b0d66ac73d47865118cfb9a1244f1508d94ea938da1eb78c2db20bd2e1a6629a/layer.tar differ
Only in ./org/apache/logging/log4j/core/lookup: JndiLookup.class

修补

我们已初步支持递归修补文件。此功能非常实验性,请谨慎使用。目前修补仅适用于归档文件(jar / tar)。修补将创建一个新的 .patch 文件,该文件需要替换原始文件。这是有意设计的,因为需要与服务重启时间配合。请务必在替换前创建原始文件的备份。修补后,您可以再次扫描以确保没有遗漏任何文件。目前,文件夹中的纯 .class 文件不会被修补,因为它们可以安全地手动删除。

.patch 文件将完全等同于原始文件,但不包含 JndiLookup.class。这应足以在等待升级期间缓解此问题。请确保进行备份并彻底测试。

修补将拒绝在文件夹上运行,以此作为预防措施。只需将修补指向易受攻击的归档文件即可。

使用方法

Windows

root@kitploit:~
$ divd-2021-00038--log4j-scanner.exe patch {target-path}

Linux / OSX / FreeBSD

root@kitploit:~
divd-2021-00038--log4j-scanner patch {target-path}

从源码构建

要求:

  • Go 1.16 或更新版本

用于开发

root@kitploit:~
$ git clone "https://github.com/dtact/divd-2021-00038--log4j-scanner.git"
$ go build -o ./.builds/divd-2021-00038--log4j-scanner ./main.go

版权与许可

代码和文档版权归 Remco Verhoef (DTACT) 所有,2021 年。

代码基于 MIT 许可发布。

下载工具