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