Apache Solr 远程代码执行漏洞(CVE-2019-12409)
简介
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。是apache的顶级开源项目,使用java开发 ,基于lucene的全文检索服务器。
影响范围
Solr 8.1.1
Solr 8.2.0
漏洞成因
Java ManagementExtensions(JMX)是一种Java技术,为管理和监视应用程序、系统对象、设备(如打印机)和面向服务的网络提供相应的工具。JMX 作为 Java的一种Bean管理机制,如果JMX服务端口暴露,那么远程攻击者可以让该服务器远程加载恶意的Bean文件,随着Bean的滥用导致远程代码执行。
修复方法
1、保证 Solr 集群只能被可信任端点访问;
2、启用 Solr JMX 服务身份验证;
3、关闭 Solr JMX 服务。
环境搭建
1、测试环境
靶机:
Linux kali 4.19.0-kali1-amd64
IP:192.168.157.138
攻击机:
Linux kali
IP:192.168.157.133
2、下载最新的Solr
3、安装slor 8.2.0版本到靶机,进入到solr-8.2.0/bin目录下
~/solr-8.2.0/bin# ./solr -e dih -force
安装成功后,启动服务,可正常访问网站,且solr版本为8.2.0
漏洞复现
1、进入到solr-8.2.0/bin目录下,查看solr.in.sh ,发现ENABLE_REMOTE_JMX_OPTS="true",该版本存在漏洞
2、利用nmap扫描端口,确认18983端口开放
nmap -p 18983 -Pn -T5 -n -sC -sV 10.10.20.166 -sC -sV
3、利用msf 上exploit/multi/misc/java_jmx_server远程代码执行模块进行漏洞利用,成功执行代码,详情如下图。