​RobinBot——快速擴張中的新型 DDoS 殭屍網路

概述

2022 年 11 月初,奇安信威脅情報中心威脅監控系統監測到一起未知家族惡意樣本傳播事件。經過我們分析,捕獲的惡意樣本借鑑了 Mirai 和 Gafgyt 家族的惡意程式碼,支持多種自己命名的 DDoS 攻擊方式,可以通過 Telnet 服務弱口令暴破傳播,同時還集成了與 Omni 家族相似的多個漏洞 Exp ,目前正在網上快速傳播。

根據攻擊者創建的特殊檔案夾名稱,我們把這個家族命名為RobinBot

通過對 RobinBot 歷史樣本的關聯分析,我們梳理了它的發展過程,並且發現了其還有一個功能相似的跨平臺jar版本同家族樣本。業界公開曝光的 Java 編寫的跨平臺 DDoS 木馬並不多,這次我們對 RobinBot 一探究竟。

我們對 RobinBot 初步的監控結果顯示,其作者嘗試過下發指令攻擊自己控制的 IP 資產。綜合分析可以看出 RobinBot 作者具有一定的能力和想法,並在積極嘗試中。

C 版樣本關鍵行為分析

RobinBot 的 C 語言版本樣本借鑑了 Mirai 和 Gafgyt 家族的惡意程式碼,並自己命名了多種 DDoS 攻擊方式。目前 RobinBot 的樣本還在頻繁地更新迭代,本文以下面樣本為例進行分析:

檔案名

檔案類型

檔案大小

檔案MD5

x86

ELF 64-bit LSB executable, x86-64

75128552 bytes

500009D8F68330A8F82B59884A9AFE47

對抗分析

RobinBot 具有常規的對抗分析措施,借鑑自 Mirai 家族。

GDB 反調試:

進程隨機重新命名

進程隨機重新命名:

關閉 Watchdog,防止設備重啟

關閉 Watchdog,防止設備重啟:

關閉 Watchdog,防止設備重啟

借鑑自 Mirai 的 table 機制

RobinBot 的程式碼中還借鑑了 Mirai 的 Table 機制,試圖隱藏自身攜帶的關鍵資訊:

解碼用到的 Key

解碼用到的 Key:

解碼用到的 Key

經過我們分析,這個 Table 在程式碼中還沒啟用,不排除將來作者更新樣本,把這個機制真正用起來。

Kill 指定埠的進程

Kill 指定埠的進程

RobinBot 還會殺掉 Telnet 23 埠、SSH 22 埠和 HTTP 80 埠對應的進程:

傳播方式

傳播方式

RobinBot 支持沿襲自 Mirai 的弱口令暴破方式傳播,同時還集成了類似 Omni 家族的 12 個漏洞 Exp,大大提升傳播能力。

RobinBot 的 Telnet 弱口令暴破機制,複用了 Mirai 的口令表加密機制:

暴破結果的 Reporter 伺服器地址與 C&C 相同,但埠改成了1337

RobinBot 集成了 12 個經典的 IoT 設備漏洞 Exp 來增強自身的傳播能力:

漏洞說明如下

漏洞說明如下:

漏洞標籤

漏洞 ID

QVD ID

漏洞說明

影響設備

GPON8080

CVE-2018-10561

QVD-2018-4807

Dasan GPON 路由器認證繞過漏洞

Dasan GPON 路由器

GPON80

CVE-2018-10562

QVD-2018-5435

Dasan GPON 路由器認命令注入漏洞

Dasan GPON 路由器

REALTEK

CVE-2014-8361

QVD-2014-0175

Realtek Miniigd UPnP SOAP 遠端命令執行漏洞

多種使用 Realtek SDK 並且啟用 miniigd 守護進程的網路設備

NETGEAR

EDB-ID-43055

QVD-2013-7961

Netgear DGN1000 1.1.00.48 – ‘Setup.cgi’ 遠端命令執行漏洞

Netgear DGN1000 路由器

HUAWEI

CVE-2017-17215

QVD-2017-0070

Huawei HG532 路由器任意程式碼執行漏洞

Huawei HG532 路由器

TR064

CVE-2016-10372

QVD-2020-74040

Eir D1000 無線路由器 WAN 側遠端命令注入漏洞

Eir D1000 無線路由器

HNAP

CVE-2015-2051

QVD-2015-0260

D-Link 設備 HNAP SOAPAction-Header 遠端命令執行漏洞

D-Link 設備

CROSSWEB

