一文排查Apache Solr远程代码执行漏洞CVE-2019-12409

  • A+
所属分类:安全文章

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


背景介绍

Solr是一个采用Java5开发、基于Lucene的全文高性能搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面。Java ManagementExtensions(JMX- 即Java管理扩展)是一种Java技术,为管理和监视应用程序、系统对象、设备(如打印机)和面向服务的网络提供相应的工具。其实很多人都用过Solr,说出来很多人不信,但事实如此,每当你想买自己喜欢的东东时,你可能会打开某宝或者某东,像这样一搜,就能搜到很多东西,你知道你看到的这些数据都来自哪儿吗?不错,就是solr提供的。solr本身也可以看成数据库,(no sql类型),但它比数据库搜索速度更快,所以在项目中一般把搜索的部分交给solr,就像在某东首页所看到的商品信息,并不是来自数据库,而是来源于sorl的索引库。


一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


漏 洞 说 明


当地时间2019年11月18日,Apache Solr官方发布一则官方通告称部分ubuntu版本的Solr存在一个远程代码执行漏洞(CVE-2019-12409)。该漏洞源于默认配置文件solr.in.sh中的ENABLE_REMOTE_JMX_OPTS配置选项存在安全风险,JMX 作为 Java的一种Bean管理机制,如果JMX服务端口暴露,那么远程攻击者可以让该服务器远程加载恶意的Bean文件,随着Bean的滥用导致远程代码执行。截至2020年7月23日Apache Solr官方尚未发布补丁修复该漏洞,可能是因为对部分linux系统下的solr有影响,对windows系统不受影响,对此用户可根据提供的缓解措施,参照本文的解决方案来排查受影响的版本。
  • Apache Solr 8.2.0  for Ubuntu;
  • Apache Solr 8.1.1  for ubuntu。


环 境 搭 建


  • 操作系统:Ubuntu 18.04(虚拟机)192.168.113.135;
  • 中间件版本:Solr 8.2.0;
  • 工具:Metasploit。


 靶 场 搭 建 过 程


下载solr8.2.0版本 http://archive.apache.org/dist/lucene/solr/8.2.0/。

 

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


进入solr-8.2.0/bin目录下,查看solr.in.sh,发现ENABLE_REMOTE_JMX_OPTS="true",该版本存在漏洞。

 

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


 在bin目录下启动solr服务  ./solr -e dih -force。

 

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


使用nmap可以看到18983端口上的JMX服务开启中。

 

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


访问一下192.168.113.135:8983/solr/#/,至此环境搭建成功。


一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


靶 场 以 及 漏 洞 利 用 过 程


Java 环境如下。

 

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


利用msf 上exploit/multi/misc/java_jmx_server远程代码执行模块进行漏洞利用。

注意点:一定要保证此漏洞是存在的,在前面的solr.in.sh文件中配置。

 

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


注意点:在配置文件中solr.in.sh,一定要打开18983 端口,方才成功连接。

 

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


成功接收到shell。


防 范 及 修 复 建 议


  • 配置文件solr.in.sh的配置选项ENABLE_REMOTE_JMX_OPTS值改为”false”,然后重启;
  • 升级Solr版本;
  • 同时,用户应确认在Solr的管理员界面中的“Java Properties”选项中不包含 “com.sun.management.jmxremote*”的相关属性信息;
  • 保证 Solr 集群只能被可信任端点访问;
  • 启用 Solr JMX 服务身份验证;
  • 关闭 Solr JMX 服务。


参考资源

[1]http://blog.nsfocus.net/cve-2019-12409/
[2]https://github.com/mogwailabs/mjet
[3]https://www.pianshen.com/article/2318951168/



往期精选

1

原创 | 嵌入式系统网络安全的过去、现在和未来

2

风险与挑战并存,航空网络安全战略已然“起航”

3

主动免疫可信计算技术支撑等级保护2.0建设与发展

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409


点击“在看”鼓励一下吧

一文排查Apache Solr远程代码执行漏洞CVE-2019-12409

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: