完美惡意軟體
一種威脅軟體已經感染了數千個基於 Linux 的系統。它因其隱密的方法、可利用的廣泛錯誤配置以及可執行的各種有害操作而脫穎而出。
這種威脅於 2021 年首次被發現,它利用 20,000 多個常見的錯誤配置來滲透系統,對數百萬連網裝置構成風險。此外,它還利用了 CVE-2023-33426,這是一個嚴重漏洞,最高嚴重程度為 10,去年在 Apache RocketMQ(Linux 系統上廣泛使用的訊息和串流平台)中進行了修補。
目錄
Perfctl 惡意軟體具有大量惡意功能
Perfctl 的名字來自一個秘密挖掘加密貨幣的惡意元件。身份不明的開發人員將 Linux 效能監控工具「perf」的名稱與「ctl」(命令列實用程式中的常見縮寫)組合在一起。 Perfctl 的一個顯著功能是它使用的進程和檔案名稱與 Linux 環境中常見的進程和檔案名稱非常相似,從而使其能夠逃避受影響用戶的偵測。
為了進一步隱藏其存在,Perfctl 採用了各種隱密策略。其中包括將許多元件安裝為 rootkit,這是一種特定類別的惡意軟體,旨在隱藏作業系統和管理工具。其他規避策略包括:
- 新用戶登入時停止易於檢測的活動
- 利用 TOR 上的 Unix 套接字進行外部通信
- 執行後刪除其安裝二進位檔案並隨後作為背景服務運行
- 使用稱為掛鉤的技術來操縱 Linux 進程 pcap_loop,以防止管理工具記錄惡意流量
- 抑制訊息錯誤以避免執行期間出現可見警報。
Perfctl 專為持久性而設計,即使在重新啟動或嘗試消除核心元件後,它也可以保留在受感染的電腦上。它透過修改 ~/.profile 腳本等技術來實現這一點,該腳本會在使用者登入期間初始化環境,從而使惡意軟體能夠在合法伺服器進程之前載入。它還將自身從記憶體複製到多個磁碟位置。 pcap_loop 的掛鉤進一步增強了持久性,即使在檢測到並刪除主要有效負載後,也允許不安全活動繼續進行。
除了利用系統資源挖掘加密貨幣之外,Perfctl 還將受感染的機器轉變為獲利代理,允許付費客戶中繼其網路流量。網路安全研究人員還指出,該惡意軟體充當安裝其他惡意軟體系列的後門。
Perfctl惡意軟體感染的攻擊流程
利用漏洞或錯誤配置後,漏洞程式碼從受感染的伺服器下載主要有效負載,該伺服器已變成惡意軟體的匿名分發管道。在所檢查的攻擊中,有效負載名為 httpd。執行後,該檔案會將自身從記憶體複製到 /temp 目錄中的新位置,執行複製的版本,終止原始進程,並刪除下載的二進位。
一旦重新定位到 /tmp 目錄,該檔案就會以模仿已知 Linux 進程的不同名稱執行,在本例中特別命名為 sh。隨後,它建立本地命令與控制(C2)進程。它試圖透過利用 CVE-2021-4043 來獲取根系統權限,CVE-2021-4043 是一個權限升級漏洞,已於 2021 年在流行的開源多媒體框架 Gpac 中修復。
然後,惡意軟體將自身從記憶體複製到其他幾個磁碟位置,再次使用類似於常規系統檔案的名稱。它還部署了一個 Rootkit 以及一套常用的 Linux 實用程序,這些實用程式已更改為 Rootkit 以及挖掘元件。在某些情況下,惡意軟體會安裝用於「代理劫持」的軟體,這是指透過受感染的電腦秘密路由流量,隱藏資料的真實來源。
作為其 C2 操作的一部分,該惡意軟體會開啟一個 Unix 套接字,在 /tmp 目錄中建立兩個目錄,並在其中儲存操作資料。該資料包括主機事件、其副本的位置、進程名稱、通訊日誌、令牌和其他日誌資訊。此外,它利用環境變數來儲存影響其執行和行為的資料。
所有二進位檔案都經過打包、剝離和加密,顯示了我們對規避安全措施和使逆向工程工作複雜化的堅定承諾。該惡意軟體採用先進的規避策略,例如在 btmp 或 utmp 檔案中偵測到新用戶時暫停其活動,並終止任何競爭惡意軟體以保持對受感染系統的主導地位。
Perfctl 使數萬台設備面臨風險
透過分析跨各種服務和應用程式連接到互聯網的 Linux 伺服器數量的數據,研究人員估計有數千台機器感染了 Perfctl。他們的發現表明,易受攻擊的機器(尚未應用 CVE-2023-33426 修補程式或配置錯誤的機器)數量達到數百萬台。然而,研究人員尚未評估有害礦工產生的加密貨幣總量。
要檢查其裝置是否已成為 Perfctl 的目標或感染,使用者應尋找已識別的妥協指標。此外,他們應該警惕 CPU 使用率的異常峰值或意外的系統減速,尤其是在空閒期間。