近年來,非法使用計算資源挖掘加密貨幣的加密貨幣劫持活動變得越來越猖獗,攻擊者圍繞一整套攻擊工具、基礎設施和服務發展起了網絡犯罪經濟,通過瞄準包括物聯網設備在內的眾多易受攻擊的系統來獲取收入。微軟研究人員最近發現了一種攻擊利用自定義和開源的工具,針對面向互聯網的基于Linux的系統和物聯網設備下手。這種攻擊使用OpenSSH的補丁版本來控制受影響的設備,并安裝加密貨幣劫持惡意軟件。

攻擊背后的威脅分子利用已建立的犯罪基礎設施,將一家東南亞金融機構的子域用作指揮和控制(C2)服務器,他們使用后門來部署各種工具和組件,比如rootkit和IRC機器人程序,以竊取設備資源從事挖幣活動。后門還在受影響的設備上安裝OpenSSH的補丁版本,以便威脅分子劫持SSH憑據,在網絡中橫向移動,并隱藏惡意SSH連接。這種攻擊的復雜性和范圍表明攻擊者不遺余力地逃避檢測。

我們在這篇博文中分析了這次攻擊中使用的工具和技術,以及威脅分子為逃避受影響設備端的檢測所做的努力。

攻擊鏈

威脅分子通過試圖在配置錯誤的面向互聯網的Linux設備上蠻力破解各種憑據來發起攻擊。一旦闖入目標設備,他們就禁用shell歷史記錄,并從遠程服務器上檢索一個名為openssh-8.0p1.tgz的受攻擊OpenSSH歸檔文件。該歸檔文件含有良性的OpenSSH源代碼以及幾個惡意文件:shell腳本inst.sh、面向多種架構(x86-64、arm4l、arm5l、i568和i686)的后門二進制文件,以及含有shell腳本vars.sh的歸檔文件(包含用于后門活動的嵌入式文件)。

在安裝攻擊載荷之后,shell腳本inst.sh運行與目標設備的架構相匹配的后門二進制文件。后門是一個shell腳本,使用名為Shell腳本編譯器(shc)的開源項目編譯而成,使威脅分子能夠執行后續的惡意活動,并在受影響的系統上部署額外的工具。

圖1. OpenSSH木馬攻擊鏈

自定義后門部署開源rootkit

一旦在設備上運行,shell腳本后門就測試對/proc的訪問,以確定該設備是不是蜜罐。如果它不能訪問/proc,它確定該設備是蜜罐并退出。否則,它會泄露有關設備的信息,包括其操作系統版本、網絡配置以及/etc/passwd和/etc/shadow里面的內容,通過電子郵件將這些信息發送到硬編碼地址dotsysadmin[@]protonmail[.]com以及威脅分子作為腳本參數提供的任何電子郵件地址。

在受支持的系統上,后門會下載、編譯并安裝GitHub上的兩個開源rootkit:Diamorphine和Reptile。后門配置Reptile以便通過端口4444連接到C2域rsh.sys-stat[.]download,并隱藏其子進程、文件或其內容。微軟研究人員估計,Diamorphine rootkit也被用來隱藏進程。

圖2. 文件中出現在__R_TAG之間的任何內容(被定義為“ubiqsys”)都將被隱藏

為了保證對設備的持久SSH訪問,后門會在系統上所有用戶的authorized_keys配置文件中附加兩個公鑰。

圖3. 為所有用戶添加SSH密鑰,以實現持久SSH訪問

后門通過從Apache、nginx、httpd和系統日志中刪除含有作為腳本參數指定的IP和用戶名的記錄來隱藏活動。此外,它還能夠安裝一個名為logtamper的開源實用程序,以清除記錄有關用戶登錄會話和系統事件的信息的utmp日志和wtmp日志。

通過壟斷設備資源,并阻止和與這些活動相關的硬編碼主機和IP列表進行通信,后門消除了可能存在于設備上的其他挖幣軟件的加密貨幣挖掘競爭。它通過添加iptables規則以放棄與主機和IP的通信,并配置/etc/hosts使主機解析為本地主機地址來做到這一點。它還通過名稱識別挖礦軟件進程和文件,終止它們或阻止對它們的訪問,并刪除authorized_keys中配置的其他攻擊者對SSH的訪問。

修補OpenSSH源代碼

后門使用Linux patch實用程序,為其軟件包中所含的OpenSSH源代碼打上補丁文件ss.patch(該補丁文件嵌入在vars.sh中)。一旦打上了補丁,后門就會編譯并在設備上安裝修改后的OpenSSH。

