作者:啟明星辰ADLab
公眾號:ADLab

1、概述

2019年2月中旬,啟明星辰ADLab發現了一款全新的Android銀行釣魚木馬,該木馬將自身偽裝成“Google Play”應用(見圖1),利用系統輔助服務功能監控感染設備,以便在合法的銀行APP運行時,啟用對應的偽造好的銀行釣魚界面將其覆蓋掉,來竊取受害用戶的銀行登錄憑證。此次攻擊的目標銀行默認包含包括花旗銀行在內的三十多家銀行(見圖2),因此我們將之命名為“BankThief”。“BankThief”的存在和傳播無疑對這數十銀行客戶的財產安全構成了嚴重的威脅。

img

圖1 “BankThief”將自身偽裝成“Google Play”

img

圖2 目標銀行的logo

“BankThief”會根據感染設備本地語言來配置自身顯示語言,配置語言包括捷克語和波蘭語,而且“BankThief”鏈接的釣魚頁面服務器上配置有針對波蘭和捷克的偽裝銀行釣魚頁面,因此我們推測“BankThief”的主要攻擊目標國家為波蘭和捷克。該木馬的證書簽名起始時間是2019年2月13日,存放惡意釣魚頁面的服務器域名為“anlixes.at”,從該域名的解析記錄來看,該域名主要活躍時間為2019年1月28日至2月21日。據此可推斷,“BankThief”開發和傳播的時間應該在2019年1月底到2月初這個時間段。

啟明星辰ADLab研究人員對比了2018年9月LUKAS STEFANKO(ESET安全研究員)披露的一款銀行木馬(MD5 = 03720d4e7ae807f7c8ce56e772c19bcc)后發現,“BankThief”與其有少許相似之處。比如,兩款銀行木馬的攻擊目標都包含捷克和波蘭;都是通過偽裝的釣魚頁面覆蓋掉目標銀行合法的界面進行釣魚攻擊;都使用了Google Firebase云消息傳遞服務進行控制命令的下發。不過,他們的整體設計和代碼實現機制卻完全不同,也沒有很強證據表明這兩款銀行木馬存在關聯性,因此我們認為“BankThief”是一款全新的木馬。

值得注意的是,“BankThief”是使用Google Firebase云消息傳遞服務來控制感染設備的。該服務首次被用于惡意攻擊要追溯到高級間諜軟件“Skygofree”, 2018年3月啟明星辰ADLab對已其進行詳細分析,并發布深度分析報告《首款利用Firebase云消息傳遞機制的高級間諜軟件》。攻擊者將惡意命令通過Firebase云消息服務進行傳送,一方面不必耗費精力和資源去配置C&C服務器;另一方面,攻擊者將惡意命令隱藏在安全的Firebase通信隧道中,避免了攻擊流量被網絡安全設備處置,攻擊性更加隱蔽。Google Firebase云消息傳遞服務此次又被“BankThief”用來進行惡意攻擊,可以預見,越來越多的惡意應用將會使用Firebase云消息服務來實施攻擊。

2、木馬行為簡介

“BankThief”感染目標設備后,首先通過無障礙服務(無障礙服務是輔助身體不便或者操作不靈活的人來操作手機應用的,其可以被用于監控手機當前活動APP界面,實現對目標界面自動化操作。)監控感染設備。當監控到目標銀行應用被打開時,銀行木馬會啟動對應的偽裝好的釣魚頁面覆蓋掉真實的銀行APP界面,在受害用戶沒有察覺的情況下竊取其銀行登錄憑證,“BankThief”會進一步將自身設置成默認短信應用來攔截銀行短信,這樣就繞過了基于SMS短信的雙因素驗證機制。其次,“BankThief主要利用Google Firebase 云消息傳遞服務(Google Firebase 云消息傳遞服務是Google提供的能幫助開發者快速寫出Web端和移動端應用通信的一種服務)來對感染設備進行遠控,包含清空用戶數據、卸載指定應用等惡意操作以及劫持包括花旗銀行在內的數十家銀行APP應用的惡意行為。“BankThief”的攻擊示意圖見圖3。

img

圖3 “BankThief”攻擊示意圖

3、功能分析

“BankThief”的代碼中,大量的字符串被加密存儲(如圖4),只有在其運行的過程中,在需要時才會使用自定義的解密算法進行解密操作(圖5只列出其中一個解密算法),并且從多個“ALLATORIXDEMO”命名的函數名來看,“BankThief”使用了混淆器“Allatori”的Demo版來保護自身,這無疑增加了研究人員分析的難度和工作量。

img

圖4 被加密存儲的字符串

img

圖5 其中的一個字符串解密函數

“BankThief”利用無障礙服務對感染設備進行監控,實施釣魚攻擊。木馬將自身偽裝成“Google Service”服務,在誘使受害者開啟對應的無障礙服務權限成功后,會利用無障礙服務監控感染設備的運行。當目標銀行APP啟動時,它會啟動偽造好的對應釣魚界面覆蓋掉合法的銀行APP界面,竊取受害用戶的銀行憑證。

