【漏洞预警】Apache Solr由于错误默认配置导致的RCE(CVE-2...

近日,白帽汇安全研究院发现网络上出现针对Apache Solr服务器的远程代码执行漏洞。

solr1.png

该漏洞是在受影响的版本中,默认情况下配置文件solr.in.sh的配置选项ENABLE_REMOTE_JMX_OPTS字段值是“true”,这会启用JMX监视服务并会在公网中监听一个18983的RMI端口,没有任何认证。也就是说在无需身份验证情况下,攻击者结合使用JMX RMI就会造成远程代码攻击。

概况

Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。

目前FOFA系统最新数据(一年内数据)显示全球范围内共有9147个Solr服务对外开放。美国使用数量最多,共有3431个,中国第二,共有1427个,德国第三,共有866个,爱尔兰第四,共有450台,法国第五,共有312个。

全球范围内Solr服务分布情况如下(仅为分布情况,非漏洞影响情况)

solr_jmx.png

中国大陆地区浙江省使用数量最多,共有739个,北京市第二,共有264个,广东省第三,共有63个,江苏省第四,共有41个,上海市第五,共有28个。

solr_china.png

危害等级

严重

漏洞原理

在开放的端口上,利用 javax.management.loading.MLet的getMBeansFromURL 方法来加载一个远端恶意的 MBean,就可以造成远程代码执行了。

漏洞复现

JMX远程连接,需要注意的是,在配置文件solr.in.sh中取消注释SOLR_HOST="ip地址",ip地址是可以远程访问。

如下命令是指:在本地8081端口开放web服务,其中恶意的html文件是MBean内容,内容中有指定下载的jar包。在JMX服务连接到攻击者的Web服务后就可以下载安装MBean了,默认密码为super_secret。

solr_attack.png

在上面命令成功执行后(上面的响应结果),可以借助下面命令执行系统命令。

solr_attack2.png

漏洞影响

适用于Linux的Solr 8.1.1和8.2.0

CVE编号

CVE-2019-12409

修复建议

配置文件solr.in.sh的配置选项ENABLE_REMOTE_JMX_OPTS值改为“false“,然后重启。

该配置文件在docker中的存放位置:/etc/defaults

lcoate.png

参考

[1] https://lucene.apache.org/solr/news.html

[2] https://nvd.nist.gov/vuln/detail/CVE-2019-12409

[3] https://www.mail-archive.com/solr-user@lucene.apache.org/msg148446.html

[4] https://www.n0tr00t.com/2015/04/17/JMX-RMI-Exploit-Demo.html

白帽汇从事信息安全,专注于安全大数据、企业威胁情报。

公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。

为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