當前位置:
首頁 > 新聞 > 「捉迷藏」IoT殭屍網路,以自定義P2P形式進行傳播感染的新型殭屍網路

「捉迷藏」IoT殭屍網路,以自定義P2P形式進行傳播感染的新型殭屍網路


近日,Bitdefender安全研究人員通過蜜罐系統捕獲了一種物聯網(IoT)殭屍網路,該殭屍網路利用自定義P2P技術進行傳播控制,由於其惡意行為相對隱蔽,被Bitdefender命名為』捉迷藏』HNS(Hide 『N Seek)殭屍網路。目前,據威脅情報統計,全球已有32000多台IoT設備受到HNS殭屍程序感染控制。


傳播感染態勢


HNS殭屍程序最早於1月10日被發現,之後傳播勢頭減弱,但卻於1月20日以增強態勢重新出現。以下為其傳播趨勢:



2018年1月24日 – 14.00 GMT+3:HNS殭屍網路跨區域感染超過14,000 台IoT設備,並有從亞洲向美國境內傳播感染的態勢;


2018年1月24日 – 17.30 GMT+3:HNS殭屍網路跨區域感染超過18,000 台IoT設備;


2018年1月24日 – 20.00 GMT+3:HNS殭屍網路跨區域感染超過20,000 台IoT設備;


2018年1月25日 – 11.50 GMT+3:HNS殭屍網路感染超過24,000 台IoT設備;


2018年1月26日 – 14.06 GMT+3:HNS殭屍網路感染控制了超過32,312台IoT設備,且其貌似進行著大規模的設計完善,一些新型樣本中被加入了不同的功能架構,並最終形成有效攻擊載荷(Payload),如以下樣本:



0c90ea12275cadd96a67f8ee07e2fa04af91e51e: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped


19f54473a721105982281b7b87503e3d60585042: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped

2b36305f7dcb63b4f55bffab0f0dbbaaabf83b28: ELF 32-bit MSB executable, Motorola 68020 – invalid byte order, version 1 (SYSV), statically linked, stripped


4dcca2094b55b6576c1b27597e4b10db9b6bfa53: ELF 32-bit MSB executable, SPARC version 1 (SYSV), statically linked, stripped


6e5a74d0e39f7e17effb54270c41910b99f7e873: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped


788f52df7aeae720c90fe21eeb946409dcd2fed7: ELF 32-bit LSB executable, ARM, version 1, statically linked, stripped


a82c3cd904315131845d56101b7af8cc2b1eee7b: ELF 32-bit LSB executable, ARM, version 1, statically linked, stripped


b7ccfbbcb3a29de4ae507415ddca93029d90923d: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, stripped


ed24e8f5eb277e8b58fb39c15ece3d60af418459: ELF 32-bit LSB executable, Renesas SH, version 1 (SYSV), statically linked, stripped


影響危害


HNS殭屍網路的通信控制機制相對複雜和分散化,它使用了多種防篡改方式來避免第三方對其進行劫持或毒化,其殭屍程序可以針對存在同種漏洞(CVE-2016-10401)的網路設備自動執行web滲透攻擊,另外其還具備數據竊取、代碼執行和設備干擾等多種內置命令。

運行機制


HNS殭屍程序的傳播類似於蠕蟲程序,它會首先隨機生成一個目標感染IP段列表,之後會向這些目標設備發起一個原始的SYN連接請求,一旦目標主機以埠23、2323、80、8080進行響應後,該殭屍程序就篩選出這些目標對象,並在這些目標設備的banner信息中尋找特定欄位「buildroot login:」,如果有所匹配,則利用內置的字典組合和硬編碼信息進行暴力登錄嘗試。


登錄成功與受害設備建立連接之後,殭屍程序樣本會通過一種「狀態機」模式來識別受害設備並選擇最佳感染方式。例如,如果受害設備與殭屍程序處於同一LAN中,則殭屍程序就會配置TFTP服務讓其允許受害設備可以下載運行惡意程序;如果受害設備處於外部互聯網中,則殭屍程序會遠程嘗試向受害設備下載運行特定的惡意程序。HNS殭屍程序具備的這些滲透功能都是內置在其內存中且具有數字簽名防篡改特性,這些功能特性可以被遠程更新,也能在受害主機設備中傳播共享。


HNS殭屍程序最早於1月10日針對一家韓國網路攝像機設備進行攻擊時,被Bitdefender蜜罐系統捕獲。這些受害設備貌似在HNS殭屍網路的傳播中扮演著重要角色,因為在該份惡意樣本的硬編碼共12個受感染設備信息中,有10個設備隸屬Focus H&S公司所有。而在1月20日捕獲的樣本中,HNS殭屍程序卻沒有繼續使用這些硬編碼IP信息。


與其它的IoT殭屍程序類似,HNS殭屍程序也不能實現持久駐留,且設備重啟後也能恢復到未感染狀態。HNS也算是繼臭名昭著的Hajime之後又一個具備P2P傳播機制的IoT殭屍網路,Hajime殭屍網路利用了基於BitTorrent協議的分散P2P通信體系,而HNS殭屍網路卻具備了自定義的P2P通信機制。


