史诗级Log4j漏洞已引起大规模入侵,猛击查看快速检测技巧

近日, Apache Log4j2 的远程代码执行漏洞细节被公开,该漏洞一旦被攻击者利用会造成严重危害。经过快速分析和确认,该漏洞影响范围极其广泛,危害极其严重,我们建议企业第一时间启动应急响应进行修复。

经验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等众多组件与大型应用均受影响,鉴于此漏洞危害巨大,利用门槛极低,奇安信CERT建议用户尽快参考缓解方案阻止漏洞攻击。

此外,经过我们复现和验证,TDP 基于其自研的通用漏洞检测引擎,已于数月前支持对此次最新漏洞的检测,无需任何更新:

Apache Log4j 任意代码执行漏洞

漏洞名称Apache Log4j 任意代码执行漏洞
漏洞类型代码执行
风险等级紧急
漏洞ID暂无
公开状态已发现
在野利用已发现
漏洞描述Apache Log4j 是 Apache 的一个开源项目,通过定义每一条日志信息的级别,能够更加细致地控制日志生成过程。经过分析,Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
参考链接https://github.com/apache/logging-log4j2

20211210125351878

Apache Log4j2 是一款开源的 Java 日志记录工具,大量的业务框架都使用了该组件。此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。漏洞复现如图所示:

20211210125409453

此次受影响版本如下:

Log4j2版本是否受影响
2.x<=2.14.1

可能的受影响应用包括但不限于如下:

  • Spring-Boot-strater-log4j2
  • Apache Struts2
  • Apache Solr
  • Apache Flink
  • Apache Druid
  • ElasticSearch
  • flume
  • dubbo
  • Redis
  • logstash
  • kafka

公开程度:漏洞细节已公开

利用条件:无权限要求

交互要求:0 click

漏洞危害:高危、远程代码执行

影响范围:Log4j2.x <= 2.14.1

检测及修复方案

1、紧急缓解措施

(1) 修改jvm参数 -Dlog4j2.formatMsgNoLookups=true     

(2) 修改配置log4j2.formatMsgNoLookups=True

(3) 将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true2、检测方案:

(1)由于攻击者在攻击过程中可能使用 DNSLog 进行漏洞探测,建议企业可以通过流量监测设备监控是否有相关 DNSLog 域名的请求,微步在线的 OneDNS 也已经识别主流 DNSLog 域名并支持拦截。

(2)根据目前微步在线对于此类漏洞的研究积累,我们建议企业可以通过监测相关流量或者日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。

3、修复方案:

检查所有使用了 Log4j2 组件的系统,官方修复链接如下:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

时间线

2021.07     微步TDP支持JNDI命令注入漏洞检测

2021.12.09漏洞细节被公开

发表评论