Apache Solr 遠程代碼執行漏洞(CVE-2019-12409)
簡介
Solr是一個獨立的企業級搜索應用服務器,它對外提供類似於Web-service的API接口。是apache的頂級開源項目,使用java開發 ,基於lucene的全文檢索服務器。
影響范圍
Solr 8.1.1
Solr 8.2.0
漏洞成因
Java ManagementExtensions(JMX)是一種Java技術,為管理和監視應用程序、系統對象、設備(如打印機)和面向服務的網絡提供相應的工具。JMX 作為 Java的一種Bean管理機制,如果JMX服務端口暴露,那么遠程攻擊者可以讓該服務器遠程加載惡意的Bean文件,隨着Bean的濫用導致遠程代碼執行。
修復方法
1、保證 Solr 集群只能被可信任端點訪問;
2、啟用 Solr JMX 服務身份驗證;
3、關閉 Solr JMX 服務。
環境搭建
1、測試環境
靶機:
Linux kali 4.19.0-kali1-amd64
IP:192.168.157.138
攻擊機:
Linux kali
IP:192.168.157.133
2、下載最新的Solr
3、安裝slor 8.2.0版本到靶機,進入到solr-8.2.0/bin目錄下
~/solr-8.2.0/bin# ./solr -e dih -force
安裝成功后,啟動服務,可正常訪問網站,且solr版本為8.2.0
漏洞復現
1、進入到solr-8.2.0/bin目錄下,查看solr.in.sh ,發現ENABLE_REMOTE_JMX_OPTS="true",該版本存在漏洞
2、利用nmap掃描端口,確認18983端口開放
nmap -p 18983 -Pn -T5 -n -sC -sV 10.10.20.166 -sC -sV
3、利用msf 上exploit/multi/misc/java_jmx_server遠程代碼執行模塊進行漏洞利用,成功執行代碼,詳情如下圖。