DDoS攻擊和IoT漏洞攻擊:Momentum殭屍網路的新動態

趨勢科技最近發現了會顯著影響Linux裝置的惡意軟體活動,Linux平台今年已經與許多問題在奮戰中。進一步分析取得的惡意軟體樣本顯示這些活動與名為Momentum的殭屍網路(從通訊頻道內所發現圖片命名)有關。我們發現了殭屍網路用來入侵裝置並執行分散式阻斷服務(DDoS)攻擊的工具及技術細節。

Momentum會針對採用各種CPU架構的Linux平台,包括ARM、MIPS、Intel、Motorola 68020等。它的主要目的是要開啟後門來接受命令對給定目標進行各種阻斷服務(DoS)攻擊。Momentum殭屍網路會散播的後門程式包括了Mirai、Kaiten和Bashlite等病毒變種。我們所分析的樣本正在派送Mirai後門程式。此外,Momentum是透過攻擊多種路由器和網頁服務漏洞來進行散播,進而在目標裝置下載並執行Shell腳本。

Momentum如何運作?

Momentum在感染裝置後會經由修改 rc檔案來實現持續性。接著會加入命令和控制(C&C)伺服器,連到名為#HellRoom的IRC頻道來註冊自己並接收命令。IRC協定是它與命令和控制(C&C)伺服器通訊的主要方法。接著殭屍網路操作者就可以發送訊息到IRC頻道來控制受感染系統。

圖1. 受感染裝置加入攻擊者的IRC命令和控制頻道

圖2. 命令和控制通訊路徑(下載器/派送伺服器、IRC伺服器)

派送伺服器(如上所示)放有惡意軟體執行檔。另一台伺服器是殭屍網路的C&C伺服器。C&C伺服器是在2019年11月18日開始啟用。

一旦建立了通訊連線,Momentum便可以透過各種命令來利用受感染裝置進行攻擊。具體地說,Momentum能夠部署36種不同的DoS攻擊,如下所示。

命令 描述
ACK ACK洪水攻擊
ADV-TCP TCP洪水攻擊 – 改良的SSYN攻擊
BLACKNURSE ICMP封包洪水攻擊
DNS DNS 放大攻擊
ECE attacking (Not in use) 一種SYN洪水攻擊
ESSYN ExecuteSpoofedSyn洪水攻擊
FIN attacking (Not in use) FIN洪水攻擊
FRAGACK ACK碎片攻擊
FRAG-TCP 偽造TCP碎片攻擊
GRE GRE洪水攻擊
HOLD (Not in use) TCP洪水攻擊 (frag)
HTTP HTTP洪水攻擊
HTTPFLOOD HTTP洪水攻擊
JUNK TCP洪水攻擊 (frag)
LDAP LDAP放大攻擊
MEMCACHE MEMCACHE放大攻擊
NSACK 一種ACK洪水攻擊
NSSYN 一種SYN洪水攻擊
OVH 一種UDP洪水攻擊 (DOMINATE)
PHATWONK 多合一攻擊
RTCP 使用碎片化封包標頭的隨機TCP洪水攻擊
SACK 一種TCP洪水攻擊
SEW Attack 一種SYN洪水攻擊
SSYN2 一種SYN洪水攻擊
STUDP STD洪水攻擊
STUDP STD洪水攻擊
SYN SYN洪水攻擊
SYNACK SYN-ACK洪水攻擊
TCPNULL TCP-Nulled洪水攻擊 – 利用沒有設flag的TCP封包
UDP UDP洪水攻擊
UDP-BYPASS UDP洪水攻擊 (vulnMix)
UNKNOWN UDP洪水攻擊
URG attacking
VOLT-UDP 偽造UDP洪水攻擊, 可以穿透多數防火牆
VSE VSE放大攻擊
XMAS TCP Xmas洪水攻擊

表1. Momentum能夠支援的各種DoS方式

此惡意軟體會用許多反射和放大攻擊手法來針對多種目標:MEMCACHE、LDAP、DNS和Valve Source Engine(VSE)。在這些類型的攻擊中,惡意軟體通常會發送偽造來源IP地址(受害者)的封包到公開伺服器的各類服務,從而導致大量回應來淹沒受害者IP地址。

除了DoS攻擊之外,我們發現Momentum還可以進行其他操作:在指定IP端口開啟代理程式,更改客戶端暱稱,停用或啟用來自客戶端的封包等等。

在下面章節,我們將會介紹Momentum特定的攻擊功能:

Momentum的阻斷服務(DoS)攻擊

LDAP DDoS反射攻擊

在進行LDAP DDoS反射攻擊時,惡意軟體會將來源IP地址偽裝成目標系統來查詢可公開訪問的LDAP伺服器,導致大量回應流量傳送給目標。

Memcache攻擊

遠端攻擊者在進行Memcache攻擊時會將來源IP地址偽裝成目標系統來對可被攻擊的UDP Memcached伺服器發送特製的惡意UDP請求。接著這Memcached伺服器就會向目標發送大量回應。Momentum使用HTTP GET請求下載反射檔案 – 惡意軟體在其他放大式DoS攻擊也會出於相同目的來使用相同的請求。

根據Shodan的初步資料,有超過42,000個可被攻擊的Memcached伺服器可能遭受此類攻擊的影響。

Momentum殭屍網路使用下面的HTTP GET請求下載反射檔案:

GET / HTTP/1.1
User-Agent: Mozilla/4.75 [en] (X11; U; Linux 2.2.16-3 i686)
Host: <HOST_Address>:80
Accept: */*
Connection: Keep-Alive

UDP-BYPASS攻擊

Momentum在進行UDP-BYPASS攻擊時會對特定端口上傳特製的合法UDP封包來淹沒目標主機。在執行此攻擊時,惡意軟體會選擇一個隨機端口和對應的特製封包,然後發送到目標主機。惡意軟體會用多執行緒進行攻擊;每個執行緒佔用一個端口來上傳特製封包。

以下是一些端口及所使用的封包內容:

端口 Payload 敘述
500 \x00\x11\x22\x33\x44\x55\x66\x77\x00\x00\x00\x00\x00\x00\x00\x00\x01\x10\x02\x00\x00\x00\x00\x00\x00\x00\x00\xC0\x00\x00\x00\xA4\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x98\x01\x01\x00\x04\x03\x00\x00\x24\x01\x01\x00\x00\x80\x01\x00\x05\x80\x02\x00\x02\x80\x03\x00\x01\x80\x04\x00\x02\x80\x0B\x00\x01\x00\x0C\x00\x04\x00\x00\x00\x01\x03\x00\x00\x24\x02\x01\x00\x00\x80\x01\x00\x05\x80\x02\x00\x01\x80\x03\x00\x01\x80\x04\x00\x02\x80\x0B\x00\x01\x00\x0C\x00\x04\x00\x00\x00\x01\x03\x00\x00\x24\x03\x01\x00\x00\x80\x01\x00\x01\x80\x02\x00\x02\x80\x03\x00\x01\x80\x04\x00\x02\x80\x0B\x00\x01\x00\x0C\x00\x04\x00\x00\x00\x01 IKE v1, 第一階段主要模式
1434 \x02 MS-SQL ping 嘗試
5353 \x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x09_services\x07_dns-sd\x04_udp\x05local\x00\x00\x0C\x00\x01 DNS 服務發現
8767 xf4\xbe\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x002x\xba\x85\tTeamSpeak\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\nWindows XP\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00 \x00<\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08nickname\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 TeamSpeak 2 UDP 登入請求
9987 \x05\xca\x7f\x16\x9c\x11\xf9\x89\x00\x00\x00\x00\x02\x9d\x74\x8b\x45\xaa\x7b\xef\xb9\x9e\xfe\xad\x08\x19\xba\xcf\x41\xe0\x16\xa2\x32\x6c\xf3\xcf\xf4\x8e\x3c\x44\x83\xc8\x8d\x51\x45\x6f\x90\x95\x23\x3e\x00\x97\x2b\x1c\x71\xb2\x4e\xc0\x61\xf1\xd7\x6f\xc5\x7e\xf6\x48\x52\xbf\x82\x6a\xa2\x3b\x65\xaa\x18\x7a\x17\x38\xc3\x81\x27\xc3\x47\xfc\xa7\x35\xba\xfc\x0f\x9d\x9d\x72\x24\x9d\xfc\x02\x17\x6d\x6b\xb1\x2d\x72\xc6\xe3\x17\x1c\x95\xd9\x69\x99\x57\xce\xdd\xdf\x05\xdc\x03\x94\x56\x04\x3a\x14\xe5\xad\x9a\x2b\x14\x30\x3a\x23\xa3\x25\xad\xe8\xe6\x39\x8a\x85\x2a\xc6\xdf\xe5\x5d\x2d\xa0\x2f\x5d\x9c\xd7\x2b\x24\xfb\xb0\x9c\xc2\xba\x89\xb4\x1b\x17\xa2\xb6 TeamSpeak 3 UDP 登入請求
1604 \x1e\x00\x01\x30\x02\xfd\xa8\xe3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 Citrix MetaFrame 應用程式瀏覽器服務
1900 \x4d\x2d\x53\x45\x41\x52\x43\x48\x20\x2a\x20\x48\x54\x54\x50\x2f\x31\x2e\x31\x0D\x0A\x48\x6f\x73\x74\x3a\x32\x33\x39\x2e\x32\x35\x35\x2e\x32\x35\x35\x2e\x32\x35\x30\x3a\x31\x39\x30\x30\x0D\x0A\x53\x54\x3a\x73\x73\x64\x70\x3a\x61\x6c\x6c\x0D\x0A\x4d\x61\x6e\x3a\x22\x73\x73\x64\x70\x3a\x64\x69\x73\x63\x6f\x76\x65\x72\x22\x0D\x0A\x4d\x58\x3a\x33\x0D\x0A\x0D\x0A SSDP
623 \x06\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x20\x18\xc8\x81\x00\x38\x8e\x04\xb5 IPMI – RMCP Get Channel Auth Capabilities
626 SNQUERY: 127.0.0.1:AAAAAA:xsvr Serialnumberd – Mac OS X Server
1194 8d\xc1x\x01\xb8\x9b\xcb\x8f\0\0\0\0\0 OpenVPN P_CONTROL_HARD_RESET_CLIENT_V2
520 \x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 RIP v1
177 \x00\x01\x00\x02\x00\x01\x00 xdmcp – X Display Manager Control Protocol
389 \x30\x84\x00\x00\x00\x2d\x02\x01\x07\x63\x84\x00\x00\x00\x24\x04\x00\x0a\x01\x00\x0a\x01\x00\x02\x01\x00\x02\x01\x64\x01\x01\x00\x87\x0b\x6f\x62\x6a\x65\x63\x74\x43\x6c\x61\x73\x73\x30\x84\x00\x00\x00\x00 Connectionless LDAP
161 \x30\x3A\x02\x01\x03\x30\x0F\x02\x02\x4A\x69\x02\x03\x00\xFF\xE3\x04\x01\x04\x02\x01\x03\x04\x10\x30\x0E\x04\x00\x02\x01\x00\x02\x01\x00\x04\x00\x04\x00\x04\x00\x30\x12\x04\x00\x04\x00\xA0\x0C\x02\x02\x37\xF0\x02\x01\x00\x02\x01\x00\x30\x00 SNMPv3GetRequest
53 %getPayload%getPayload\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x03\x77\x77\x77\x06\x67\x6f\x6f\x67\x6c\x65\x03\x63\x6f\x6d\x00\x00\x01\x00\x01 查詢DNS  
7 \x0D\x0A\x0D\x0A echo服務
111 \x72\xFE\x1D\x13\x00\x00\x00\x00\x00\x00\x00\x02\x00\x01\x86\xA0\x00\x01\x97\x7C\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 RPCCheck

表2. 端口及對應的封包內容

上面所看到的腳本大多都用於服務發現。如果將它們發送到目標裝置超過一段長時間,就可能造成服務崩潰達到阻斷服務的效果。

Phatwonk攻擊

Phatwonk攻擊可一次執行多種DoS方法:XMAS,同時設定所有flag,usyn(urg syn)和任意TCP flag組合。

Momentum的其他功能

要達到想要的結果需要靠攻擊以外的功能。通常惡意軟體會想要躲避偵測,保持開放的通訊管道,以及進行更多後續成功的活動。

Momentum還有其他功能來幫助自己散播和入侵裝置:

  • 快速變動(Fast Flux。Momentum殭屍網路使用快速變動技術來讓自己的命令和控制網路更加有彈性。快速變動網路代表有多個IP地址跟一個網域相關聯,然後不斷快速地進行連續變更 – 攻擊者用它來誤導或躲避安全調查。
  • 後門程式。攻擊者可向IRC頻道發送命令(“ BASH”、“ SHD”或SH命令),惡意軟體客戶端會在受感染系統上接收並執行命令。將結果送回攻擊者下指令的同一IRC頻道。
  • 散播。Momentum會利用下表列出的漏洞來進行散播。我們所調查的C&C伺服器顯示有1,232名受害者。而其他Momentum變種和C&C伺服器可能還有更多的受害者。
漏洞 漏洞攻擊碼格式
CCTV-DVR RCE 多家廠商  
ZyXEL路由器 (漏洞攻擊碼似乎不完全, 類似於此篇)  
華為路由器    
  多家廠商: Crestron AM, Barco wePresent WiPG, Extron ShareLink, Teq AV IT, SHARP PN-L703WA, Optoma WPS-Pro, Blackbox HD WPS, InFocus LiteShow  遠端命令注入   (與CVE 2019-3929 及類似於此篇)
D-Link HNAP1  
Realtek SDK UPnP SOAP命令執行漏洞  
GPON80  
GPON8080  
GPON443  
JAWS Webserver無認證shell命令執行漏洞
Vacron NVR RCE
UPnP SOAP 命令執行漏洞 (類似於此篇)
THINK-PHP    
HooTooTripMate RCE  

表3. 散播時所用的漏洞和攻擊碼

安全建議和解決方案

由於安全設定和保護措施的受限,智慧型聯網裝置容易遭受入侵威脅。裝置製造時通常只考慮到操作性而非安全性。使用者必須採取積極措施來保護自己的裝置(尤其是路由器)安全。如前所述,Momentum殭屍網路針對的是Linux裝置,這些裝置已知容易遭受殭屍網路勒索軟體虛擬貨幣挖礦等攻擊。但有許多方法可以保護這類裝置抵禦攻擊。

延伸閱讀:
AESDDoS 殭屍網路變種,經由暴露在外的 Docker API 滲透容器
HiddenWasp惡意軟體借用Mirai及Winnti程式碼攻擊Linux系統

Smart Protection Network™提供嵌入式網路安全解決方案,能夠保護所有連接家庭網路的裝置抵禦網路攻擊。藉由趨勢科技豐富的威脅研究經驗以及業界領先的深度封包檢測(DPI)技術,趨勢科技的Smart Home Network提供了智慧化服務品質(iQoS)、家長守護和網路安全防護等功能。

趨勢科技Deep Discovery進階網路安全防護透過特製引擎、客製化沙箱和跨越整個攻擊生命週期的無縫關聯技術來對漏洞攻擊及其他類似威脅進行偵測、深入分析和主動回應,從而可以無需更新引擎和特徵碼就能夠偵測這些類型的攻擊。這些解決方案由趨勢科技的XGen安全防護技術技術驅動,它提供了跨世代的混合威脅防禦技術,可以抵禦端點網路伺服器以及閘道所面臨的各種威脅。精準、最佳化、環環相扣的XGen防護技術驅動著趨勢科技一系列的防護解決方案:Hybrid Cloud Security(混合式雲端防護),User Protection(使用者防護)和Network Defense(內網防護)。

入侵指標

SHA-256 敘述
3c6d31b289c46b98be7908acd84086653a0774206b3310e0ea4e6779e1ff4124 Trojan.Linux.MIRAI.SMMR1

@原文出處:DDoS Attacks and IoT Exploits: New Activity from Momentum Botnet 作者:Aliakbar Zahravi