EDB-ID-39596

多種 CCTV/DVR 設備的命令執行漏洞

超過 70 家供應商的 CCTV, DVR 設備

JAWS

CVE-2016-20016

QVD-2022-27838

MVPower DVR TV-7104HE 1.8.4 115215B9 Shell 命令執行漏洞

MVPower DVR 設備

DLINK

EDB-ID-28333

QVD-2013-8037

D-Link 設備 UPnP SOAP TelnetD 模組遠端命令執行漏洞

D-Link 設備

R7000

CVE-2016-6277

QVD-2016-0403

Netgear R7000/R6400 ‘cgi-bin’ 模組遠端命令執行漏洞

Netgear R7000/R6400 路由器

VARCON

CNVD-2017-29245

QVD-2022-34316

Vacron NVR 設備遠端命令執行漏洞

Vacron NVR 設備

C&C 通訊

RobinBot 當前樣本的 C&C 伺服器地址89.203.251.188:7267,上線包為 “12354544\n\n”:

指令解析

指令解析

RobinBot 的指令機制與 Gafgyt 家族類似,屬於明文形式的指令。指令共有三大類:執行惡意命令、發起 DDoS 攻擊、輔助功能指令(更新、清理)。

當指令字串以 “console” 開頭時,代表執行惡意命令,”at” 開頭代表發起 DDoS 攻擊:

開頭代表發起 DDoS 攻擊

對於目前支持的 6 種 DDoS 攻擊指令,RobinBot 作者有自己的命名方式:

支持的 DDoS 方法包括:固定及隨機 Payload 的 TCP 協議攻擊、固定 Payload 的 UDP 協議攻擊以及專門針對 Minecraft 伺服器的 DDoS 攻擊。上述大部分攻擊方式,疑似專為 MineCraft 平臺定製,即攻擊者運營該 DDoS 殭屍網路,可能專門為了攻擊遊戲伺服器。

值得一提的是,RobinBot 支持的 T-TCP 和 U-UDP DDoS 攻擊方式,單次攻擊的 Payload 都是 8000 Bytes 的重複資料,形式如下:

C 版樣本演進

C 版樣本演進

經過我們對 RobinBot 歷史活動的回溯分析,大概理清了 RobinBot C 語言版樣本的發展歷程。

我們最早找到了 RobinBot 在2022年5月份的樣本,把它定為最初版本,與本次發現的最新版本大致框架一致,此時的樣本中還未添加有 Mirai 的程式碼,所含的 Telnet 暴破功能也與 Mirai 不同。支持的功能包括遠端命令執行、DDoS 攻擊、Telnet 弱口令暴破。

上線包如下:

上線包如下

DDoS 方法也僅有 TCP 和 UDP 兩種:

2022年6月份,作者更新了第二版的樣本,與初始版本相比加入了 Mirai 的 Table 機制以及其特有的弱口令暴破函數。但是不包含漏洞利用的部分,並且上線包略微不同:

作者在

作者在2022年7 月份更新了第三版,加入了漏洞利用,此時僅集成兩個漏洞的 Exp,分別是針對Dasan GPON設備的CVE-2018-10562,和針對ZyXEL設備的CVE-2017-18368

並且,第三版的上線包也有所變化
並且,第三版的上線包也有所變化

並且,第三版的上線包也有所變化:

並且,第三版的上線包也有所變化

2022年11 月份我們捕獲的最新版樣本中,作者去除了ZyXELRCE 的利用,添加了 Omni 家族曾經整合利用過的 12 個漏洞 Exp 進行傳播,同時刪除了前兩個版本中包含的上報掃描結果 IP 更新的功能。

綜合來看,RobinBot C 語言版樣本的更新流程如下圖所示:

Java 版 DDoS 木馬

Java 版 DDoS 木馬

在我們對攻擊者的資產進行梳理過程中,通過一系列關聯分析,我們發現 RobinBot 的作者所屬某一資產下發的一個獨特的 PE 樣本。該樣本會調用 curl 命令下載並執行一個 Jar 檔案:

RobinBot 的名字,正是我們參考上圖 Jar 檔案落盤路徑中的 “Robin” 而命名。經過對上述 Jar 檔案的深入分析,確定該樣本是上述 C 語言版本的 Java 版本,功能近似,但具備了跨平臺運行的能力。

我們以下述樣本為例進行分析(下文稱RobinBot-Jar):

檔案名

檔案大小

檔案MD5

asdasasjdhaisuolhdasiuhdai.jar

