愛伊米

Windows惡意軟體以Kubernetes開源容器叢集管理系統為目標

Windows Container已成為第一個已知的以Windows Container為目標的惡意軟體的受害者。在這次攻擊活動中,惡意軟體團伙穿透Kubernetes叢集以植入後門,使得攻擊者可以竊取資料和使用者憑據,甚至劫持叢集中託管的整個資料庫。

該惡意軟體是由Unit 42安全研究員Daniel Prizmant發現的。他將其命名為“Siloscape”,發音為“Silo escape”。該惡意軟體會撬開Web伺服器和資料庫中的已知漏洞,從而破壞Kubernetes節點和後門叢集。

在週一釋出的一篇文章中,Prizmant寫道,Siloscape是透過Windows Container攻擊Kubernetes叢集的惡意軟體,其主要目的是開啟“後門進入配置不當的Kubernetes叢集以執行惡意container”。

在較受歡迎的容器的中脫穎而出

在另一篇文章中,Unit 42研究人員Ariel Zelivansky和Matthew Chiodi將容器與貨船上用於打包不同材料的集裝箱進行了比較。雲容器具有類似的功能,因為它們可以將不同的材料打包在一起以提高效率,從而使開發團隊能夠快速移動並“以幾乎任何規模”執行。

以這種方式在容器中執行應用程式被稱為容器化,並且與其他遠端工作方式一樣,由於COVID-19的流行,它得到了大力發展。研究人員指出:“近年來,我們看到越來越多的組織在雲中使用容器,尤其是因為COVID-19大流行導致許多組織在尋求一種更快地移動和更有效地部署雲工作payload的方式。”

第一個針對Windows Container的惡意軟體

根據Zelivansky和Chiodi的說法,這是研究人員第一次看到針對Windows Container的惡意軟體。他們說,雲環境中的Linux作業系統已經非常流行。

Unit 42研究人員已經確定了23名Siloscape受害者,並表示有證據表明該活動已於一年多前發起。

Prizmant透過收集伺服器的建立日期來確定該活動的開始日期,大約在2020年1月12日。但他也指出,這並不一定意味著Siloscape是在那個日期建立的,相反,這很可能是惡意軟體活動開始的時候。

經過特別艱難的逆向工程,Prizmant能夠連線到Siloscape命令和控制(C2)伺服器,他發現該伺服器總共託管了313個使用者。他說,這意味著Siloscape是“更廣泛的活動的一小部分”。

Siloscape如何逃逸

該惡意軟體首先針對常見雲應用程式(例如Web伺服器)中的已知漏洞(“1-days”)進行攻擊。這種初始訪問可能是透過利用在野外發現的漏洞獲得的。去年,Prizmant記錄了一種打破Windows Container邊界的方法。在2020年發表的一份報告中,他描述瞭如果攻擊者從容器中逃離,他們會做什麼。

他選擇將重點放在當前的場景上:從Kubernetes中的Windows叢集節點逃脫,這將允許攻擊者獲得節點外的訪問權並擴散到叢集中。

在入侵Web伺服器後,Siloscape使用容器逃逸策略在Kubernetes節點上實現程式碼執行。Prizmant說,Siloscape大量使用混淆使得逆向工程變得很麻煩。“整個二進位制檔案中幾乎沒有可讀的字串。雖然混淆邏輯本身並不複雜,但它使得反轉這個二進位制檔案變得非常艱難,”他解釋說。

該惡意軟體會混淆函式和模組名稱(包括簡單的API),並且僅在執行時對其進行反混淆。他說,Siloscape不是僅僅呼叫函式,而是“努力使用同一函式的原生API(NTAPI)版本”。“最終結果是惡意軟體很難用靜態分析工具檢測到,並且讓逆向工程也困難重重。”

“Siloscape使用一對唯一的金鑰為每一次新的攻擊進行編譯,”Prizmant繼續說道。“硬編碼的金鑰使每個二進位制檔案與其他二進位制檔案略有不同,這也就解釋了為什麼我在任何地方都找不到它的雜湊值,因此也就無法僅透過雜湊來檢測Siloscape。”

Siloscape逃逸後會幹什麼

在Siloscape破壞節點後,惡意軟體會四處尋找使其能夠傳播到Kubernetes叢集中其他節點的憑據。然後,它使用IRC(一種舊協議)透過Tor匿名通訊網路連線到其C2伺服器,等待命令。

Prizmant採用了一個他認為在連線到C2伺服器時看起來合法的使用者名稱。成功連線後,他發現它仍在工作,那裡有23個“活躍受害者”,以及一個名為admin的頻道操作員。

不幸的是,大約2分鐘後,他被踢出了伺服器。兩分鐘後,伺服器關閉了——至少,它在onion他曾經連線的原始域中不再處於活動狀態。

但Siloscape惡意軟體只是整個活動的一小部分。C2伺服器上的活躍使用者比他在#WindowsKubernetes頻道中看到的要多得多——確切地說,總共有313個使用者。然而,他無法識別、聯絡或警告他們中的任何一個。

