漏洞始末
【漏洞描述】
Apache Log4j 2是一款開(kāi)源的Java的日志記錄工具其屏,大量的業(yè)務(wù)框架都使用了該組件断凶。
近日, Apache Log4j 的遠(yuǎn)程代碼執(zhí)行最新漏洞細(xì)節(jié)被公開(kāi)前酿,攻擊者可通過(guò)構(gòu)造惡意請(qǐng)求利用該漏洞實(shí)現(xiàn)在目標(biāo)服務(wù)器上執(zhí)行任意代碼末盔。可導(dǎo)致服務(wù)器被黑客控制店印,從而進(jìn)行頁(yè)面篡改隶糕、數(shù)據(jù)竊取瓷产、挖礦、勒索等行為枚驻。建議使用該組件的用戶第一時(shí)間啟動(dòng)應(yīng)急響應(yīng)進(jìn)行修復(fù)濒旦。
【漏洞等級(jí)】:緊急
此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,該功能允許開(kāi)發(fā)者通過(guò)一些協(xié)議去讀取相應(yīng)環(huán)境中的配置再登。但在實(shí)現(xiàn)的過(guò)程中尔邓,并未對(duì)輸入進(jìn)行嚴(yán)格的判斷晾剖,從而造成漏洞的發(fā)生。
【影響范圍】:Java類(lèi)產(chǎn)品:Apache Log4j 2.x < 2.15.0-rc2
可能的受影響應(yīng)用及組件(包括但不限于)如下:
Apache Solr
Apache Flink
Apache Druid
Apache Struts2
srping-boot-strater-log4j2
ElasticSearch
flume
dubbo
Redis
logstash
kafka
更多組件可參考如下鏈接:
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/usages?p=1
不受影響版本:Apache log4j-2.15.0-rc2
【修復(fù)建議】
(1) 修改jvm參數(shù):-Dlog4j2.formatMsgNoLookups=true
(2) 修改配置:在應(yīng)用 classpath下添加 log4j2.component.properties 配置文件并添加內(nèi)容 log4j2.formatMsgNoLookups=True
(3) 將系統(tǒng)環(huán)境變量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 設(shè)置為 true
(4)禁止使用 log4j 服務(wù)器外連铃拇,升級(jí) idk 11.0.1 8u191 7u201 6u211 或更高版本钞瀑。
(5)升級(jí)至 log4j-2.15.0-rc2以后的版本
目前漏洞POC已被公開(kāi),官方已發(fā)布安全版本慷荔,建議使用Java開(kāi)發(fā)語(yǔ)言的系統(tǒng)盡快確認(rèn)是否使用Apache Log4j 2插件。禁止使用log4j服務(wù)器外連缠俺,升級(jí)idk 11.0.1 8u191 7u201 6u211或更高版本显晶。
請(qǐng)盡快升級(jí)Apache Log4j2所有相關(guān)應(yīng)用到最新的 log4j-2.15.0-rc2 版本,地址:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
漏洞排查(我的應(yīng)用有沒(méi)有這個(gè)漏洞壹士?)
應(yīng)用文件排查:
查看pom.xml有沒(méi)有l(wèi)og4j相關(guān)文件:org.apache.logging.log4j磷雇、org.apache.logging.log4j2
linux:
sudo find / -name "*log4j-*.jar"
windows:
*log4j*.jar
攻擊行為排查
日志排查:
攻擊者在利用前通常采用dnslog方式進(jìn)行掃描、探測(cè)躏救,對(duì)于常見(jiàn)利用方式可通過(guò)應(yīng)用系統(tǒng)報(bào)錯(cuò)日志中的關(guān)鍵字進(jìn)行排查唯笙。
"javax.naming.CommunicationException"
"javax.naming.NamingException: problem generating object using object factory"
"Error looking up JNDI resource"
流量排查:
攻擊者的數(shù)據(jù)包中可能存在:“{jndi:ldap”字樣盒使,推薦使用云WAF或硬件WAF設(shè)備進(jìn)行檢索排查崩掘。
環(huán)境搭建
使用本地環(huán)境
https://github.com/fofapro/vulfocus
通過(guò) docker pull vulfocus/log4j2-rce-2021-12-09:latest 拉取本地環(huán)境運(yùn)行,本地啟動(dòng)命令:docker run -d -P vulfocus/log4j2-rce-2021-12-09:latest
使用靶場(chǎng)環(huán)境
目前 Vulfocus 已經(jīng)集成 Log4j2 環(huán)境少办,可通過(guò)以下鏈接啟動(dòng)環(huán)境測(cè)試:
http://vulfocus.fofa.so/#/dashboard?image_id=3b8f15eb-7bd9-49b2-a69e-541f89c4216c
如何利用苞慢?
利用工具和腳本 Log4j-rce:
https://github.com/Al0sc/Log4j-rce