Arctic Wolf Log4Shell 深度扫描旨在检测受 CVE-2021-44228 和 CVE-2021-45046 影响的 Java 应用程序包。
Copyright 2021, Arctic Wolf Networks, Inc.
Arctic Wolf Networks, Inc. 依据 Apache License 2.0 版(以下简称“许可证”)向您授予本文件的许可。除非遵守许可证,否则您不得使用本文件。您可以在 http://www.apache.org/licenses/LICENSE-2.0 获取许可证副本。
除非适用法律要求或书面同意,依据许可证分发的软件均按“原样”分发,不附带任何明示或暗示的保证或条件。请参阅许可证以了解具体的语言规定权限和限制。
此脚本会在系统中搜索包含 Log4J 类 JndiLookup.class 的 Java 应用程序,该类是 Log4Shell 漏洞的根源。如果在某个应用程序中发现该类,脚本会查找 Log4J 的更新,以判断该应用程序是否已更新为使用 Log4J 2.16+ 或 Log4J 2.12.2+。如果该应用程序包含 JndiLookup.class 但似乎未更新,则该应用程序存在漏洞。
更多详情,请参阅:
有关修复步骤,请联系每个受影响应用程序的供应商。
每次扫描将得到以下结果之一:
有关修复步骤,请联系每个受影响应用程序的供应商。
在此处下载最新版本:log4shell_deep_scan_0.3.zip。
要运行,请以管理员身份打开命令提示符(cmd.exe):
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1
默认情况下,将搜索所有固定驱动器。按如下方式指定 search_root:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -search_root C:\START_HERE
结果将按如下方式写入当前工作目录中的文件:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
要为输出文件指定文件名,请按如下方式提供参数:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -output_filepath FILENAME_HERE.json
这可能需要几分钟。按 Ctrl-c 中止。
nice。要运行,请打开命令提示符:
$ sudo sh log4shell_deep_scan.sh
默认情况下,将搜索所有固定驱动器。按如下方式指定 search_root:
$ sudo sh log4shell_deep_scan.sh /START_HERE
结果将按如下方式写入当前工作目录中的文件:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
要为输出文件指定文件名,请按如下方式提供参数:
$ sudo sh log4shell_deep_scan.sh /START_HERE FILENAME_HERE.json
这可能需要几分钟。按 Ctrl-c 中止。
对于通过(PASS)的扫描,JSON 输出将包含 1 个条目,如下所示:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:24:46.8919939-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"PASS", "vulnerable_jar":false }
]
对于扫描结果为 FAIL 的情况,JSON 输出将为系统上发现的每个存在漏洞的 Java 应用程序各包含 1 条记录,具体如下:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin\\log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin.jar!log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\log4j-core-2.12.1.jar" }
]
对于扫描失败且存在未扫描 jar 的扫描,JSON 输出将为系统上发现的每个存在漏洞或未扫描的 Java 应用程序各包含 1 条记录,如下所示:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin\\log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin.jar!log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"UNKNOWN", "unscanned_jar":"C:\\Users\\user1234\\Downloads\\log4j-3234-2.12.1.jar" }
]
2021 年 12 月 17 日发布的 0.3 版本包含以下增强与修复:
2021 年 12 月 17 日发布的 0.2 版本包含以下增强与修复: