Kinsing 惡意軟體使用 Rootkit的分析

Kinsing附帶了數個shell腳本。這些shell腳本負責下載和安裝、移除或反安裝各種資源密集型服務和程序。這篇文章會重點介紹rootkit組件的作用。

我們上一次討論Kinsing惡意軟體是在2020年4月,當時我們分析其基於Golang的Linux程式會針對設定不當的Docker Daemon API端口植入虛擬貨幣挖礦程式。

隨著Shell腳本以及Linux惡意後門和程式的不斷發展,Kinsing作者會持續跟上腳步也不足為奇了。在本文中,我們會討論惡意軟體變種當前的功能,包括加入更難被受感染機器偵測到的功能。與Trident惡意軟體使用rootkit來隱藏虛擬貨幣挖礦程式的作法類似,Kinsing也整合了會預載程式庫的使用者模式rootkit

惡意軟體本身附帶了數個shell腳本。這些shell腳本負責下載和安裝Kinsing後門程式,挖礦程式和rootkit,以及移除或反安裝各種資源密集型服務和程序。這些腳本與前面文章裡討論的腳本類似。這篇文章會重點介紹rootkit組件。

技術分析


部署shell腳本的第一步是移除/etc/ld.so.preload(如果存在)。

Removing the immutable file flag
Removing the immutable file flag
圖1. 移除/etc/ld.so.preload

這/etc/ld.so.preload檔案會在開機時將共享物件或程式庫路徑列表載入每個使用者模式程序,早於任何其他的共享程式庫 – 包括C執行時期程式庫(libc.so)。各Linux發行版本預設不會存在該檔案。因此,必須特意去建立。

繼續閱讀

HiddenWasp惡意軟體借用Mirai及Winnti程式碼攻擊Linux系統

資安研究人員發現了一隻針對Linux系統的新惡意軟體。這隻稱為HiddenWasp的惡意軟體被認為是用來對已入侵系統進行第二階段的針對性目標攻擊(Targeted attack )

HiddenWasp惡意軟體借用Mirai及Winnti程式碼攻擊Linux系統

HiddenWasp跟其他感染物聯網(IoT ,Internet of Thing)裝置成為分散式阻斷服務攻擊 (DDoS) 殭屍網路(botnet)或佈署虛擬貨幣挖礦( coinmining )病毒的Linux威脅不同。根據Intezer的Ignacio Sanmillan所說,HiddenWasp被用來遠端控制已入侵系統。它具有能夠避免被偵測的Rootkit功能。

繼續閱讀

挖礦惡意程式攻擊 Linux 系統,並利用 Rootkit 自我隱藏

隨著虛擬加密貨幣越來越熱門,網路犯罪集團不意外地正積極開發、微調各種虛擬加密貨幣挖礦惡意程式。事實上,這類威脅是趨勢科技最常一直偵測到的惡意程式,而且各種平台和裝置皆有。

最近我們發現一個新的挖礦( coinmining )惡意程式 (趨勢科技命名為 Coinminer.Linux.KORKERDS.AB) 專門攻擊 Linux 系統,而且會利用某個 Rootkit (Rootkit.Linux.KORKERDS.AA) 來隱藏其惡意執行程序,讓監控工具看不到其執行程序。這一點會讓偵測工作變得更困難,因為被感染的系統只會看到效能變差,但卻看不出是誰在消耗資源。除此之外,該惡意程式還可以更新或升級自己的程式和組態設定檔案。

值得注意的一點是,在 Unix 以及類 Unix 系統 (如 Linux) 的檔案權限設定方式下,只要是具備執行權限的檔案都能執行。我們推測,這個虛擬加密貨幣挖礦惡意程式的感染途徑是經由惡意的第三方/非官方或受感染的外掛程式 (如:媒體串流軟體)。當使用者安裝這類外掛程式時,就等於提供它系統管理權限,如果是已經被駭的應用程式,惡意程式就能以應用程式所擁有的權限來執行。這樣的感染方式並非罕見,因為其他 Linux 虛擬加密貨幣挖礦惡意程式也是利用這樣的途徑入侵。

【延伸閱讀:Unix:會徹底改變勒索病毒遊戲規則嗎?

圖 1:虛擬加密貨幣惡意程式的感染過程。
繼續閱讀

用在網路間諜活動的Rootkit :LoJax UEFI

