新型安卓惡意軟件利用 .NET MAUI 框架逃避檢測
McAfee 研究人員警告稱,安卓惡意軟件活動正在利用 .NET MAUI 框架逃避檢測。這些威脅偽裝成合法服務,竊取用戶的敏感信息。
.NET MAUI(Multi-platform App UI,多平臺應用 UI)是微軟推出的一款跨平臺框架,開發者可以使用 C# 語言構建原生移動和桌面應用程序。它允許開發者通過單一代碼庫創建可在安卓、iOS、Windows 和 macOS 上運行的應用程序,從而簡化開發和維護工作。.NET MAUI 取代了 Xamarin.Forms,并提供了一個統一的 UI 框架,支持特定平臺的集成。
惡意軟件的技術特點
攻擊者利用.NET MAUI 框架將惡意代碼隱藏在 C#二進制文件(blob binaries)中,而非傳統的 DEX 文件,從而逃避安全檢測。 McAfee 研究人員詳細分析了一款針對印度用戶的虛假 IndusInd Bank 應用程序,該程序通過隱藏的.NET MAUI 惡意負載竊取個人和銀行數據。
研究人員在報告中指出:“與典型的惡意應用程序不同,Java 或本地代碼中沒有明顯的惡意代碼痕跡。相反,惡意代碼隱藏在 assemblies 目錄中的 blob 文件中。”竊取的數據隨后被發送到攻擊者的命令與控制(C2)服務器。
此外,研究人員還發現另一款針對中文用戶的惡意軟件,通過第三方應用商店傳播,竊取聯系人、短信和照片。該惡意軟件采用多階段動態加載技術,通過三個步驟加密并加載其惡意負載,進一步逃避檢測。
惡意軟件的攻擊流程
該惡意軟件通過以下三個階段執行攻擊:
- 第一階段:應用程序的主活動(定義在 AndroidManifest.xml 中)解密一個經過 XOR 加密的文件并動態加載它。該文件作為下一階段的加載器。
- 第二階段:動態加載的文件解密另一個經過 AES 加密的文件并加載它。這一階段仍未暴露核心惡意行為,僅作為另一層混淆。
- 第三階段:解密的文件包含與.NET MAUI 框架相關的代碼,加載后執行核心惡意負載。
當用戶與應用程序交互(例如點擊按鈕)時,惡意軟件會悄無聲息地竊取數據并將其發送到 C2 服務器。
惡意軟件的隱蔽手段
為了進一步隱藏其行為,該惡意軟件還采取了以下措施:
- 在 AndroidManifest.xml 中申請過多權限,干擾分析。
- 使用加密的 Socket 通信隱藏竊取的數據。
- 偽裝成多種應用程序,通過非官方平臺廣泛傳播。
威脅趨勢與防護建議
研究人員指出,攻擊者越來越多地使用基于.NET MAUI 的惡意軟件,通過隱藏代碼、多階段加載、加密和混淆等技術逃避檢測。這些威脅可能長期未被發現,其日益增長的流行度表明它們正變得更加普遍。
為防范此類威脅,用戶應采取以下措施:
- 避免從非官方來源下載應用程序。
- 安裝并使用安全軟件進行實時防護。
- 定期更新設備和應用程序,修復已知漏洞。