UDP 通信機制


HNS殭屍程序會在受害設備中隨機打開一個埠,並為該埠添加入站的防火牆規則,然後在該埠上監聽以下特殊形式的命令。我們一開始對HNS殭屍程序樣本進行分析時發現,其中竟然包含了一種橢圓曲線密碼來對控制命令進行驗證,攻擊者通過這些控制命令可以執行對控制程序的內存配置更新,以及防止其它惡意程序的滲透毒化。


HNS殭屍程序在運行時包含了以下一些控制參數:



k』 + [埠號] – 啟動時終止所有在該埠上運行的進程;


『l』 + [埠號] – 啟動後對該埠實施監聽;

『s』 + 路徑 – 從該路徑中讀取文件或把它們載入進內存空間,然後通過『m』, 『y』 和 『Y』命令來提取這些數據。此過程中創建的文件都具備sha256校驗機制,而且會導致惡意二進位文件存留在受害者系統中;


a』 + [IP:PORT] – 把IP:PORT關係關聯映射到內部存儲的IP:PORT表中;


『e』 + IP:PORT – 添加一個新的感染目標,否則就隨機生成一個感染列表。


HNS殭屍程序控制命令


為了解HNS殭屍程序的具體功能,我們分析檢查了其它受感染網路對等端(peer)收到的一些命令信息,以下就是其中一些支持命令和相關說明:



『i』 + u32(config_size) – 如果收到的config_size大於當前配置,則會向對等端返回一個確認信息,最終對等端會被設置為通信端以獲取更多配置信息,如果dht_size太小, 則會向對等端返回一個『I』消息以請求較多的配置信息;


『I』 + u32(config_size) – 接收到的config_size應該大於當前配置(在 『i』 消息查詢後),向對等端返回一個確認信息,最終對等端會被設置為通信端以獲取更多配置信息;


『m』 + u832 + u32(ip) + u16(port) + u16(seq) + u8(hops) + u8(unk) – 該條信息嘗試找出基於給定哈希值的數據,它首先會執行本地檢查,如果哈希已知則數據可用,此時,它會向ip:port發送一條『Y』消息;如果本地數據不可用,則殭屍程序會向所有已知網路對等端廣播當前的『m』消息(跳數減少,且少於5跳);


『^』 + u8(flags) + u16(port) + u32(ip) – 以ip:port形式產生一個新的網路對等端,該對等端會被加入到已知的端點列表中(它也能替換其它對等端);

『~』 – 請求一個新的對等端點,在收到該請求後,殭屍程序會從已知端點列表中隨機選擇一個端點(peer),並通過『^』消息響應;


『Y』 + u16(chunk_index) + u16(seq) + u8 – 這是數據接收到的消息,數據以最多0x100位元組塊的形式被複制(當前偏移量為chunk_index * 0x100),chunk_index也對應於當前通信緩衝區大小;


如果惡意樣本被下載後,可能產生多種後果:


如果數據是新配置的,它會通過上述提到的橢圓曲線數字簽名演算法(ECDSA)進行驗證,驗證成功則會替換掉當前配置;在更新機制中,下載文件有可能被丟棄或執行。



『y』 + u832 + u16(chunk_index) + u16(seq) – 該命令嘗試向chunk_index中讀取相應的以『Y』消息發送的緩存數據,如果出於其它原因,數據本地不可用,則會向廣播一條『m』消息;


『O』 + u8(checksum) – 這是一條確認消息,在收到的消息中進行checksum校驗;


『i』 , 『I』 (first version)』h』, 『H』 (second version) – 更新配置命令;


『m』,』Y』,』y』 數據滲漏機制,其中「m」負責一條哈希值的通信確認,而「Y」和「y」則負責數據轉移;


「z」 掃描組件,在字典暴力測試中,對探測發現到的對等端發送有效的登錄憑據信息進行驗證,

「O」 確認「z」消息發送的憑據信息已經被有效接收;


「^」 在已知對等端點列表中加入一個新的端點;


「~」 以一個對等端IP作為控制端IP查詢進行響應。


總結


雖然IoT殭屍網路已經存在多年,且大多用於發動DDoS攻擊,但在對HNS殭屍網路的調查中,我們發現了其高度的複雜性和新穎性,比如其隱蔽的信息竊取方式,有可能被用於間諜活動或網路勒索。還值得注意的是,HNS殭屍網路一直在不斷地自我完善和繼續傳播感染態勢之中。


已知樣本HASH



efcd7a5fe59ca8223cd282bfe501a2f92b18312c


05674f779ebf9dc6b0176d40ff198e94f0b21ff9

*參考來源:Bitdefender,freebuf小編clouds編譯,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

經驗分享 | 如何做好基礎安全設備運維
一加海外官網疑遭入侵,用戶支付信息泄漏導致信用卡欺詐

TAG:FreeBuf |