Mirai 殭屍網路可被用來透過漏洞 CVE-2020-5902攻擊物聯網裝置

自從兩個F5 BIG-IP漏洞在7月第一周被披露之後,趨勢科技就持續地監視並分析這些漏洞及相關活動來進一步評估其嚴重性。根據對CVE-2020-5902所發布的解決方法,我們發現一個物聯網(IoT)Mirai殭屍網路下載器(趨勢科技偵測為Trojan.SH.MIRAI.BOI)可以被加入新惡意軟體來掃描找出對外暴露的Big-IP裝置,進而入侵並進行惡意行為。

我們發現的樣本還會去攻擊常見裝置及軟體最近被披露而可能尚未修補的漏洞。建議系統管理員和相關裝置使用者要立即修補自己的工具。

行為

如先前所報導,此安全漏洞是針對BIG-IP流量管理用戶介面(TMUI)的遠端程式碼執行(RCE)漏洞。分析已發布的資訊之後,我們從Apache httpd的緩解規則裡注意到一種可能利用此漏洞的做法是在HTTP GET請求的URI裡包含分號。分號在Linux命令中代表已完成,這也是觸發漏洞所需要的字元。為了進一步分析,我們用下列Yara規則來測試IoT殭屍網路作者是否可以在現有或新惡意軟體加入掃描功能:

圖1. 檢查惡意軟體用的Yara規則

儘管測試用規則看起來很簡單,但可以讓我們檢查大量的惡意軟體、Python或Ruby概念證明(PoC)程式碼。從7月1日的披露日開始,我們在7月11日發現了第一個編譯成MIPS架構的ELF格式樣本並取得兩個地址:hxxp[:]//79[.]124[.]8[.]24/bins/(標識為感染載體)和hxxp[:]//78[.]142[.]18[.]20(標識為命令和控制(C&C)伺服器)。像Mirai這類IoT惡意軟體的一種常見模式是會在網站內託管不同副檔名的檔案用來針對不同的處理器架構。檢查主機後,我們發現了下列檔案:

雜湊值檔案
acb930a41abdc4b055e2e3806aad85068be8d85e0e0610be35e784bfd7cf5b0efetch.sh
037859323285e0bbbc054f43b642c48f2826924149cb1c494cbbf1fc8707f942sora.arm5
55c4675a84c1ee40e67209dfde25a5d1c1979454ec2120047026d94f64d57744sora.arm6
03254e6240c35f7d787ca5175ffc36818185e62bdfc4d88d5b342451a747156dsora.arm7
204cbad52dde24ab3df41c58021d8039910bf7ea07645e70780c2dbd66f7e90bsora.m68k
3f8e65988b8e2909f0ea5605f655348efb87565566808c29d136001239b7dfa9sora.mips
15b2ee07246684f93b996b41578ff32332f4f2a60ef3626df9dc740405e45751sora.mpsl
0ca27c002e3f905dddf9083c9b2f8b3c0ba8fb0976c6a06180f623c6acc6d8casora.ppc
ecc1e3f8332de94d830ed97cd07867b90a405bc9cc1b8deccec51badb4a2707csora.sh4
e71aca778ea1753973b23e6aa29d1445f93dc15e531c706b6165502d6cf0bfa4sora.x86

表1. C&C託管的檔案

進一步檢視IP地址後,我們發現它自6月開始就被用來部署IoT惡意軟體,包括了其他Mirai變種。

SORA已經被標識為Mirai變種,可以用來進行暴力破解攻擊及利用其他漏洞進行RCE和對裝置進行未經授權的控制和管理。此外,fetch.sh是具備以下內容的shell腳本:

A screenshot of a computer

Description automatically generated
圖2. fetch.sh腳本

fetch.sh會連到http[:]//79[.]124[.]8[.]24/bins/sora.{架構}下載並執行對應的sysctl惡意檔案。fetch.sh同時還會建立cron排程來自動執行下載的惡意檔案。

A picture containing orange, sitting, food, people

Description automatically generated
圖3. 建立cron排程

這個腳本會用iptables將所有送到常用TCP端口(如Telnet、SSH及裝置網頁主控台所用的HTTP端口)的封包丟棄。這可能有兩種用意:

  • 不讓其他惡意軟體能夠連到受感染裝置的對外服務
  • 讓裝置所有者無法連上管理介面

這也讓人想到我們最近的研究報告中提到控制目前連接的物聯網裝置。

