Log4-detector

Log4J 漏洞版本扫描器
授权协议 GPL 3.0
开发语言 Java
所属分类 管理和监控、 漏洞检测扫描和评估
软件类型 开源软件
地区 不详
投 递 者 楚岳
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Log4-detector 是一个可以在任何应用程序中的文件系统上检测易受攻击的 Log4J 版本(CVE-2021-44228、CVE-2021-45046 等)的扫描程序。

甚至能够找到隐藏在几层深处的 Log4J 实例。适用于 Linux、Windows 和 Mac,也适用于 Java 运行的其他任何地方。

用法

java -jar log4j-detector-2021.12.22.jar 

Usage: java -jar log4j-detector-2021.12.22.jar [--verbose] [--json] [--stdin] [--exclude=X] [paths to scan...]

  --json       - Output STDOUT results in JSON.  (Errors/warning still emitted to STDERR)
  --stdin      - Read STDIN for paths to explore (one path per line)
  --exclude=X  - Where X is a JSON list containing full paths to exclude. Must be valid JSON.

                 Example: --exclude='["/dev", "/media", "Z:\TEMP"]'

Exit codes:  0 = No vulnerable Log4J versions found.
             1 = At least one legacy Log4J 1.x version found.
             2 = At least one vulnerable Log4J version found.

About - MergeBase log4j detector (version 2021.12.22)
Docs  - https://github.com/mergebase/log4j-detector 
(C) Copyright 2021 Mergebase Software Inc. Licensed to you via GPLv3.

示例

java -jar log4j-detector-2021.12.22.jar [path-to-scan] > hits.txt

更多示例

java -jar log4j-detector-2021.12.22.jar ./samples 

-- github.com/mergebase/log4j-detector v2021.12.22 (by mergebase.com) analyzing paths (could take a while).
-- Note: specify the '--verbose' flag to have every file examined printed to STDERR.
/opt/mergebase/log4j-detector/samples/clt-1.0-SNAPSHOT.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
/opt/mergebase/log4j-detector/samples/infinispan-embedded-query-8.2.12.Final.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
/opt/mergebase/log4j-detector/samples/log4j-1.1.3.jar contains Log4J-1.x   <= 1.2.17 _OLD_
/opt/mergebase/log4j-detector/samples/log4j-1.2.13.jar contains Log4J-1.x   <= 1.2.17 _OLD_
/opt/mergebase/log4j-detector/samples/log4j-1.2.17.jar contains Log4J-1.x   <= 1.2.17 _OLD_
/opt/mergebase/log4j-detector/samples/log4j-core-2.0-beta2.jar contains Log4J-2.x   <= 2.0-beta8 _POTENTIALLY_SAFE_ (or did you already remove JndiLookup.class?) 
/opt/mergebase/log4j-detector/samples/log4j-core-2.0-beta9.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.0.2.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.0.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.10.0.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.12.1.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.12.2.jar contains Log4J-2.x   == 2.12.2 _OKAY_
/opt/mergebase/log4j-detector/samples/log4j-core-2.12.3.jar contains Log4J-2.x   >= 2.12.3 _SAFE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.14.1.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.15.0.jar contains Log4J-2.x   == 2.15.0 _OKAY_
/opt/mergebase/log4j-detector/samples/log4j-core-2.16.0.jar contains Log4J-2.x   == 2.16.0 _OKAY_
/opt/mergebase/log4j-detector/samples/log4j-core-2.17.0.jar contains Log4J-2.x   >= 2.17.0 _SAFE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.3.1.jar contains Log4J-2.x   == 2.3.1 _SAFE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.4.1.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
/opt/mergebase/log4j-detector/samples/log4j-core-2.9.1.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_

扫描结果

Log4-detector 会将 log4j-core 版本 2.3.1、2.12.3 和 2.17.0 报告为 _SAFE_ ,将2.12.2、2.15.0和 2.16.0 报告为_OKAY_,将所有其他版本 报告为 _VULNERABLE_,将旧的log4j-1.x版本报告为 _OLD_

可以正确检测可执行 spring-boot jars/wars 中的 log4j、混合到 uber jars 中的依赖项、shaded jars,甚至是未压缩的jar 文件(又名*.class)。

  • _VULNERABLE_ -> 需要升级或删除此文件。
  • _OKAY_ -> 仅针对 Log4J 版本 2.12.2、2.15.0 和 2.16.0 报告此问题,建议升级到 2.17.0。
  • _SAFE_ -> 目前仅针对 Log4J 版本 2.3.1、2.12.3 和 2.17.0(及更高版本)报告此问题。
  • _OLD_ -> 可以免受 CVE-2021-44228 的影响,但应该计划升级,因为 Log4J 1.2.x 已经停产 7 年并且有几个已知的漏洞。
  • _POTENTIALLY_SAFE_ -> “JndiLookup.class”文件不存在,要么是因为您的 Log4J 版本很旧(2.0-beta9 之前),要么因为有人已经删除了这个文件。如果是这种情况,请确保是团队或公司的成员删除“JndiLookup.class”,因为攻击者会自己删除此文件,以防止其他竞争攻击者获得对受感染系统的访问权限。
  • 一 前言 在云原生时代,有大量的节点问题可能会影响节点上运行的 pod,例如: 基础设施守护进程问题:ntp 服务关闭; 硬件问题:CPU、内存或磁盘损坏; 内核问题:内核死锁、文件系统损坏; 容器运行时问题:无响应的运行时守护进程; 目前,这些问题对于集群管理堆栈中的上游层来说是不可见的,因此 Kubernetes 将继续将 Pod 调度到坏节点。 为了解决这个问题,我们引入了新的守护进程节点问

  • 本文基于kubernetes 1.5.2版本编写 node经常会遇到以下问题: 硬件问题: cpu 内存 磁盘 内核问题: 内核死锁, 文件系统损坏 容器问题: 守护进程无响应 K8S集群管理对node的健康状态是无法感知的,pod依旧会调度到有问题的node上,通过DaemonSet部署node-problem-detector,向apiserver上报node的状态信息,使node的健康状态

  • Log4shell是开放源代码项目Apache Logging Service的子项目log4j在shell下的实现,用于为shell程序提供日志功能,以便开发者对目标程序进行调试和审计。虽然shell可以方便的操作文件,但通过成熟的日志框架更方便我们对日志的记录与处理。 要安装log4shell,必须先安装log4cxx,因为log4shell是基于log4cxx实现的,关于log4cxx的安装

  • 切换左侧菜单展示效果时,右侧内容会对应宽度,但此时的echarts不能执行自适应效果。切换菜单展示效果不能触发window.onresize 可以用element-resize-detector element-resize-detector注意事项 如果元素具有position:static 将更改为position:relative。因此,将应用任何无意的top/right/bottom/le

  • 当视图中只有一个echarts时候,使用element-resize-detector监听父级元素大小改变时候,echarts使用自身的resize()方法是可以实现图表大小重绘的,但是当在网页中添加了多个echarts,并且class类名都一样,发现element-resize-detector只能实现第一个echarts的图表重绘,尝试了一天找了各种方法,最后还是this.$el好使,可能不是

  • 1.下载 导入npm install element-resize-detector 2.也可以在vue中导入 monted(){ var elementResizeDetectorMaker = require("element-resize-detector");//导入 // 创建实例 var erd = elementResizeDetectorMaker(); // 创

 相关资料
  • 漏洞扫描器是一种能够自动在计算机、信息系统、网络及应用软件中寻找和发现安全弱点的程序。它通过网络对目标系统进行探测,向目标系统发生数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举目标系统上存在的安全漏洞。漏洞扫描是保证系统和网络安全必不可少的手段,面对互联网入侵,如果用户能够根据具体的应用环境,尽可能早的通过网络扫描来发现安全漏洞,并及时采取适当的处理措施进行修补,就可以有效地阻止入侵事件的

  • 扫描有漏洞的车辆 为了找到有漏洞的车辆,你只需要在IP地址21.0.0.0/8 和 25.0.0.0/8 上扫描Sprint设备的端口6667。任何有响应的设备就是有漏洞的Uconect系统(或一个IRC服务器)。为了确定这一点,你可以尝试Telnet登陆这台设备并查找错误字符串“Unknown command”。 图-扫描设置 如果你想的话,接下来你可以与D-Bus服务交互,从而执行上述的任何操

  • 是否有一个推荐的库来修复与org.apache.commons.beanutils.populate(bean,ParamMap)相关的Bean操纵漏洞?我试图编写一些自定义方法来验证参数映射,但这并没有解决问题。 问候桑杰

  • 大家好,我的程序员们。 我有一些代码,spring工具套件编辑器的反应也不一样,也许你们一些聪明人知道为什么。 有人能告诉我为什么这是不可能的吗: 但这是!? 第一行代码给了我一个警告“Resource leak:unassigned closeable value is never close”,正如您所看到的,我在try/catch中使用了一个finally,如果对象不为空,它应该总是关闭对象

  • 选了个课题:大概是开发一个web系统,系统功能是使用分布式爬虫(这里需要用Hadoop)去爬取主机信息,包括开放的端口、存在的漏洞有哪些,什么xss呀,sql注入什么的,再添加一些用户管理扫描出来的漏洞,并且将漏洞信息可视化出来,需要用Java实现,分布式爬虫可以使用nutch框架。 问题是:完全没思路,web系统开发出来没问题,但是怎么结合nutch框架去实现爬虫,又怎么结合上Hadoop,以及

  • 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 任意密码找回 这是补天平台上的一个案例: http://www.118114.cn/reg.jsp 首先注册一个账号,然后找回。 我们收到的验证码是六位数。如果网站没有设置频率限制,或者最大尝试次数限制的话,那我们自然就会想到可以爆破它。 然后抓提交手机验证码的封包,我们可以看到没有任何图片验证码: 发送到 Burp 的 I

  • 我有一个非常旧的Solr版本,我一直在试图看看它是否受到每个人都很害怕的Log4Shell漏洞的影响(CVE-2021-44228)。 CVE似乎只适用于更高版本,但一位同事不买账,所以我试图找出真相。

  • Checkmarx扫描仪扫描“反射XSS所有客户端”。如何在JavaRESTAPI中解决这个问题? 本地运行了REST API服务的扫描。