Android 銀行木馬 BrazKing 帶著顯著的規避改進回來了
IBM 的研究人員發現了一個新版本的 BrazKing Android 銀行木馬,它可以實時從命令和控制 (C2) 服務器中提取虛假的覆蓋屏幕。
在之前的版本中,BrazKing 濫用無障礙服務來檢測用戶正在打開哪個應用程序,并從硬編碼的 URL 中拉出相關的覆蓋屏幕并將其呈現在合法應用程序的頂部。
“現在,它會自動調用攻擊者的服務器,即時請求這些匹配項。檢測正在打開哪個應用程序,現在在服務器端完成,惡意軟件會定期向 C2 發送屏幕內容。然后從 C2 服務器激活憑據抓取,而不是通過惡意軟件的自動命令。” 陳述了 IBM 發布的分析。
實施這種方法,攻擊者可以根據多種因素改變其行為,例如受害者的 IP(巴西/其他)和對虛擬化環境(如模擬器)的檢測。
與 Android 設備上的經典覆蓋惡意軟件利用權限“android.permission.SYSTEM_ALERT_WINDOW”顯示覆蓋不同,最新版本的 BrazKing 沒有使用它更難以捉摸。
BrazKing 通過將假屏幕的 URL 從 C2 加載到窗口中的 webview 來顯示其覆蓋屏幕。 當從無障礙服務中添加 webview 時,木馬使用TYPE_ACCESSIBILITY_OVERLAY作為窗口類型。
在向用戶顯示覆蓋屏幕的同時,BrazKing 可以在后臺攔截視圖,點擊按鈕甚至在 Android 文本視圖中輸入文本。
惡意應用程序不是通過官方商店分發的,最初的感染媒介是一條包含 URL 的網絡釣魚消息,該消息指向一個聲稱該設備因安全問題而被阻止的網站。登陸頁面指示訪問者通過點擊它包含的按鈕來“更新”操作系統。研究人員注意到,攻擊者在登陸頁面上使用 HTTPS 以避免引起懷疑。

點擊按鈕后,用戶通過瀏覽器啟動 BrazKing 的下載,但他/她必須批準從“未知來源”下載應用程序。該惡意軟件試圖以 Google 要求為幌子欺騙用戶授予權限。
惡意軟件請求訪問“無障礙服務”以捕獲屏幕截圖和擊鍵,而無需請求任何會揭示其惡意活動的額外權限。
濫用無障礙服務的活動越少:
- 以編程方式剖析屏幕,而不是以圖片格式截取屏幕截圖。這可以通過編程方式完成,但需要在需要用戶明確批準的非 root 設備上完成。
- 通過閱讀屏幕上的視圖來實現鍵盤記錄功能。
- RAT 功能——BrazKing 可以通過點擊按鈕或鍵入文本來操縱目標銀行應用程序。
- 通過閱讀屏幕上顯示的短信,在沒有“android.permission.READ_SMS”許可的情況下閱讀短信。
- 通過閱讀“聯系人”屏幕上的聯系人,在沒有“android.permission.READ_CONTACTS”權限的情況下閱讀聯系人列表。
從 Android 11 開始,Google 已將已安裝的應用列表歸類為敏感信息,因此任何試圖獲取它的惡意軟件都會被 Play Protect 標記為惡意。
對于所有需要確定受感染設備上安裝了哪些銀行應用程序以提供匹配登錄屏幕的銀行覆蓋木馬來說,這是一個新問題。
研究人員指出,Android 版本 11 (SKD 30) 谷歌銀行惡意軟件無法請求已安裝應用程序的列表,為了訪問這些信息,他們必須在清單中聲明 android.permission.QUERY_ALL_PACKAGES 或“查詢”元素。
BrazKing 通過依賴屏幕剖析功能來查看用戶可能正在查看的應用程序,從而避免詢問這些權限。
IBM 研究人員注意到 BrazKing 使用字符串混淆來保護其內部資源。它使用硬編碼密鑰應用 XOR,并使用 Base64 對資源進行編碼。無論如何,使用常量密鑰使惡意軟件研究人員很容易逆轉惡意代碼。
惡意軟件通過點擊“返回”或“主頁”按鈕阻止用戶卸載惡意應用程序,如果用戶嘗試打開防病毒應用程序,希望掃描并刪除安全工具中的惡意軟件,它也會這樣做。
IBM 發布的報告包含有關威脅的其他信息,包括妥協指標 (IoC)。