受感染的OpenSSH授予攻擊者對設備和設備處理的SSH憑據的持久訪問權。補丁安裝的鉤子(hook)可以攔截設備SSH連接的密碼和密鑰,無論是作為客戶端還是作為服務器。然后將密碼和密鑰加密存儲在磁盤上的一個文件中。此外,補丁支持通過SSH進行root登錄,并通過禁止記錄威脅分子的SSH會話來隱藏攻擊者的存在,這些會話由特殊密碼加以區別。

OpenSSH的修改版本模仿合法OpenSSH服務器的外觀和行為,因此可能比其他惡意文件對檢測工作構成更大的挑戰。補丁版本的OpenSSH還可能使威脅分子能夠訪問和破壞其他設備。這種類型的攻擊表明了企圖滲入和控制暴露設備的攻擊者采用的技術和持久性。

圖4. OpenSSH補丁保存入站的SSH密碼(ss.patch)

僵尸網絡活動

后門運行嵌入在shell腳本vars.sh中的第二道攻擊載荷,這是略微修改的ZiggyStarTux版本,而ZiggyStarTux是基于Kaiten惡意軟件的開源IRC機器人程序。其功能之一是執行從C2發出的bash命令,并擁有分布式拒絕服務(DDoS)功能。

該后門使用各種機制在受感染的系統上實現ZiggyStarTux持久性。它將ZiggyStarTux二進制文件復制到磁盤上的幾個位置,并建立計劃任務以便定期調用該二進制文件。此外,它運行一個bash腳本,通過創建和配置服務文件/etc/systemd/system/network-check.service將ZiggyStarTux注冊為systemd服務。

圖5. 將ZiggyStarTux注冊為systemd服務

分析ZiggyStarTux后發現,威脅分子剝離了與日志記錄相關的二進制字符串,加入了一個函數,將機器人程序的進程ID寫入到/var/run/sys_checker.pid,允許后門讀取該文件,并使用已安裝的rootkit隱藏該進程ID。

ZiggyStarTux機器人程序通過托管在位于不同地區的各個域和IP上的IRC服務器與C2進行通信。有證據表明,威脅分子利用托管在他們自己的一臺服務器上的東南亞金融機構的子域來偽裝流量。

為了接收命令,ZiggyStarTux機器人程序連接到IRC服務器,并加入一個名為##..##的由密碼保護的隱藏頻道。該服務器發出bash命令,指示機器人程序從遠程服務器下載并啟動兩個shell腳本。第一個腳本lscan從服務器檢索lssh.tgz。這個腳本歸檔文件掃描子網中每個IP,以查找使用密碼列表的SSH訪問。腳本將每次連接活動的結果都記錄在日志文件中。

第二個腳本zaz從遠程服務器獲取帶有嵌入式后門的受感染的OpenSSH軟件包。使用電子郵件地址ancientgh0st@yahoo[.]com作為參數進行安裝,充當設備信息的額外泄露點。此外,zaz檢索名為hive-start.tgz的歸檔文件,該歸檔文件含有針對Hiveon OS系統設計的挖礦惡意軟件,而Hiveon OS是一種基于Linux的開源操作系統,專為加密貨幣挖掘而設計。

表明犯罪合作的跡象

微軟研究人員追蹤到這起活動源于黑客論壇cardingforum[.]cx上一個名為asterzeu的用戶,該用戶在這個平臺上出售多種工具,包括SSH后門。域madagent[.]tm于2015年注冊,電子郵件地址與用戶名相匹配,并在四年期間里與ZiggyStarTux的C2域之一madagent[.]cc共享多臺服務器。此外,研究人員已查明了威脅分子之間shell腳本后門的分布,加強了在惡意軟件即服務市場上共享或銷售的工具和基礎設施網絡的證據。

圖6. 用戶“asterzeu”在黑客論壇出售惡意工具的帖子

緩解和保護指南

微軟建議企業采取以下步驟來保護設備和網絡免受該威脅:

加固面向互聯網的設備,以遠離攻擊

確保設備的安全配置:將默認密碼修改為強密碼,并禁止外部訪問SSH。

通過更新確保設備安全狀況:確保設備已打上了最新的固件和補丁。

使用最低權限訪問:使用安全虛擬專用網(VPN)服務進行遠程訪問,限制對設備的遠程訪問。

如果可能,請將OpenSSH更新到最新版本。

采用全面的物聯網安全解決方案(比如Microsoft Defender for IoT),以便洞察和監測所有物聯網和OT設備、進行威脅檢測和響應,并與SIEM/SOAR和XDR平臺(比如Microsoft Sentinel和Microsoft 365 Defender)進行集成。

使用具有跨域可見性和檢測功能的安全解決方案,比如Microsoft 365 Defender,它提供跨端點、身份、電子郵件、應用程序和數據的集成式防御。

攻陷指標