趨勢科技移動應用信譽服務(MARS)團隊最近發現了一種全新的、完全未被發現的安卓銀行木馬,名為MMRat,自2023年6月底以來一直針對東南亞的移動用戶。
研究人員將此惡意Android銀行木馬命名為MMRat (趨勢科技檢測為AndroidOS_MMRat.HRX),自2023年6月下旬以來一直針對東南亞的移動用戶。該惡意軟件以其獨特包名com.mm.user命名。可以捕獲用戶輸入和屏蔽內容,還可以通過各種技術遠程控制受害者設備,使其運營商能夠在受害者的設備上實施銀行欺詐。
此外,MMRat使用基於協議緩衝區(又名Protobuf)的特殊自定義命令與控制(CC)協議,這是一種用於序列化結構化數據的開源數據格式。這個功能在Android銀行木馬中很少見到,它在傳輸大量數據時提高了性能。
技術分析分析顯示,大多數MMRat樣本都是從一系列偽裝成官方應用商店的類似網絡釣魚網站下載的。這些網站主要在語言上有所不同,這表明了MMRat運營商的目標受害者範圍。然而,這些網絡釣魚鏈接到達受害者設備的確切方法目前尚不清楚。
越南語和泰語的應用商店頁面示例,包含提到應用程序安裝提示的文本,第二張截圖是對泰國政府實體的惡搞
在撰寫本文時,該惡意軟件在VirusTotal上完全未被發現,這表明用於使其隱蔽技術是成功的。類似的惡意軟件,如GigabudRat和Vultur,也利用類似的技術,如鍵盤記錄和屏幕捕獲,在攻擊階段取得了顯著的反規避效果。
MMRat如何被用於銀行欺詐MMRat攻擊流程如下:
1.受害者下載並安裝MMRat;
2.受害者授予MMRat必要的權限;
3.MMRat開始與遠程服務器通信,並發送大量數據,包括設備狀態、個人數據和鍵盤記錄數據。
當目標設備未被使用時,攻擊者可以遠程喚醒設備,解鎖屏幕,並執行銀行欺詐。同時,攻擊者還可以啟動屏幕捕獲,以實現設備屏幕的服務器端可視化。
在最後一步,MMRat自行卸載,從系統中刪除惡意軟件的所有痕跡。
MMRat攻擊流程
MMRat分析如前所述,MMRat能夠捕獲用戶輸入、屏幕內容並遠程控制其受害者的設備。它在很大程度上依賴於Android輔助功能服務和MediaProjection API來正常工作。
模擬和持久化為了避免被發現,MMRat經常偽裝成官方政府或約會應用程序,然後在啟動時向受害者展示一個網絡釣魚網站。隨後,它註冊一個接收器,該接收器可以接收系統事件,包括檢測系統何時打開和關閉以及重新啟動等。在收到這些事件後,惡意軟件啟動一個1x1大小的像素活動以確保其持久性。
WebView顯示的虛假登錄網站
與遠程服務器的網絡通信在啟動可訪問性服務時,MMRat與攻擊者控制的服務器建立連接。值得注意的是,MMRat在單個服務器上使用不同的端口來實現不同的功能:
MMRat在單個服務器上使用的端口
CC協議特別獨特,因為它基於Netty(一種網絡應用程序框架)和前面提到的Protobuf進行自定義,並配有精心設計的消息結構。
對於CC通信,攻擊者使用一個總體結構來表示所有消息類型,並使用“oneof”關鍵字來表示不同的數據類型。研究人員仔細地重構了CC通信中使用的主要Protobuf模式,如下圖所示。
用於CC通信的Protobuf模式
“PackType”是一個枚舉結構,可用於表示CC命令,而“pack”字段包含不同CC命令對應的詳細數據。
下圖顯示了惡意軟件使用的已定義的CC命令及其相應的描述。由於涉及雙向通信,我們將CC命令分為服務器命令和客戶端命令。服務器命令發送給客戶端,客戶端命令發送給服務器。
MMRat CC命令及其描述
收集設備狀態和個人信息MMRat收集大量的設備狀態和個人數據,其中包括網絡數據、屏幕數據、電池數據、安裝的應用程序和聯繫人列表。
1.網絡數據包括信號強度、網絡類型等信息。
2.屏幕數據包括屏幕是否被鎖定、當前正在使用的應用程序以及當前屏幕上顯示的活動等信息。
3.電池數據提供有關設備電池狀態的信息。
4.聯繫人包括用戶的聯繫人列表。
5.已安裝應用包括設備上安裝的應用。
為了及時收集這些數據,MMRat安排了一個每秒執行一次的計時器任務,同時還使用一個每60秒重置一次的計數器來確定何時執行不同的任務。
用於根據計數器執行不同任務的計時器任務
MMRat專門針對受害者的聯繫人和已安裝的應用程序列表進行收集。研究人員認為,攻擊者的目標是盜取個人信息,以確保受害者符合攻擊目標的設定。例如,受害者可能有符合特定地理條件的聯繫人,或者安裝了特定的應用程序。然後,這些信息可以用於進一步的惡意活動。
收集並上傳受害者的聯繫人名單和已安裝應用程序的詳細信息
自動權限審批一旦授予了可訪問性權限,MMRat就可以濫用它來授予自己其他權限並修改設置。例如,在前面的數據收集階段,MMRat可以自動授予自己READ_CONTACTS權限來收集聯繫人數據。
上圖中的代碼片段顯示了MMRat如何自動獲得權限。它通過啟動系統對話框並自動批准傳入的權限請求來實現這一點。自動審批功能是通過在屏幕上找到“ok”或相關關鍵詞,並使用可訪問功能模擬點擊來實現的。這意味著MMRat可以繞過用戶干預,並授予自己執行惡意活動所需的權限。
請求權限並啟動自動點擊
關鍵詞,如“ok”和其他類似的單詞和短語
操作和捕獲用戶輸入MMRat濫用可訪問性服務,通過鍵盤記錄捕獲用戶輸入和操作。這些數據可用於獲取受害者的憑證,並記錄受害者的操作,以便稍後在設備上回放。
與其他專注於特定場景的鍵盤記錄惡意軟件不同,例如只在受害者使用銀行應用程序時記錄鍵盤操作,MMRat記錄用戶操作的每個動作,並通過CC通道將它們上傳到服務器。 MMRat背後的攻擊者似乎想要從受害者那裡收集大量的操作日誌,以確定惡意軟件的下一步行動。
記錄用戶操作並將其上傳到命令與控制服務器
每個日誌都是一個LogInfo結構,通過Protobuf序列化。
除了傳統的鍵盤記錄外,該惡意軟件還對鎖屏模式特別感興趣。如果檢測到用戶正在解鎖設備,惡意軟件會收集模式值,並通過命令與控制通道上傳到服務器。這使得攻擊者可以訪問受害者的設備,即使它是鎖定的。
在鎖定屏幕上進行鍵盤登錄以獲取模式值
捕獲屏幕內容MMRat可以捕獲受害者設備的實時屏幕內容,並將內容流程傳輸到遠程服務器。為了捕獲屏幕內容,惡意軟件主要依賴於MediaProjection API來記錄受害者的屏幕。然而,我們還發現惡意軟件使用另一種方法獲取屏幕內容並繞過FLAG_SECURE保護,惡意軟件將其稱為“用戶終端狀態”。
根據觀察,我們認為屏幕內容捕獲功能與遠程控制功能結合使用,因此攻擊者可以在進行銀行欺詐時查看設備的實時狀態。我們發現,惡意軟件不會捕獲憑證,而是會不斷檢查命令,如果在30秒內沒有收到命令,它會停止屏幕內容流程。
如果沒有收到命令,則停止屏幕內容流程
Android MediaProjection API為了方便地使用MediaProjection API並將視頻數據流式傳輸到遠程服務器,MMRat濫用了一個名為rtmp-rtsp-stream-client-java的開源框架。這使得它可以記錄屏幕並通過實時流媒體協議(RTSP)將實時視頻數據流傳輸到遠程服務器。在接收到MEDIA_STREAM命令後,MMRat可以根據發布的配置記錄兩種類型的數據:屏幕和相機數據。
例如,當記錄屏幕數據時,MMRat啟動一個名為DisplayActivity的活動。該活動通過調用createScreenCaptureIntent請求記錄權限,該操作會觸發系統對話框彈出窗口以授予權限。如上所述,系統對話框是通過自動點擊自動批准的。
請求權限和錄屏
一旦錄製請求獲得批准,MMRat就開始錄製屏幕,並通過調用開源框架存儲庫提供的API startStream將數據流式傳輸到CC服務器。
Strat記錄和數據流
用戶終端狀態捕獲屏幕內容的所謂“用戶終端狀態”方法與使用MediaProjection API的方法大不相同。顧名思義,MMRat並不將錄屏為視頻。相反,它濫用可訪問服務,每秒遞歸地轉儲窗口中的所有子節點,並通過CC通道上傳轉儲的數據。因此,結果只包含文本信息而沒有圖形用戶界面,因此類似於“終端”。
轉儲所有窗口並遍歷根節點以遞歸方式獲取所有子節點
儘管該方法有些粗糙,並且需要攻擊者在服務器端進行額外的工作來重建數據,但它在收集遠程檢查和控制所需的信息(例如,用於點擊和輸入的節點信息)方面非常有效。由於這種方法不依賴於MediaProjection API,它可以繞過FLAG_SECURE的保護,FLAG_SECURE是一個可以添加到窗口參數以防止截屏和錄屏的標誌。
此外,使用Protobuf和基於Netty的自定義協議增強了性能。這在及時傳輸大量屏幕數據時特別有用,為攻擊者提供類似視頻流的效果。
遠程控制MMRat惡意軟件濫用無障礙服務來遠程控制受害者的設備,執行諸如手勢、解鎖屏幕和輸入文本等操作。這可以被威脅行為者用來進行銀行欺詐,再加上被盜的憑據。
執行動作
正如“MMRat如何執行銀行欺詐”一節所述,研究人員認為,即使在執行其遠程訪問例程之前,MMRat也會執行逃避流程:
1.喚醒:惡意軟件利用可訪問性服務來模擬屏幕上的雙擊來喚醒設備。
2.解鎖屏幕:惡意軟件使用之前竊取的解鎖模式解鎖屏幕。
喚醒並解鎖屏幕
最後,MMRat可以在受害者不積極使用手機時遠程控制設備。
隱藏痕跡MMRat惡意軟件具有在接收到CC命令UNINSTALL_APP時將其自身刪除的能力。這種行為通常發生在銀行欺詐實施之後,使追踪其活動變得更加困難。
自動從受害者的設備中自我刪除
總結MMRat是一個強大的Android銀行木馬,對手機用戶構成了相當大的威脅,特別是在東南亞。它的關鍵功能,包括鍵盤記錄、錄屏和遠程控制訪問,使它能夠有效地執行銀行欺詐。
緩解建議1.只從官方商店下載應用程序,MMRat通常是從冒充官方應用商店的釣魚網站下載的。
2.始終使用可靠的平台,如Google Play Store或Apple App Store。
3.定期更新設備軟件。更新通常包括防範MMRat等新安全功能。
4.在授予可訪問性權限時要謹慎。 MMRat利用Android的無障礙服務來進行惡意活動,始終仔細檢查應用程序請求的權限。
5.在設備上安裝信譽良好的安全解決方案,這有助於提前預防。
6.對你的個人和銀行信息保持警惕,MMRat的目標是實施銀行欺詐,所以要小心你在網上分享的信息和你提供給應用程序的數據。
Recommended Comments