如何搜索 log4j 漏洞?

Posted

技术标签:

【中文标题】如何搜索 log4j 漏洞?【英文标题】:How to search for log4j vulnerability? 【发布时间】:2022-01-20 17:38:33 【问题描述】:

搜索 log4j 漏洞的最佳方法是什么?在源代码中搜索“log4j”关键字是否足够?它只影响 Java 应用程序吗?我在某处读到应用程序有时会以另一个名称重命名 log4j。快速的谷歌搜索提供了几种工具,而不是声称可以检测到漏洞。

【问题讨论】:

您需要查找与模式“log4j-core-*.jar”匹配的文件。如果您在部署的应用程序中发现此 jar,则您可能容易受到攻击。 【参考方案1】:

您可以使用下面的扫描器来识别应用程序中易受攻击的 log4j jar 文件。 https://github.com/logpresso/CVE-2021-44228-Scanner

我已经使用 jar 版本来扫描应用程序。 从以下位置下载 jar: https://github.com/logpresso/CVE-2021-44228-Scanner/releases/download/v2.4.2/logpresso-log4j2-scan-2.4.2.jar

在同一位置打开命令提示符并执行以下命令以扫描您的应用程序

java -jar logpresso-log4j2-scan-2.4.2.jar 'your application path'

【讨论】:

【参考方案2】:

漏洞来自JndiLookup.class。在您的控制台中使用以下命令:

sudo grep -r --include "*.jar" JndiLookup.class /

如果它什么都不返回,那么你就不会受到攻击。 但是你可能会遇到这样的返回:

Fichier binaire /home/myuser/docx2tex/calabash/distro/lib/log4j-core-2.1.jar correspondant

grep: /usr/share/texmf-dist/scripts/arara/arara.jar : fichiers binaires correspondent

第一个显然易受攻击(版本匹配),第二个必须调查。为了降低风险,我立即删除了 JndiLookup.class,其中包含以下内容:

zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

zip -q -d arara.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

应用程序可以继续工作,也可以不工作。顺便说一句,必须使用 log4J >= 2.17 升级到版本。这是下一步,同时您不再容易受到攻击。

【讨论】:

这些 log4j 漏洞是否仅适用于 web(tomcat 或 jboss 部署)或也适用于 log4j.jar 的独立使用,是否有任何说明写在任何地方:nvd.nist.gov/vuln/detail/CVE-2021-44228nvd.nist.gov/vuln/detail/CVE-2021-45046nvd.nist.gov/vuln/detail/CVE-2021-4104 独立于容易受到攻击,您不仅必须配置普通的日志记录到文件,还必须使用套接字附加程序记录到套接字控制台?谢谢您提供任何线索。

以上是关于如何搜索 log4j 漏洞?的主要内容,如果未能解决你的问题,请参考以下文章

SPARK 应用如何快速应对 LOG4J 的系列安全漏洞

SPARK 应用如何快读应对 LOG4J 系列安全漏洞

CDH/HDP/CDP等大数据平台中如何快速应对LOG4J的JNDI系列漏洞

log4j 漏洞检查:如何快速检测是不是在 mavevn/图像中使用了 log4j? “mvn dependency:tree”没有给出完整的图片

Log4j 1:如何在不将版本更新到 2.15.0 的情况下缓解 log4j 中的漏洞

全网连夜修复的Log4j漏洞,如何做到一行代码都不改?