安全研究人員發現了一個統一可延伸韌體介面(UEFI)的Rootkit,這個rootkit命名為LoJax(趨勢科技偵測名稱為BKDR_FALOJAK.USOMON 以及Backdoor.Win32.FALOJAK.AA)被用來執行網路間諜活動。這個rootkit包含其他會修改系統韌體的工具病感染惡意程式。

研究人員表示,這個網路間諜活動所設計的LoJax rootkit主要目標是巴爾幹地區的組織以及中歐和東歐的國家。

LoJax被用來在系統上建立惡意程式,並且在電腦開機時會自動執行,LoJax影響了UEFI,UEFI是作業系統連接到韌體的介面。因此即使重新安裝作業系統或是置換硬碟,LoJax仍會保留在UEFI中。

[閱讀:利用Mac OS X中的漏洞的概念驗證顯示可能會對Mac的UEFI進行攻擊]

 

當電腦受感染之後,駭客便可以遠端存取這台電腦,並安裝或執行其他惡意程式。安全研究人員表示,這個惡意程式也可以用來追縱電腦所在的位置以及系統所有者。

研究人員分析的LoJax樣本發現,其中的網域用也被用於Sednit後門的C&C通信,而Sednit後門正是用於網絡間諜活動的後門程式。

[入門:保護網絡免於目標式的攻擊]

 

LoJax並不是出現在網路上的第一支UEFI rootkit。事實上,在2015年,Hacking Team組織使用一個UEFI/basic input/output system (BIOS)的rootkit使得惡意工具程式(遠端遙控系統)可以安裝在目標系統上。

就如同Hacking Team的UEFI/BIOS rootkit,Lojax包含了多個工具用以存取或修改電腦的UEFI或BIOS設定。這些工具包含下列功能:

  • 收集並匯出系統的設定至文字檔(text)。
  • 讀取電腦上UEFI / BIOS所在的序列周邊介面(SPI)的記憶體內容,並存成檔案(如同韌體的映像檔)
  • 透過嵌入的惡意UEFI模組安裝rootkit至儲存的映像檔中,然後將修改後的映像檔寫回至SPI 快閃記憶體中。

研究人員也發現若SPI快閃記憶體的寫入功能被關閉的話,它就會利用舊的弱點(CVE-2014-8273) 。

[2018上半年資安總評:硬體上出現的嚴重漏洞更難修補]

 

完全刪除UEFI中的LoJax牽涉到重新刷新SPI快閃記憶體,這需要非常專業的知識(亦即須確保韌體和主機板的相容性)。

另一方面,使用者可以啟用安全開機(Secure Boot)以防範Lojax,這是一種安全機制,可確保使用由原始設備製造商有效簽章的軟體啟動系統。安全開機功能可以偵測並阻擋遭竄改的Loader、作業系統檔案以及其他軟體。適用於大多數現代PC(Windows 8及更新版本的作業系統)。由於LoJax沒有有效的數位簽章,因此啟用安全開機可以阻擋Lojax。 Microsoft也有關於設定安全開機的指南可供參考。

企業應該遵循安全的最佳範例:保持端點電腦以及韌體的修補及更新,採用最低的必要權限開放原則,以及建立具備縱深防禦的安全防護以阻擋惡意威脅-從端點網路伺服器以及閘道進行多層次的防護。

 

趨勢科技的解決方案

趨勢科技趨勢科技HYPERLINK “https://t.rend.tw/?i=Mzc4MQ”Deep Security解決方案提供偵測防護,深層的分析。可針對現今隱密的惡意程式以及目標式攻擊提供即時且主動的防護。Deep Security提供全面的防禦,藉由特別開發的過濾引擎保護企業免於目標式的攻擊以及進階的威脅,客製化的沙箱,以及整個攻擊生命週期的關聯性分析技術,即使沒有掃描引擎或病毒碼更新,也可以偵測威脅。趨勢科技端點解決方案例如趨勢科技 Smart Protection Suites  以及 Worry-Free Business Security,藉由偵測惡意程式以及阻擋所有相關的惡意連結可提供使用者和企業有效的安全防護。

 

◎原文來源: LoJax UEFI Rootkit Used in Cyberespionage

 

這裡有隻神奇寶貝,是會攻擊 Linux 系統的月精靈!

以神奇寶貝月精靈為名的 Umbreon Rootkit , 攻擊 x86 和 ARM 處理器的 Linux 系統