此外,“BankThief”還試圖阻止用戶取消其管理員權限和限制三星系統管理應用的正常運行等手段來保障自身的安全。

3.1 誘使用戶開啟惡意服務

“BankThief”誘使受害用戶開啟無障礙服務界面下偽裝成“Google Service”的惡意服務,并且還隱藏了自身圖標(見圖6),防止受害用戶察覺到異常。

img

圖6偽裝成“Google Service”服務

在誘導受害用戶操作的過程中,應用會跳轉到無障礙設置界面,誘導受害用戶開啟“Google Service”服務。“BankThief”會根據受害用戶手機系統來選擇使用捷克語還是波蘭語提示(很顯然,攻擊者主要攻擊的目標為波蘭和捷克),如果用戶沒有開啟該權限,會不停提示,直到受害用戶開啟為止(見圖7)。

img

圖7 誘導受害用戶開啟“Google Service”

3.2 利用無障礙服務監控設備

“BankThief”利用無障礙服務監控感染設備界面,來竊取受害用戶銀行登錄憑證。當感染設備運行目標銀行APP時,木馬就會打開其設置好的對應釣魚界面,覆蓋在合法的銀行APP上面,神不知鬼不覺地拿走受害用戶的銀行登錄憑證(見圖8)。

img

圖8 竊取受害用戶銀行登錄憑證

3.3 請求設備管理員權限并防止取消

“BankThief”運行后,不但會將自身圖標隱藏掉(見上圖6),而且會激活其設備管理員權限(見圖9)。這樣,普通用戶很難察覺并卸載掉它,從而達到長期駐留在受害用戶設備中的目的。

img

圖9 誘導受害用戶設置自身為管理員權限

此外,“BankThief”還利用無障礙服務監控感染設備,一旦發現受害用戶試圖取消管理員權限就強制返回,依靠這種流氓行為,阻止自身管理員權限被取消(見圖10)。

img

圖10 阻止自身管理員權限被取消

3.4 阻止三星應用“Device Maintenance”

“BankThief”一旦發現感染設備運行三星設備維護軟件“Device Maintenance”,就強制返回桌面。“Device Maintenance”是三星研發的針對Android手機維護和優化的一款系統管理應用,可以對一些流氓和耗電的APP發出警告并且會主動關閉不必要的后臺程序,“BankThief”大概是防止自身被該款應用檢測和卸載才使用此流氓手段阻止其被打開(見圖11)。“BankThief”的這一功能大概和三星手機在波蘭領先的市場份額有很大關系。

img

圖11 阻止三星應用“Device Maintenance”

4、命令控制分析

“BankThief”使用了Google Firebase云消息傳遞服務來進行控制命令的下發。攻擊者利用Firebase云消息傳遞控制命令和http協議回傳執行結果到自己控制的惡意服務器“anlixes.at”來形成一個控制回路。木馬一旦發現用戶啟動合法的銀行應用,便利用劫持功能將自身偽造的釣魚頁面覆蓋在合法的銀行應用上面。當用戶在偽造的界面上輸入銀行賬號、密碼等登錄信息后,登陸憑證便會被上傳到惡意服務器“anlixes.at”上。

4.1 Firebase云消息傳遞機制利用

Firebase云消息傳遞(Firebase Cloud Messaging,簡稱FCM),也稱Firebase云信息傳遞,前身為Google云消息傳遞(GCM),是一項針對Android、iOS以及網絡應用程序的消息與通知的跨平臺解決方案,目前可免費使用。開發者只需要在https://firebase.google.com/上,登錄自己的Google賬戶,經過簡單的設置操作,便可以將Firebase服務配置到自己的移動APP中。完成移動端的APP設置后,開發者就可以在自己的Firebase網頁中選擇對應的APP,并在網頁上編輯發送自定義的Message。客戶端則會以Notifications的方式接收這些Message。

攻擊者利用Firebase實時云服務發送惡意命令(分析后的命令和含義見表1),木馬負責對這些惡意命令進行接收和解析執行(見圖12),完成惡意任務。

表1 控制命令和含義

img

圖12 木馬對惡意命令的接收和解析

從表1我們可以看到,控制命令分為兩大部分,第一部分包含前9個命令,分別表示“木馬上線、將自身設置為默認短信應用、清空用戶數據、將指定號碼設置成呼叫轉移號碼”等。第二部分包括后面的30個命令,當木馬接收到Firebase傳來的目標銀行的APP包名字符串后,木馬就打開對應的配置好的http釣魚偽裝界面,來竊取受害用戶的銀行登錄憑證。

4.1.1 木馬上線

木馬收到“online”指令后,將自身是否激活管理員權限、是否開啟無障礙服務等信息寫入配置文件后,發送上線包到遠程服務器(見圖13)。

img

圖13 發送上線包

4.1.2 將自身設置為默認短信應用

“lock”命令會引導用戶設置木馬自身為系統短信應用,接管短信服務,以獲得對短信數據庫的操作權限(見圖14)。Android 4.4及其以后,只能設置一個默認的SMS短信APP,當短信到達后會首先通知設置的默認APP,并且只有該APP對短信數據庫有修改的權限和短信的發送權限。設置成功后,木馬就劫持了系統短信,破解了基于短信的SMS短信雙因素驗證機制。