“可悲的是,當我連線到伺服器時,頻道列表是空的,這表明伺服器被配置為不顯示其頻道,”Prizmant寫道。“因此,我無法從頻道名稱中獲得更多資訊。”

但研究人員確實設法收集到了一個重要的細節,即用於受害者姓名的約定。Unit 42研究人員使用“php_35”,它的Siloscape樣本透過易受攻擊的php例項執行。包含字串“sqlinj”的其他名稱表明攻擊者可能設法透過SQL注入實現程式碼執行。

加密劫持、供應鏈中毒等的危險

Prizmant在2020年7月的帖子中表示,他的研究表明“在[Windows Server Containers]中執行任何程式碼,實際上都與在主機上執行admin一樣危險。這些容器不是為沙盒設計的,並且我發現逃離它們很容易。”

他在週一的帖子中警告說,這可能使攻擊者能夠竊取關鍵憑據、機密和內部檔案,甚至是叢集中託管的整個資料庫。如果攻擊者將組織的檔案作為要挾,它甚至可能導致勒索軟體攻擊。他說,更糟糕的是組織大規模遷移到雲端所帶來的威脅。他說,鑑於許多人正在使用Kubernetes叢集來開發和測試程式碼,漏洞“可能導致毀滅性的軟體供應鏈攻擊”。

在週一的帖子中,他解釋說,破壞整個叢集比破壞單個容器要嚴重得多,因為“一個叢集可以執行多個雲應用程式,而單個容器通常執行單個雲應用程式。”

他還指出,一方面,Siloscape與大多數雲惡意軟體不同,後者通常側重於加密挖掘和DoS之類的資源劫持。另一方面,Siloscape“不會將自己侷限在任何特定目標上,”Prizmant說。“相反,它為各種惡意活動打開了後門。”

最近的供應鏈與Kubernetes攻擊

與Prizmant警告的相類似,供應鏈攻擊已經與間諜軟體安裝、SignSight操作、Able Desktop的入侵、航空公司的漏洞以及其中最龐大的供應鏈:太陽風(SolarWinds)對美國政府的入侵密切相關。

最近的一些頭條新聞也報道了Kubernetes的其他一些網路安全事故,包括2021年4月的安全漏洞, Kubernetes所使用的其中一個Go程式碼庫中存在漏洞,該漏洞可能會導致CRI-O和Podman容器引擎的拒絕服務攻擊。CRI-O和Podman都是容器引擎,類似於Docker,主要用於在雲端執行操作和管理容器。CRI-O和Podman使用“containers/storage”來處理容器映象的儲存和下載。四月份早些時候,一場有組織的、自我傳播的cryptomining活動被發現,其目標是配置錯誤的開放Docker Daemon API埠。

研究人員表示,同樣在4月份,微軟的雲容器技術Azure Functions被發現存在一個漏洞,該漏洞允許攻擊者直接寫入檔案。幾個月前,也就是2021年2月,一種新的惡意軟體正在劫持Kubernetes叢集以對Monero進行加密。

雲基礎設施需要更高的安全性,另一個可以佐證的例子是,在最近的實驗室測試中,一個簡單的Docker容器蜜罐在24小時內被用於四次不同的犯罪活動。

雲原生戰略

企業資料安全公司Comforte AG的產品經理Trevor Morgan認為Siloscape是一種威脅,它會讓企業對採用雲計算感到緊張。“企業採用雲原生戰略是因為他們希望提高創新能力。不幸的是,大多陣列織都在努力確保正確的資料安全級別,以避免損害雲原生應用程式架構,”他週一透過電子郵件告訴Threatpost。

“像Siloscape這樣的惡意軟體透過攻擊容器化的核心使這項工作複雜化,並在雲原生開發工作方面致使大家產生猶豫。”他指出,“惡意軟體威脅在靈活、謹慎以及安全處理敏感資料之間做出了錯誤的選擇。”

Morgan建議,專門為雲原生應用程式構建的以資料為中心的安全性,例如專門為雲本地應用程式構建的標記化,透過保護資料本身而不是“圍繞雲本地應用程式環境的分層的、甚至是無定形的邊界”,可以“幫助在這兩者之間取得適當的平衡”。

“組織可以放心,資料安全不會妨礙速度和靈活性,因為即使在容器中的標記化敏感資訊,如果落入犯罪分子之手也不會受到損害,”他說,“採用雲原生策略的組織可以在實現效率的同時確保資料安全。”

應對策略

Prizmant建議使用者遵循Microsoft的建議,不要將Windows容器用作安全功能。微軟建議對依賴容器化作為安全邊界的任何事物嚴格使用Hyper-V容器,他指出:“應假定在Windows Server容器中執行的任何程序都與主機上的admin具有相同的許可權,在本例中就是Kubernetes節點。如果您在需要保護的Windows Server容器中執行應用程式,我們建議將這些應用程式移至Hyper-V容器。”

“Siloscape向我們展示了容器安全的重要性,正式因為存在容器逃逸,惡意軟體才給我們造成了如此重大的損害,”他寫道。“組織保持配置良好且安全的雲環境以抵禦此類威脅至關重要。”

參考及來源:https://threatpost。com/windows-containers-malware-targets-kubernetes/166692/