AT&T Alien Labs 觀察到名為Moobot的Mirai僵尸網絡變種,用于掃描 Tenda 路由器中已知但隱蔽的漏洞,引起了內部遙測相當大的峰值,進一步調查發現了惡意軟件托管域Cyberium,并在其中發現了數個Mirai變種,如 Moobot 和 Satori。
分析
3 月底,AT&T Alien Labs 觀察到 Tenda 遠程代碼執行 (RCE) 漏洞 CVE-2020-10987 的利用嘗試激增。該漏洞不常被網絡掃描器使用,在過去六個月中幾乎沒有檢測到。這個漏洞可以通過請求的 URL 來識別,其中包括“setUsbUnload”和分配給易受攻擊參數“deviceName”的有效負載。此有效負載包含將執行路徑更改為臨時位置、從惡意軟件托管頁面獲取文件、提供執行權限并執行它的指令。
圖 1. BinaryEdge Sensor 檢測漏洞掃描
當時攻擊者對 Tenda 路由器的漏洞掃描只持續了一天,但對其余設備的掃描活動卻持續了數周時間,涉及到的設備漏洞如下:
· 端口 80 和 8080:Axis SSI RCE。
· 端口 34567:DVR掃描器嘗試默認憑證的Sofia主視頻應用程序。
· 端口 37215:華為家用路由器RCE漏洞 (CVE-2017-17215)。
· 端口 52869:Realtek SDK Miniigd UPnP SOAP命令執行(CVE-2014-8361)。
所有惡意軟件變體都來自相同的惡意軟件托管頁面dns.cyberium[.]cc,在調查此域時,發現了多個攻擊活動,最早的可以追溯到 2020 年 5 月。大多數攻擊持續了一周的時間,每個活動使用Cyberium域下的不同子域頁面,攻擊終止后,相關的子域就無法解析。
圖 2. Cyberium[.]cc 的熱力圖
破壞設備后,惡意代碼會連接到Cyberium域來檢索用作下載器的bash腳本,這個腳本非常類似于之前看到的Mirai變種的下載器,旨在下載惡意軟件的后期階段,如下圖所示,腳本下載文件名列表(與不同的 CPU 架構相關聯),執行每個文件名,通過crontab 實現持久化,最后刪除自身。
圖 3. Tenda 下載程序腳本
在該域可用期間,至少發現了三種不同的 Mirai變種:Moobot、Satori/Fbot 以及與這些僵尸網絡無關的其他樣本。該域的特點之一是它在 Mirai 變體之間的來回切換,即使在相同的文件名下也是如此,同一 URL 可能在托管 Satori的一周后托管 Moobot。
Moobot
Moobot僵尸網絡于2020年4月首次被發現,于同年10出現了新變種,該變種主要追逐暴露的和易受攻擊的 Dockers API,以將它們納入DDoS 僵尸網絡中。
與其他Mirai變體不同的是,從Moobot獲得的樣本是加密的,試圖逃避基于字符串的檢測、對所用漏洞的靜態分析,或入侵后的活動。Moobot中列舉了要避免的硬編碼IP地址列表,如:國防部、IANA IP、通用電氣等。
圖 4. Moobot 的 IP 掃描限制
惡意軟件編寫者似乎非常了解他們的目標受害者是誰,因此惡意軟件將嘗試通過使用 prctl 來隱藏其進程名稱。隱藏進程名稱是“/var/Sofia”,為目標設備上的視頻應用程序的名稱。
圖 5. Moobot 進程隱藏處
成功感染后,payload 嘗試在端口 12028 上查詢硬編碼的 C2 以獲取 C2 列表。當前Cyberium 域處于關閉狀態,無法分析這些通信。
Satori/Fbot
Satori 僵尸網絡,也稱為 Fbot,是另一種基于 Mirai 變種的僵尸網絡。Moobot 和 Satori 樣本之間的相似之處很多,因為它們都來自相同的 Mirai 源代碼,比如下載方式、對物聯網設備的漏洞掃描、執行后打印的字符串、隱藏在 (/var/Sofia) 后面的進程名稱等。在觀察到的Satori樣本中,代碼沒有加密,無需任何額外操作就可以讀取更多字符串——不像 Moobot 樣本被編碼以減少純文本中的字符串數量。
其他樣本
這些樣本似乎是 Moobot 和 Satori 樣本之間的混合,它們的特征是隨機組合的,大多數看起來像沒有編碼的 Moobot 樣本或沒有硬編碼域的 Satori。
推薦措施
· 保持所有 IoT 設備更新,并特別關注解決提到的設備或 CVE。
· 監控已知傳入漏洞的網絡流量。
· 監控到 Cyberium 或 ripper 域的出口和入口網絡流量。
· 定期執行進程審計和記賬,尋找可能隱藏僵尸網絡的已知惡意進程名稱。