新發現的殭屍網路DemonBot
您是否正在使用Hadoop進行資料分析?如果是的話,有必要知道新的殭屍程式正在針對Hadoop叢集,利用雲基礎架構強大的伺服器發動DDoS攻擊。Hadoop是一個開源分散式處理框架,用於管理在集群系統中執行的大資料應用程式。
Radware威脅研究中心正在監控和跟蹤一個惡意agent,它利用Hadoop YARN未經身份驗證的遠端命令執行漏洞感染Hadoop叢集,標識為DemonBot。
DemonBot僅通過中央伺服器進行傳播,並且不會暴露像基於Mirai的bot所呈現的類似蠕蟲的行為。目前,Radware正在跟蹤70多個活躍的漏洞利用伺服器,這些伺服器正在積極傳播DemonBot,並且正在以每天超過100萬次漏洞攻擊的速度利用伺服器。請注意,雖然我們目前沒有找到任何證據表明DemonBot正在積極瞄準物聯網裝置,但Demonbot不只侷限於x86 Hadoop伺服器,並與大多數已知的物聯網裝置相容,遵循Mirai構建原則。
這不是雲基礎架構伺服器第一次被針對。本月早些時候,安全研究員 ofollow,noindex">Ankit Anubhav 發現一名黑客利用了與Sora殭屍網路變種中相同Hadoop Yarn漏洞。 Hadoop叢集通常是非常強大且穩定的平臺,與物聯網裝置相比,可以單獨佔據更大量的DDoS流。DemonBot支援的DDoS攻擊向量是UDP和TCP洪泛。
一、Hadoop YARN 漏洞利用
Radware Research一直在跟蹤利用Hadoop YARN未經身份驗證的遠端命令執行漏洞的惡意行為者,該漏洞的PoC在今年3月首次釋出( here )。YARN是一個資源協商器,是Enterprise Hadoop的先決條件,提供叢集資源管理,允許多個數據處理引擎處理儲存在單個平臺中的資料。YARN公開了一個REST API,允許遠端應用程式向叢集提交新的應用程式。該漏洞利用需要兩個步驟:
我們的網路記錄了/ws/v1/cluster/apps/new-application的重複嘗試,從9月25日開始到10月19號,每天都有超過100萬次嘗試。
而在本週,發出請求的唯一IP從幾臺伺服器增長到了70多臺伺服器。
離線伺服器的老漏洞引用了知名的Mirai變種 Owari ,黑客用來保護其命令和控制資料庫的密碼:
然而,最近我們發現Owari被一個新bot取代:
這個新的'bash'二進位制檔案已於10月21日新增到伺服器中。同一臺伺服器還託管了我們期望從多平臺IoT惡意軟體中獲得的典型shell指令碼:
雖然殭屍網路帶有Yet-Another-Mirai-Botnet的所有典型指標,但仔細觀察二進位制檔案就會發現不同之處。
二、DemonBot v1 – © Self-Rep-NeTiS
逆向'bash'二進位制檔案顯示了一些不熟悉的函式名和一個非典型字串,它為殭屍網路程式碼提供了唯一的指紋:
通過pastebin檔案搜尋,很快就發現了一個唯一匹配的檔案,該檔案於9月29日被一個名為Self-Rep-NeTiS的攻擊者貼上。paste包含殭屍網路的完整原始碼,被稱為“DemonBot”。通過檔案的進一步搜尋發現了命令和控制伺服器DemonCNC的原始碼以及多平臺bot的Python build指令碼。
DemonBot.c和DemonCNC.c都有相同的簽名:
三、DemonCNC
DemonBot命令和控制服務是一個獨立的C程式,在中央命令和控制伺服器上執行,它提供兩種服務:
·Bot命令和控制監聽器服務 – 允許bot從C2註冊和監聽新命令
·遠端訪問CLI,允許殭屍網路管理員和潛在的“客戶”控制殭屍網路的活動
啟動C2服務需要3個引數:bot偵聽器埠,執行緒數和遠端訪問CLI的埠。
遠端使用者的憑證以“使用者名稱 密碼”格式儲存在純文字檔案“login.txt”中,每個憑證使用一行。
在使用telnet連線到遠端訪問CLI(演示中設定的埠為8025)後,殭屍網路向我們詢問使用者名稱和密碼。如果提供的憑證與login.txt檔案中的某一行匹配,則授予使用者訪問bit控制介面的許可權。
HELP命令揭示的殭屍網路命令,將在下面關於DemonBot的部分中討論。
四、DemonBot
DemonBot是在受感染的伺服器上執行的程式,它連線到命令和控制伺服器並偵聽新命令。
當一個新的DemonBot啟動時,它連線到C2伺服器(使用IP和埠進行硬編碼)。如果沒有為C2伺服器指定埠,則使用預設埠6982。C2連線是純文字TCP。
成功連線後,DemonBot將以下列格式將有關受感染裝置的資訊傳送到C2伺服器:
1.Bot_ip
受DemonBot感染的裝置或伺服器的公共IP地址:
2.Port
22或23,取決於裝置/伺服器上的python或perl以及telnetd:
3.Build
“Python裝置”,“Perl裝置”,“Telnet裝置”或“未知”,具體取決於裝置伺服器上Python或Perl直譯器:
4.Arch
該體系結構在構建時確定,並且取決於受感染平臺上的二進位制檔案。Arch支援的值為:x86_64 | x86_32 | Arm4 | Arm5 | Arm6 | Arm7 | Mips | Mipsel | Sh4(SuperH)| Ppc(PowerPC)| spc(Sparc)| M68k |Arc。
5.OS
基於程式包安裝程式配置檔案對執行bot的主機OS進行識別。Value值是“基於Debian的裝置”,“基於REHL的裝置”或“未知的作業系統”。
6.惡意載荷
Bot支援以下命令:
如果在逗號分隔列表中的引數中傳遞了多個IP,則會為每個IP開啟單獨的攻擊程序。
<spoofit>引數用作網路掩碼。如果將spoofit設定為32,則不會掩蓋bot的源IP。如果將spoofit設定為小於32的數字,則每個<pollinterval>資料包在bot_ip/<spoofit>網路中生成隨機IP:
STD UDP攻擊使用的固定有效載荷:
IOC/">IOC
·8805830c7d28707123f96cf458c1aa41 wget
· 1bd637c0444328563c995d6497e2d5be tftp
· a89f377fcb66b88166987ae1ab82ca61 sshd
· 8b0b5a6ee30def363712e32b0878a7cb sh
· 86741291adc03a7d6ff3413617db73f5 pftp
· 3e6d58bd8f10a6320185743d6d010c4f openssh
· fc4a4608009cc24a757824ff56fd8b91 ntpd
· d80d081c40be94937a164c791b660b1f ftp
· b878de32a9142c19f1fface9a8d588fb cron
· 46a255e78d6bd3e97456b98aa4ea0228 bash
· 53f6451a939f9f744ab689168cc1e21a apache2
· 41edaeb0b52c5c7c835c4196d5fd7123 [cpu]