Log4j 漏洞修复检测 附检测工具


作者:SRE运维博客
博客地址:https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/211213210004/
相关话题:https://www.cnsre.cn/tags/Log4j/


近日的Log4j2,可是非常的火啊,我也是加班加点把补丁给打上了次安心。Apache Log4j2存在远程代码执行漏洞,经验证,该漏洞允许攻击者在目标服务器上执行任意代码,可导致服务器被黑客控制。由于Apache Log4j 2应用较为广泛,建议使用该组件的用户尽快采取安全措施。

影响范围

漏洞影响版本

2.0 <= Apache Log4j 2 <= log4j-2.15.0-rc1

漏洞描述

Apache Log4j 2是一个基于Java的日志记录工具,是对 Log4j 的升级。近日安恒信息应急响应中心监测到Apache Log4j 2存在远程代码执行漏洞,攻击者可通过构造恶意请求利用该漏洞实现在目标服务器上执行任意代码

漏洞修复

由于Log4j2 作为日志记录基础第三方库,被大量Java框架及应用使用,只要用到 Log4j2 进行日志输出且日志内容能被攻击者部分可控,即可能会受到漏洞攻击影响。因此,该漏洞也同时影响全球大量通用应用及组件,例如 :
Apache Struts2、Apache Solr、Apache Druid、Apache Flink、Apache Flume、Apache dubbo、Apache Kafka、spring-boot-starter-log4j2、ElasticSearch、Redis、Logstash等
建议及时检查并升级所有使用了 Log4j 组件的系统或应用。

紧急: 目前漏洞POC已被公开,官方已发布安全版本,建议使用该组件的用户尽快采取安全措施。

临时性缓解措施:

1、在 jvm 参数中添加 -Dlog4j2.formatMsgNoLookups=true
2、系统环境变量中将LOG4J_FORMAT_MSG_NO_LOOKUPS 设置为 true
3、创建 log4j2.component.properties 文件文件增加配置 log4j2.formatMsgNoLookups=true
4、若相关用户暂时无法进行升级操作,也可通过禁止Log4j中SocketServer类所启用的socket端对公网开放来进行防护
5、禁止安装log4j的服务器访问外网,并在边界对dnslog相关域名访问进行检测。部分公共dnslog平台如下

ceye.io
dnslog.link
dnslog.cn
dnslog.io
tu4.org
awvsscan119.autoverify.cn
burpcollaborator.net
s0x.cn

彻底修复漏洞:

建议您在升级前做好数据备份工作,避免出现意外
研发代码修复:升级到官方提供的 log4j-2.15.0-rc2 版本
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.1-rc1

漏洞检测工具

检测工具下载地址 https://pan.cnsre.cn/d/Package/Linux/360log4j2.zip

漏洞检测

浏览器被动式扫描检测方案

  • 原理
    工程师可设置该代理通过浏览器被动扫描目标,查看 DNS Log 检测是否存在 log4j 漏洞。
  • 使用方法
    1.浏览器或操作系统配置 HTTP/HTTPS 代理:219.141.219.69:18080

2.浏览器或操作系统将下列证书添加到信任名单:附件sqli-hunter.pem

3.使用浏览器正常进行目标浏览,当结束扫描后,在http://219.141.219.69:18000/ 下检查是否存在以目标域名为名的 txt 文件,如 http://219.141.219.69/360.cn.txt

4.若存在,则说明目标网站存在漏洞,细节如下:

可看到完整 HTTP 请求细节,params参数为存在 log4j 注入漏洞的参数

  • 使用限制
  1. 主机外网 IP 无法访问 360 IP,请不要使用该代理扫描 360
  2. 目前只能检测 POST body 中的参数
  3. 不允许任何恶意攻击

本地扫描常规检测方案

  1. 下载本地检测工具

  2. 扫描源码:./log4j-discoverer --src"源码目录"

  3. 扫描jar包:./log4j-discoverer--jar "jar包文件"

  4. 扫描系统进程:./log4j-discoverer –scan

Log4j漏洞补丁方案

如果检测到相关漏洞的应用或组件,建议立即对该应用或组件进行打补丁修复, Log4j补丁方案如下:

  • 工具原理

Hook前受到log4j jndi注入攻击

执行 java -jar PatchLog4j.jar

打入补丁后 log4j不再处理JNDI逻辑直接将JNDI字符串输出

工具来源【360政企安服高攻实验室】


作者:SRE运维博客
博客地址:https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/211213210004/
相关话题:https://www.cnsre.cn/tags/Log4j/


相关文章

可以认为OpenFeign是Feign的增强版,不同的是OpenFeign支持S...
为进一步规范小程序交易生态、提升用户购物体验、满足用户在...
云原生之使用Docker部署Dashdot服务器仪表盘
本文主要描述TensorFlow之回归模型的基本原理
1.漏洞描述Apache Druid 是一个集时间序列数据库、数据仓库和...
内部类(当作类中的一个普通成员变量,只不过此成员变量是cl...