厙浩文
網(wǎng)絡安全研究人員近日揭開了一個復雜的、多功能的P2P僵尸網(wǎng)絡的面紗,它是用Golang語言編寫,自2020年1月以來一直積極地針對SSH服務器。
根據(jù)Guardicore實驗室發(fā)布的一份報告,這個被稱為FritzFrog的模塊化、多線程和無文件的僵尸網(wǎng)絡迄今已經(jīng)侵入了500多臺服務器,感染了美國和歐洲的知名大學和一家鐵路公司。Guardicore的Ophir Harpaz說:“憑借其分散的基礎架構,它可以在所有節(jié)點之間分配控制權。在沒有單一故障點的網(wǎng)絡中,節(jié)點之間不斷地相互通信,以保持網(wǎng)絡的生命力、彈性和最新性?!?/p>
除了實現(xiàn)一個從頭編寫的專有P2P協(xié)議之外,通信是通過一個加密通道完成的,而惡意軟件能夠在受害者系統(tǒng)上創(chuàng)建后門,允許攻擊者繼續(xù)訪問。
雖然之前已經(jīng)發(fā)現(xiàn)過基于GoLang的僵尸網(wǎng)絡,如Gandalf和GoBrut,但FritzFrog似乎與Rakos有一些相似之處,Rakos是另一個基于GoLang的Linux后門,之前被發(fā)現(xiàn)通過強力SSH登錄來滲透目標系統(tǒng)。
但是,令FritzFrog獨樹一幟的是它沒有文件,這意味著它可以在內(nèi)存中組裝和執(zhí)行有效載荷,并且在執(zhí)行暴力攻擊時更具攻擊性,同時還可以通過在僵尸網(wǎng)絡內(nèi)平均分配目標來提高效率。
一旦確定了目標計算機,該惡意軟件將執(zhí)行一系列任務,包括對其進行暴力破解,在成功突破后用惡意有效載荷感染計算機,并將受害者添加到P2P網(wǎng)絡。
為了掩蓋事實,該惡意軟件以ifconfig和NGINX的身份運行,并偵聽1234端口,以接收進一步的執(zhí)行命令,包括那些將受害者與網(wǎng)絡對等點和暴力目標的數(shù)據(jù)庫同步的命令。
命令本身通過一系列避免被發(fā)現(xiàn)的圓環(huán)傳送給惡意軟件。僵尸網(wǎng)絡中的攻擊節(jié)點首先通過SSH鎖定一個特定的受害者,然后使用NETCAT程序與遠程服務器建立連接。
此外,有效載荷文件以BitTorrent樣式在節(jié)點之間交換,采用分段文件傳輸方法來發(fā)送數(shù)據(jù)塊。
“當節(jié)點A希望從其對等節(jié)點B接收文件時,它可以使用getblobstats命令查詢節(jié)點B所擁有的Blob。”Harpaz說:“然后,節(jié)點A可以通過它的散列(通過P2P命令getbin或通過HTTP,使用URLhttps:// node_IP:1234 / blob_hash)獲得特定的Blob。當節(jié)點A有必需的Blob時,它將使用名為Assemble的特殊模塊來組裝文件并運行它。”
除了加密和編碼命令響應,惡意軟件運行一個單獨的進程,名為libexec,Monero硬幣通過留下后門的方式添加一個authorized_keys文件的公鑰SSH以便登錄身份驗證,無需再次依賴密碼即可進行身份驗證。
據(jù)網(wǎng)絡安全公司稱,該活動于2020年1月9日開始,自首次出現(xiàn)以來,跨越20種不同版本的惡意軟件二進制代碼的攻擊累計達到1.3萬次。
除了針對教育機構以外,還發(fā)現(xiàn)FritzFrog暴力破解了屬于政府組織、醫(yī)療中心、銀行和電信公司的數(shù)百萬個IP地址。
Guardicore Labs還提供了一個檢測腳本,用于檢查服務器是否已被FritzFrog感染,并共享其他泄露指標。
“弱密碼是促成FritzFrog攻擊的直接推動者。”Harpaz總結道。我們建議選擇強密碼并使用公鑰認證,這樣更安全。
路由器和物聯(lián)網(wǎng)設備經(jīng)常暴露SSH,因此容易受到FritzFrog的攻擊,可考慮改變他們的SSH端口,或者在服務不使用時完全禁用SSH訪問。