趨勢科技前瞻威脅研究 (FTR) 團隊最近取得了一個新的 Rootkit家族樣本。此 Rootkit 家族的名字叫做「Umbreon」(與第 197 號神奇寶貝「月精靈」同名),會攻擊 Intel 和 ARM 處理器的 Linux 系統,因此一些內嵌式裝置也可能遭殃。(註:此 Rootkit 還真符合這隻神奇寶貝的特性,因為月精靈喜歡躲在黑漆漆的夜裡,所以與 Rootkit 的特性吻合。)

我們已針對這個 Rootkit 進行了詳細分析,並且將樣本提供給業界來協助資安界攔截此威脅。

編按: Rootkit是一種技術,用途在修改系統核心以便隱藏特定的檔案或是處理程序,甚至是登錄值.也因此常常會被病毒拿來利用作為躲避追查的手法之一

Umbreon 的發展始於 2015 年初,但其作者至少從 2013 年起即活躍於網路犯罪地下網路。根據一些駭客在地下論壇和 IRC 頻道上的說法,Umbreon 非常難以偵測。我們的研究已找出該 Rootkit 的運作方式以及它如何躲藏在 Linux 系統當中。

Umbreon 是經由駭客手動安裝到受害裝置或伺服器上。安裝之後,駭客即可經由該程式來遙控受害裝置。

何謂 Ring 3 Rootkit?

Rootkit 是一種難以偵測及發現的持續性威脅。它的功用就是要讓自己 (與其他惡意程式) 能夠躲過系統管理員、資安分析師、使用者、掃瞄引擎、鑑識分析以及系統工具的偵測。此外,它也可用來開啟一道後門,或者透過幕後操縱 (C&C) 伺服器讓駭客從遠端暗中遙控及監控受害機器。

這類程式有幾種執行模式,分別具備不同的存取權限:

  • 使用者模式 (Ring 3)
  • 核心模式 (Ring 0)
  • 虛擬化監管程式 (Hypervisor) 模式 (Ring -1)
  • 系統管理模式 (SMM) (Ring -2)

此外,一些研究也發展出一種在主機板或其他裝置的某些晶片上執行的 Rookit,這類 Rootkit 的執行模式為 Ring -3。在越底層執行的 Rootkit 就越難偵測及處理,但這並不表示 Ring 3 的 Rootkit 就很容易清除。

Ring 3 (也就是在使用者模式執行的) Rootkit 雖不會在系統上安裝一些系統核心物件,但卻會攔截 (hook) 系統的核心函式庫,這些函式庫是一般程式呼叫系統重要功能的介面,例如:讀/寫檔案、產生執行程序、傳送網路封包。因此,就算是在使用者模式下執行,這類 Rootkit 也可能有辦法監控甚至改變作業系統的運作。

在 Linux 系統上,當某個程式呼叫 printf() 這個函式時,該函式會再呼叫同一函式庫內一連串的其他函式,如:_IO_printf() vprintf()。而這些函式最終會呼叫 write() 這個系統呼叫 (syscall)。一個 Ring 0 的 Rootkit 會直接在核心模式下攔截這個系統呼叫 (但這需要在系統當中插入核心物件/模組),反觀一個 Ring 3 的 Rootkit 只需攔截使用者模式下的某些中間函式,不需撰寫核心模式下的原生程式碼 (因為這有相當的難度)。

跨平台功能

Umbreon 可在三個不同平台上執行:x86、x86-64 和 ARM (Raspberry Pi)。這套 Rootkit 的可攜性非常高,因為它並未用到任何綁定平台的程式碼:這套 Rootkit 除了一些輔助工具是以 Python 和 Bash 等腳本語言撰寫之外,純粹是以 C 語言撰寫。

趨勢科技判斷作者應該是刻意這麼做,好讓 Umbreon輕鬆支援前述三種平台。

後門認證機制

Umbreon 在安裝過程當中會在 Linux 系統上建立一個使用者帳號讓駭客經由後門進出受害的系統。這個後門帳號可經由 Linux 支援的任何認證機制 (如 SSH) 來存取,只需透過一個外掛的認證模組 (PAM) 即可。

該使用者帳號的群組識別碼 GID (group ID) 很特別,因此可讓 Rootkit 判斷試圖經由它進入系統的是不是駭客本人。由於 Umbreon 已攔截了 libc 函式庫內的函式,因此系統管理員無法在 /etc/passwd 檔案中看到這個使用者帳號。下圖顯示透過 SSH 來存取此後門帳號時會看到的畫面:

圖 1:SSH 登入畫面。 繼續閱讀