分析殭屍網路的x86樣本後,我們發現它會攻擊有漏洞的BIG-IP裝置,向受害端口443/TCP(HTTPS)發送GET請求:

A screenshot of a social media post

Description automatically generated
圖4. GET請求會攻擊漏洞CVE-2020-5902

想到此漏洞的嚴重性,只要在對tmshCmd.jsp的GET請求裡加入帶有正確ID路徑的命令參數可以在受感染裝置上遠端執行命令。

其他遭受攻擊的漏洞

進一步檢查這個變種後,我們還發現它會對隨機生成的目標嘗試攻擊最近披露的漏洞。底下是此變種所使用漏洞攻擊的完整列表:

裝置漏洞CVE編號
Apache Kylin 3.0.1命令注入漏洞CVE-2020-1956
Aruba ClearPass Policy Manager 6.7.0未經授權遠端命令執行CVE-2020-7115
Big-IP 15.0.0 < 15.1.0.3 / 14.1.0 < 14.1.2.5 / 13.1.0 < 13.1.3.3 / 12.1.0 < 12.1.5.1 / 11.6.1 < 11.6.5.1TMUI遠端程式碼執行CVE-2020-5902
Comtrend VR-3033命令注入CVE-2020-10173  
HP LinuxKI 6.01遠端命令注入CVE-2020-7209  
Tenda AC15 AC1900遠端程式碼執行CVE-2020-10987
Nexus Repository Manger 3遠端程式碼執行CVE-2020–10204
Netlink GPON Router 1.0.11遠端程式碼執行N/A
Netgear R7000 Router遠端程式碼執行N/A
Sickbeard 0.1遠端命令注入N/A

表2. 其他樣本所用的漏洞攻擊碼

結論和安全建議

F5 Networks滿足許多企業的網路設備需求,BIG-IP更是政府和企業最常用的產品之一,特別是現在突然得在家工作的情況下。這個漏洞影響了大量的產品及版本,包括漏洞披露時最新發表的產品和版本。CVE-2020-5902在通用漏洞評分系統(CVSS)v3.0漏洞等級中評級為10分,而且相當容易被濫用並進行自動化攻擊。而且它不需要帳密或進階的程式能力就可以利用。

不過F5已經發表了內容詳盡的緩解步驟來封鎖包含分號的請求。此外,雖然在預設情況下管理介面不會對外暴露,但我們的Shodan掃描顯示線上約有7,000個暴露的主機(只算進聆聽在端口443和8443的主機)。這裡的“暴露”指的是可經由網際網路存取的主機,並不確定是否有漏洞。

意識到此漏洞的嚴重性,美國網戰司令部在披露後三天發表了一則推文,建議立即修補該漏洞。考慮到該漏洞的披露日期及開發漏洞攻擊碼最多需要花費的時間(10天),駭客們應該正在密切關注最新的披露和報告來製作自己的漏洞攻擊碼。儘管有些只是在部落格文章裡討論而沒有公開漏洞攻擊碼,不過這些駭客知道了兩件事:首先,廠商尚未提出相應的修補程式;其次,系統管理員在這段時間內並未下載並部署發布的修補程式。

系統管理員和資安團隊可以透過下列的最佳實作來保護IoT裝置抵禦這些類型的威脅:

  • 持續關注廠商發布的版本來確保IoT裝置運行最新版本的韌體。
  • 使用虛擬專用網路(VPN)來防止管理介面直接暴露在網際網路上。
  • 利用網路分段來限制感染散播並且設定好裝置的安全設定。
  • 確保部署了具備良好的網頁應用程式防火牆(WAF)的網路流量監控及偵測系統。這樣能夠監控基準線和異常使用範圍來保護可在線存取的管理介面。
  • 安裝多層次保護系統來偵測、封鎖和防止如暴力破解攻擊之類的威脅,這些威脅能夠濫用此類安全漏洞來進行入侵。

連網設備還可以透過趨勢科技智慧網安管家 Trend Micro Home Network Security (HNS)

這樣的安全解決方案來獲得防護,這些軟體能夠檢查路由器與所有連接設備間的網路流量,幫助使用者評估漏洞狀況。

入侵指標(IoC

請在此處來查看完整的IoC列表。

@原文出處:Mirai Botnet Exploit Weaponized to Attack IoT Devices via CVE-2020-5902 作者:FernandoMercês(高級威脅研究員)