log4j漏洞如何利用:解决方案ApacheLog4j2
log4j漏洞如何利用:解决方案ApacheLog4j2在野利用已公开漏洞EXP已公开漏洞细节
近日,全球广泛应用的组件Apache Log4j2被曝出一个在野高危漏洞,攻击者仅需要一段代码就可以控制受害者的服务器。该漏洞CVSS评分达到了满分10分,众多组件和大型应用均受影响,几乎覆盖所有行业,危害程度堪比2017年的“永恒之蓝”漏洞。圈内人把这个漏洞形容成“史诗级”“核弹级”漏洞,可以说相当贴切。
Apache Log4j2 是 Apache 的一个开源项目,通过定义每一条日志信息的级别,能够更加细致地控制日志生成过程。经过分析,Log4j2中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
漏洞PoC |
已公开 |
漏洞EXP |
已公开 |
漏洞细节 |
已公开 |
在野利用 |
存在 |
一、事件概述:
12月9日,极限无人助手平台监测到Apache Log4j2存在任意代码执行漏洞,由于Log4j2某些功能存在递归解析功能,攻击者可直接构成恶意请求,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
12月10日,极限网络发现Apache Log4j 2.15.0-rc1 版本仅修复LDAP和增加了host白名单,可以被绕过利用,仍然具有安全隐患。官方已经发布了Apache Log4j2.15.0-rc2版本进行修复,增加了对被绕过参数的异常处理。因该组件使用极为广泛,利用门槛很低,危害极大,建议所有用户采取缓解措施。
影响版本:Apache Log4j 2.x<2.15.0-rc2;
影响范围:含有该漏洞的Log4j2影响到超过6000个中间件或应用,目前已知的可能受影响的应用及组件包括但不限于如下清单中所列出的:
- Spring-Boot-strater-log4j2
- Apache Struts2
- Apache Solr
- Apache Flink
- Apache Druid
- ElasticSearch
- Flume
- Dubbo
- Redis
- Logstash
- Kafka
二、缓解措施(部分版本可能存在不支持的情况):
1、java应用程序启动时,在命令中添加“-Dlog4j2.formatMsgNoLookups=true”参数能够有效阻止部分恶意解析。
由于未添加jvm启动参数,导致被成功执行应用程序。
2、在项目文件中创建“log4j2.component.properties”文件,增加配置"formatMsgNoLookups=true",效果与第一条相同。
3、在WAF等可阻断安全设备中添加拦截规则,关键字为“jndi:ldap://”、“jndi:rmi”。
4、流量监测设备监控是否有相关 dnslog 域名的请求以及数据包中有“jndi:ldap://”、“jndi:rmi”特征的数据包。部分公共dnslog平台如下:
ceye.io
dnslog.link
dnslog.cn
dnslog.io
tu4.org
burpcollaborator.net
s0x.cn
5、升级JDK至11.0.1、8u191、7u201、6u211及以上的高版本。
6、升级至Apache官方安全版本Log4j2.15.0-rc2。下载地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
三、极限安全解决方案:
- 查找受影响资产
(1)对于正在使用“极限监测及漏洞扫描机器人”的用户,您可以联系我们服务中心同事对您的资产进行检查,我们会将最终结果反馈给您。
(2)对于非极限服务用户,您可以扫描下方二维码联系极限客服,我们将提供免费试用的“极限监测及漏洞扫描机器人”,帮您快速定位受影响资产。
欢迎➕入极限社区,更多技术大佬在线答疑解惑!