1. 程式人生 > >新型Android木馬偽裝成Google Play,兼具多種惡意功能

新型Android木馬偽裝成Google Play,兼具多種惡意功能

在一個把一切都通過網路連線到一起的時代,移動裝置開始越來越頻繁地參與到我們每一個人的日常生活中。與之相應的,惡意行為者似乎也注意到攻擊這些裝置的機會越來越多。思科Talos團隊在最近觀察到了一種新的移動裝置入侵企圖——一種新的Android木馬,我們稱之為“GPlayed”。

根據Talos團隊的說法,GPlayed是一個具有多種內建功能的木馬程式,並且具有很高的可擴充套件性,使得它成為惡意行為者非常有效的工具。在上週,Talos團隊對目前唯一能夠找到的一個GPlayed樣本進行了分析。該樣本使用了一個與Google Play應用程式非常相似的圖示來偽裝自己,安裝後的名稱為“Google Play Marketplace”。

惡意應用程式位於左側

Talos團隊表示,該木馬的強大來源於它部署後的適應能力。它允許攻擊者遠端載入外掛、注入指令碼,甚至能夠在稍作編譯之後執行的新的.NET程式碼。雖然該木馬似乎仍處於測試階段,但是考慮到它的能力和潛力,每一名移動使用者都應該對它有所瞭解。

GPlayed的架構和功能

Talos團隊的分析顯示,該木馬是使用Xamarin開發環境在結合.NET開發框架為移動應用程式編寫的。主DLL被命名為“Reznov.DLL”,包含一個名為“eClient”的根類,是該木馬的核心元件。另一個DLL被命名為“eCommon.dll”,包含與平臺無關的支援程式碼和結構。另外,主DLL還包含能夠實現一些本機功能的eClient子類。

應用程式安裝包證書是在應用程式安裝包名稱下頒發的,而應用程式安裝包的名稱類似於主DLL的名稱。應用程式安裝包被命名為“verReznov.Coampany”,使用了label標籤,其名稱為“android.app.Application”。

安裝包證書資訊

該木馬會申請許多許可權,其中最值得關注的是“BIND_DEVICE_ADMIN”,它幾乎允許攻擊者完全控制受該木馬感染的裝置。

安裝包內建的許可權列表

此外,這種木馬在設計上具有很高的可擴充套件性。它具有以外掛形式實現的模組化體系結構,並可以接收新的.NET原始碼,這些原始碼將在木馬執行時在裝置執行編譯。

初始化編譯器物件

外掛可以在木馬執行時新增,也可以在打包時作為包資源新增。這意味著開發者或攻擊者可以隨時新增功能,而無需重新編譯和升級裝置上的木馬程式包。

木馬的現有功能

Talos團隊表示,這是一個成熟的木馬,具有從銀行木馬到間諜木馬的能力。這意味著攻擊者可以利用該木馬執行任意操作,從收集使用者的銀行憑證到監控裝置的地理位置。

GPlayed木馬的技術細節

在啟動時,該木馬將首先使用其內部結構上的配置填充共享首選項檔案。之後,它將啟動多個計時器來執行不同的任務。第一個計時器將在配置的時間間隔(在Talos團隊分析的樣本中為20秒)觸發,向命令和控制(C2)伺服器發出請求。響應可以是簡單的“OK”,也可以是在裝置上執行某些操作的請求。第二個計時器將每五秒執行一次,如果WiFi被禁用,它將嘗試啟用。第三個定時器將每10秒觸發一次,試圖將設備註冊到C2,並在系統上註冊喚醒鎖,以控制裝置的狀態。

在木馬註冊階段,該木馬還會竊取並上傳裝置持有者的個人資訊,如手機型號、IMEI、電話號碼和國家/地區,以及執行的Android版本和其他資訊。

設備註冊

上圖所示是該木馬建立的三個主要計時器中的最後一個。木馬將註冊SMS處理程式,該處理程式會將所有SMS訊息的內容和傳送者轉發給C2。

該木馬初始化的最後一步是提升其在裝置中的許可權,這是通過在裝置上請求管理員許可權並要求強制使用者同意授予來完成的。

許可權提升請求

除非使用者批准許可權提升,否則要求使用者批准的介面將不會關閉。就算使用者強制關閉了該介面,由於計時器配置,它們將再次出現。

在木馬安裝完成之後,它將在等待3到5分鐘之後啟用本機功能中的一個——這些功能在名為“GoogleCC”的eClient子類上實現。這個類將開啟一個帶有Google主題頁面的WebView,提示使用者需要在付款之後才能使用Google服務。這將使使用者經歷多個步驟,直到它收集所有必要的信用卡資訊,這些資訊將線上收集並上傳給C2。在此過程中,應用程式會向用戶請求由木馬使用者配置的一筆款項。

使用者會經歷的幾個步驟

Talos團隊表示,使用者無法跳過以上幾個步驟,在使用者沒有提供信用卡資訊的情況下,介面不會消失,這類似於一個螢幕鎖。

另一方面,該木馬與C2的所有通訊都是通過HTTP來完成的。它首先會使用標準Web請求,如果失敗,才會將資料寫入Web套接字。此外,C2還可以使用WebSocket作為備用通訊通道。

與其他木馬一樣,通訊始終由裝置上的木馬啟動到C2。請求程式碼實際上是對C2操作請求的回覆,實際上稱為“響應”。C2可以使用27個響應程式碼向木馬發出請求,這幾乎與其功能部分中列出的內容相匹配。

C2響應程式碼

該木馬的另一個特點是能夠實現JavaScript程式碼注入。程式碼將在木馬建立的WebView物件中執行,這使得攻擊者能夠欺騙使用者訪問任何網站,同時竊取使用者的cookie或偽造表單欄位,如帳號或電話號碼。

GPlayed木馬活動分析

Talos團隊表示,包含在他們所分析樣本中的所有惡意URL目前均處於非活動狀態。並且,有一些指標表明,該樣本只是其最後開發階段的一個測試樣本。因為,有幾個字串和標籤提到了“test”或“testc”,甚至連用於上傳信用卡資料的URL也被命名為“testcc.php”。

該木馬的logcat(Android中一個命令列工具,可以用於得到程式的log資訊)除錯資訊,它會將其日誌記錄保持在最低水平。

logcat除錯資訊

此外,這個樣本所針對的是講俄語的使用者,因為大多數使用者互動頁面都是用俄文編寫的。但鑑於該木馬的構建方式,它可以很容易被再次編譯以適應不同的語言。另外,它所包含的廣泛功能可用於各種惡意活動,如銀行木馬或勒索軟體。