4435413 bytes

27F7000F552B88FCF71E423EC59524B5

區分平臺運行

該樣本可以在 Linux 和 Windows 平臺上運行,針對 Windows 平臺會有額外的操作:

額外的 Inject 函數功能是把自身移動到 Startup 檔案夾以 Cmd 命令的方式進行自啟動,檔案名為“0ff1995” + 隨機字串,該操作同時也用來區分樣本是否是首次運行:

下發遠端命令時樣本也會區分平臺進行命令執行:

設置系統 HTTP User-Agent

RobinBot-Jar 還會設置系統的 HTTP User-Agent 為 “Chrome“:

C&C 通訊

C&C 通訊

創建與 C&C 通訊的執行緒:

創建與 C&C 通訊的執行緒

上線包如下,其中包含樣本版本、受害機器系統 OS 及使用者名:

指令解析

指令解析

RobinBot-Jar 的指令設計,與 C 語言版本的木馬幾乎一致,也是類似 Gafgyt 家族的明文協議,並且 “console” 開頭的指令代表執行命令,”at” 開頭代表執行DDoS指令:

開頭代表執行DDoS指令

不同的地方在於作者自定義的 DDoS 方法名:

JAVA版樣本支持的DDos方法除了與C版相同的以外,還包括:HTTP Flood、OVH Flood、針對 Roblox 視訊遊戲平臺的 DDoS 攻擊、基於 Bootstrap 的 DDoS 攻擊。

代理設置

RobinBot-Jar 發起 DDoS 攻擊時,會選用 Socks 代理。對於代理的設置,可以是過指令下發指定的代理伺服器:

也可以選擇公開的第三方代理

也可以選擇公開的第三方代理:

其他指令

其他指令

此外還包含其他命令如下:

指令

功能

kill

退出運行

update

樣本版本更新

clearyoubro

清理病毒檔案

如果收到退出指令,RobinBot-Jar 會調用 System.exit() 退出運行:

收到更新的指令後,RobinBot-Jar 會通過硬編碼的 URL 進行更新:

收到清理的指令後,針對 Windows 平臺會進行專門的清理工作:

JAVA 版樣本演進

JAVA 版樣本演進

經過回溯分析我們發現,JAVA 版本要比 C 版更早進行傳播,最早於去年年底開始活動,期間多次偽裝成 Minecraft 相關工具及外掛,包括 KauriVPN、PlaceholderAPI、Vulcan 等等,中途還曾將 C2 地址修改為localhost進行測試。

指令監控

在對 RobinBot 分析期間,我們對它進行了初步監控,並觀察到它下發的若干攻擊指令,發現該殭屍網路處於快速擴張 + 測試階段:

分析資料發現作者對其自身IP進行過DDos攻擊,說明此殭屍網路還在測試階段並未正式投入使用。

其餘攻擊目標中有多個遊戲相關聯的資產,其中一個攻擊目標*.jonesdev.xyz,該資產為”Sonar Anti Bot”所有,用於 Minecraft 伺服器的實驗性反機器人外掛:

IoCs
IoCs

IoCs

MD5:

AA4BCF5BC044BAB50D347961BB2A630C

F883F7F9FB16E9E547ABF7FA10D18256

9138DF8AF500832C9814D052DCD70585

500009D8F68330A8F82B59884A9AFE47

8D815662DC16F11AEE1776AAA0157800

27F7000F552B88FCF71E423EC59524B5

2675386F03B1835AF146493CB328C3EC

941CEE0D62BF9E4BFCE7DA0DAFD75CED

BAA15F059F950C400FE32539E56128C4

D65BD6175517E0BCB6A6FC077CDCB655

C2:

89.203.251.188:7267

89.203.251.188:1337

193.23.161.194:3214

89.203.251.217:7267

176.97.210.195:7267

點選閱讀原文至ALPHA 5.0

即刻助力威脅研判

相關文章

電腦防毒,原來還能「望聞問切」?

電腦防毒,原來還能「望聞問切」?

準確率高達99%! —— 文|杜晨 編輯|VickyXiao 中醫講究「望聞問切」。望,指觀氣色;聞,指聽聲息;問;指詢問症狀;切;指摸脈象...

日本花16年造氫能源車,結果要涼了

日本花16年造氫能源車,結果要涼了

日本為什麼遲遲不造純電動汽車? 作為日系車巨頭之一的豐田最近搞了個大動作! 在2030年前投入350億美元進行新能源車的研究,其中一半用於純...