Ubuntu 中已卸載應用程式處理程式的攻擊場景

Aqua Security 的研究人員提請注意使用「未找到命令」處理程序的實作功能對 Ubuntu 發行套件的使用者進行攻擊的可能性,該處理程序會在嘗試啟動某個程式時提供提示不在系統中。問題是,當評估系統中不存在的要運行的命令時,「command-not-found」不僅使用標準儲存庫中的套件,而且在選擇建議時還使用 snapcraft.io 目錄中的 snap 套件。

當根據 snapcraft.io 目錄的內容產生建議時,「command-not-found」處理程序不會考慮套件狀態,並且僅涵蓋由不受信任的使用者新增至該目錄的套件。因此,攻擊者可以在snapcraft.io 中放置一個包含隱藏惡意內容的包,並且其名稱與現有DEB 包、最初不在存儲庫中的程序或名稱反映典型打字錯誤和用戶輸入名稱時錯誤的虛構應用程式重疊。流行的實用程式。

例如,您可以放置​​“tracert”和“tcpdamp”包,期望用戶在鍵入“traceroute”和“tcpdump”實用程式的名稱時會犯錯誤,並且“command-not-found”將推薦安裝攻擊者從snapcraft.io 放置的惡意軟體包。用戶可能沒有註意到這個問題,並認為系統只推薦經過驗證的軟體包。攻擊者還可以在snapcraft.io中放置一個與現有deb包名稱重疊的包,這種情況下「command-not-found」會給出安裝deb和snap的兩個建議,用戶可以選擇snap,認為它更安全或受到新版本的誘惑。

Ubuntu 中已卸載應用程式處理程式的攻擊場景

snapcraft.io 允許自動審核的 Snap 應用程式只能在隔離環境中運作(非隔離 Snap 僅在手動審核後才會發布)。攻擊者在可以存取網路的隔離環境中執行操作可能就足夠了,例如挖掘加密貨幣、執行 DDoS 攻擊或發送垃圾郵件。

攻擊者還可以在惡意套件中使用隔離繞過技術,例如利用核心和隔離機制中未修補的漏洞,使用snap介面存取外部資源(用於隱藏音訊和視訊錄製),或在使用X11協定時擷取鍵盤輸入(建立在沙箱環境中工作的鍵盤記錄器)。

來源: opennet.ru

添加評論