img

圖14 設置自身為默認短信應用

4.1.3 清空用戶數據

當木馬接收到“clear”指令,就清空用戶數據(見圖15)。

img

圖15 清空用戶數據

4.1.4 設置呼叫轉移號碼

“21”命令是設置感染設備的呼叫轉移號碼為攻擊者遠程指定的手機號碼(見圖16)。攻擊者首先打開感染設備的撥號程序,然后通過輸入“21手機號碼#”對感染設備設置呼叫轉移。這樣,攻擊者就可以成功攔截受害用戶的手機來電。

img

圖16 設置呼叫轉移號碼

4.1.5 設置配置文件“addm”為on

當木馬收到“addm”命令后,就會設置配置文件“addm”項為on,用于激活自身管理員權限(見圖17)。木馬激活自身管理員權限后,可以防止自身被受害用戶輕易卸載掉。

img

圖17 設置配置文件“addm”項為 on

4.1.6 解密指定文件

圖18中,“lckscr”指令目的是解密“asset”目錄下加密文件到自身應用目錄下的“/location/”路徑下,根據指令“dellckscr”,猜測解密后的文件名為“www.html”。

img

圖18 解密指定文件到指定路徑

4.1.7 加載指定頁面

“dellckscr”指令用于加載自身應用目錄下位置為“/location/www.html”的頁面(見圖19),不過我們在分析該木馬時,并未發現此目錄和相應文件,目的未知。

img

圖19 加載指定頁面

4.1.8 卸載指定應用

當接收到“src”指令時,木馬會打開卸載APP界面,卸載掉攻擊者指定的APP(見圖20)。

img

圖20 卸載指定應用

4.1.9 將目標手機安裝的所有應用列表發送給惡意服務器

當收到的消息為“alpkg”時,木馬就遍歷系統應用名稱,將收集的感染設備安裝的應用列表發送給攻擊者控制的遠程服務器(見圖21)。攻擊者知道目標設備安裝有哪些應用后,尤其是銀行應用,就可以針對目標銀行來進行攻擊。

img

圖21 發送應用列表到遠程服務器

4.1.10 啟動釣魚頁面

當木馬接收到Firebase傳來的目標銀行的APP包名字符串后,木馬就打開對應的配置好的http釣魚偽裝界面,來竊取受害用戶的銀行登錄憑證。從表1中我們可以看到在釣魚服務器路徑“http://anlixes.at/cz”和“http://anlixes.at/pl”下,至少配置有26個偽裝的釣魚頁面在等待受害用戶上鉤,其中“http://anlixes.at/cz”針對捷克、“http://anlixes.at/pl”針對波蘭”。我們分別列出其中的兩個頁面(圖22和圖23)。

img

圖22 針對捷克用戶的偽裝釣魚頁面

img

圖23 針對波蘭用戶的偽裝釣魚頁面

4.2 監控數據返回

木馬在執行命令后,會將執行結果或者對感染設備的監控數據回傳給自己控制的惡意服務器(見圖24),從圖中的代碼我們可以看到木馬是將感染機的監控行為數據賦值給p參數后,發送到惡意服務器地址“http://anlixes.at/api/log”。圖25是我們抓包的一個結果,從圖中可以看到,我們試圖卸載該惡意木馬時,木馬發送給惡意服務器的監控數據。

img

圖24 回傳指令執行的結果給惡意服務器

img

圖25 回傳數據抓包的結果

5、總結及建議

“BankThief”從2019年1月開始活躍,主要的攻擊目標為波蘭和捷克,不排除后期對其他國家或地區實行攻擊的可能性。 “BankThief”利用無障礙服務監控感染設備,劫持合法銀行應用來對受害用戶進行釣魚攻擊,再結合其截獲到的銀行驗證短信,竊取受害用戶錢財。“BankThief”還使用了代碼混淆和字符串加密,增加了安全研究人員分析的難度。同時,在攻擊過程中,攻擊者將惡意攻擊流量隱藏在Google Firebase云消息隧道中,以避免攻擊流量被網絡設備處置,進一步加大了攻擊的隱蔽性。

啟明星辰ADLab建議廣大用戶盡量從官網下載手機應用,尤其是涉及到金錢的銀行類應用,以免被不法分子利用,威脅到您的財產安全,給您造成不必要的麻煩和損失。


啟明星辰積極防御實驗室(ADLab)

ADLab成立于1999年,是中國安全行業最早成立的攻防技術研究實驗室之一,微軟MAPP計劃核心成員,“黑雀攻擊”概念首推者。截止目前,ADLab已通過CVE累計發布安全漏洞近1000個,通過 CNVD/CNNVD累計發布安全漏洞近500個,持續保持國際網絡安全領域一流水準。實驗室研究方向涵蓋操作系統與應用系統安全研究、移動智能終端安全研究、物聯網智能設備安全研究、Web安全研究、工控系統安全研究、云安全研究。研究成果應用于產品核心技術研究、國家重點科技項目攻關、專業安全服務等。

img


Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/839/