1、概述
啟明星辰AdLab近期追蹤到一個新出現的Android惡意木馬樣本,該惡意木馬主要通過釣魚APP來竊取用戶銀行及理財APP登錄憑證,能夠通過創建本地代理來竊取Google賬戶登錄憑證,且具備遠程控制感染機的能力。依據樣本關聯分析我們發現,該同類型的樣本之前被Mcafee披露過(其在8月28日將該銀行木馬命名為:Android/MoqHao),并且還發現惡意代碼背后的黑客早在2013年就開始針對韓國的手機用戶進行釣魚攻擊。直到2015年,該黑客組織開始利用偽造的Chrome更新消息來進行傳播,并且開始利用QQ空間等社交網絡賬戶來配置C&C服務器地址。本次啟明星辰ADLab追蹤到的惡意代碼樣本為9月中旬的最新樣本,該樣本利用了百度賬戶來設置C&C服務器,不過C&C服務器IP進行了加密處理。通過對該惡意代碼的分析我們發現其具有如下特點:
(1) 通過短信傳播
(2) 偽裝成Chrome瀏覽器更新欺騙用戶下載。
(3) 通過BASE64編碼將惡意dex文件隱藏于資源目錄。
(4) 創建手機代理服務的方式來竊取Google賬戶憑證。
(5)通過百度個人賬戶來更新C&C服務器地址。目前涉及到的攻擊者百度賬戶頁面有http://www.baidu.com/p/dajiahao188384/detail 和http://www.baidu.com/p/womenhao183527/detail,解密后的C&C服務器地址為:111.240.228.234:8833。
(6) 利用加密的WebSocket協議通信。
(7)使用了類似RPC的機制來實現遠程控制。
(8) 替換合法金融類APP為釣魚APP,竊取登錄憑證。
該樣本相關信息見表1:
表1 樣本相關信息
2、木馬行為簡介
該惡意木馬偽裝成Chrome瀏覽器更新包來欺騙用戶下載,并且該惡意木馬運行后會不斷提示用戶激活其設備管理員權限(見圖1),一旦其設備管理員權限被激活,該惡意木馬就隱藏自身的圖標。這樣,普通用戶很難卸載掉該惡意木馬,從而使該惡意木馬長期駐留在受害用戶的設備中。
圖1 提示用戶激活設備管理員權限
該樣本原始包充當了類似殼的角色,真實的惡意dex文件被加密保存在原始包的assets目錄下,原始包在運行時解密加載其惡意dex文件來實現惡意攻擊。解密后的dex文件經過了嚴重的混淆。我們對其深入分析后發現,惡意木馬在運行時,通過Http請求獲取攻擊者提前在其百度個人賬戶頁面配置好的加密過的C&C服務器地址,請求成功返回后,再對C&C服務器進行解密。獲取到C&C服務器地址后,該惡意木馬會使用加密的WebSocket協議來和C&C服務器通信。值得注意的是,該惡意木馬和C&C服務器均各自實現了自己的RPC函數,通信雙方利用這些RPC函數來達到數據竊取和遠程控制的目的 (示意圖見圖2)。
圖2 惡意木馬網絡通信圖
需要關注的是,該惡意木馬會遍歷受害用戶本機安裝的APP信息,以確定受害用戶是否安裝有特定的銀行類APP。如果有的話,該惡意木馬就會從C&C服務器下載對應的偽裝銀行木馬,待對應的偽裝銀行木馬下載完成后,就提示用戶升級。偽裝銀行木馬運行后,會卸載掉受害用戶本機原始合法的銀行APP來偷梁換柱。不難推測,對用戶真正的釣魚活動才剛剛開始。
另外,該惡意木馬除了收集受害用戶的手機硬件相關信息和手機狀態信息,還會竊取受害用戶的Google賬號憑證。與常見的利用遠程服務釣魚頁面不同的是,該惡意木馬在受感染手機本地開啟了一個Httpserver服務,并利用該本地服務頁面完成對受害用戶的Google賬號憑證釣魚后,再將其通過WebSocket協議轉發到C&C服務器。該惡意木馬的主要行為見圖3:
圖3 惡意木馬的主要行為
3、原始包解密分析
如前所述,該惡意木馬真實的惡意dex文件被加密保存在原始包的assets目錄下,其內容是Base64后的可見字符(見圖4),其原始包只是扮演了殼的角色,原始包在運行時解密加載真實的惡意dex文件來實現惡意攻擊。我們將bin文件Base64解密或在該惡意木馬運行后,從其安裝包路徑下的files文件下均可得到真實的惡意dex文件(見圖5)。
圖4 加密存放真實的惡意dex文件
圖5 真實的惡意dex文件運行時解密到files目錄
4、真實攻擊邏輯分析
??????? 該惡意木馬申請的權限如圖6所示,其中涉及到的敏感權限包括短信的讀寫權限、通訊錄讀取權限、打電話權限、修改手機狀態權限等。
圖6 惡意木馬申請的權限
4.1 注冊大量廣播,主要用于竊取用戶手機狀態信息
該惡意木馬注冊了大量的廣播事件,主要用來竊取受害用戶手機狀態信息,以達到實時監控受害用戶手機的目的(見圖7)。
圖7? 惡意木馬注冊大量廣播事件
其中,當用戶手機有新的應用安裝或卸載、手機電量變化、網絡連接改變、屏幕喚醒或休眠等事件發生時,惡意木馬就發送受害用戶手機狀態相關信息到C&C服務器。發送的手機狀態相關信息包括:運營商名字、網絡類型(wifi還是移動網絡)、wifi的mac地址、電量百分比、wifi信號強度、是否管理員權限、自己是否在休眠白名單中、屏幕是否喚醒、手機情景模式(見圖8)。
圖8 向C&C服務器發送手機狀態相關信息
4.2 獲取C&C服務器地址
該惡意木馬利用動態頁面來獲取和更新C&C服務器地址。攻擊者將加密后的C&C服務器地址配置在申請的百度賬戶個人簡介中,惡意木馬在運行時會通過Http請求獲取對應的頁面數據再進行解密。從圖9我們可以看到,獲取C&C服務器的Http請求串也經過了加密處理,我們對其解密后的結果為:http://www.baidu.com/p/dajiahao188384/detail 和http://www.baidu.com/p/womenhao183527/detail。
圖9 Http請求的解密和拼湊
另外,通過抓包也可清楚看到該Http請求的內容(見圖10)。
圖10? Http請求抓包結果
我們在瀏覽器中訪問對應的Http請求,可以看到訪問的是對應百度賬戶的個人頁面,我們注意到攻擊者的賬戶目前還處于在線狀態,個人簡介部分即為加密后的C&C服務器地址(見圖11),我們對其解密后為:111.240.228.234:8833。
圖11 攻擊者注冊的百度賬戶頁面
4.3 竊取用戶設備信息和狀態信息
惡意木馬連接C&C服務器成功后,會發送受害用戶手機相關信息,包括:android_id、系統版本、手機版本+顯示屏參數、是否root、關機狀態、sim卡是否處于就緒狀態、用戶手機號碼、IMEI、手機中賬戶信息(見圖12、圖13)。除了發送用戶手機相關信息,還會再次發送用戶手機的相關狀態信息(見圖14)。
圖12 連接C&C服務成功后,發送用戶手機信息
圖13 具體發送的手機信息
圖14 發送用戶手機當前狀態信息
圖15是以上通信的日志信息。可以清楚地看到連接的C&C服務器地址,連接成功后,更新用戶手機狀態信息到C&C服務器。
圖15 更新用戶手機狀態信息的日志
4.4 通過C&C服務器下發命令和回傳任務
該惡意木馬使用加密的WebSocket協議來和C&C服務器通信,惡意木馬和C&C服務器各自實現了自己的RPC函數供對方調用(其中圖16是惡意木馬實現的RPC函數),通信雙方利用這些RPC函數來達到數據竊取和遠程控制的目的。惡意木馬實現的RPC函數可發送短信(目標地址和內容由C&C服務器提供)、鎖定用戶手機、獲取手機通訊錄、發送釣魚信息給手機聯系人等(具體見表2)。
圖16 惡意木馬實現的RPC函數
表2 該惡意木馬實現的RPC函數
圖17是該惡意木馬和C&C服務器通信部分,惡意木馬解析C&C服務器發送過來的網絡數據,執行對應的RPC函數,再將函數執行結果返回給C&C服務器。
圖17 C&C服務器和惡意木馬的通信
同時,該惡意木馬也會給C&C服務器發送請求指令,分別為:下載指定的apk文件、發送釣魚到的Google賬戶憑證、得到需要更新的包列表、得到標題等顯示提示(見表3)。
表3 惡意木馬發送給C&C服務器的函數請求
4.5 竊取用戶Google賬戶信息
該惡意木馬除了收集受害用戶的手機硬件相關信息和手機狀態信息,還會竊取受害用戶的Google賬戶憑證。與常見的利用遠程服務器釣魚頁面不同的是,該惡意木馬在受感染手機本地開啟了一個Httpserver服務,并利用該本地服務頁面完成對受害用戶的賬戶憑證釣魚后,再將其通過加密的WebSocket協議轉發到C&C服務器。在惡意木馬篩選出google賬戶后(見圖18),會彈出警告對話框,等受害用戶點擊確定后,惡意木馬就會打開瀏覽器,跳轉到自定義的本地釣魚頁面(見圖19)。
圖18 篩選Google賬戶
圖19 彈出警告窗口
該惡意木馬在本地創建HttpServer服務,本地HttpServer服務啟用線程來處理釣魚到的Google賬戶信息(見圖20)。
圖20 惡意木馬利用本地服務來處理釣魚到的Google賬戶信息
惡意木馬將釣魚到的Google賬戶憑證發送到C&C服務器(見圖21)。
圖21 惡意木馬將釣魚到的Google賬戶憑證信息發送到C&C服務器
4.6 下載偽裝銀行類APP
該惡意木馬會遍歷受害用戶本機安裝的APP信息,以確定受害用戶是否安裝有特定的銀行類APP。如果有的話,該惡意木馬就會從C&C服務器下載對應的銀行類木馬,待對應的木馬下載完成后,就提示用戶有新的升級。銀行類木馬運行后,會卸載掉受害用戶本機原始合法的APP來偷梁換柱。顯而易見,對受害用戶真正的釣魚攻擊才剛剛開始。
遍歷用戶手機應用,檢查是否有內置指定的銀行類APP,有的話,從C&C服務器下載對應的銀行木馬APP(見圖22)。
圖22 遍歷受害用戶手機應用
如果用戶手機存在指定的銀行類APP,則從C&C服務器下載對應的銀行木馬APP(見圖23)。
圖23 從C&C服務器下載指定的銀行木馬APP
表4 為惡意木馬內置的要偽裝的銀行類APP包名
表4 惡意木馬要偽裝的銀行類APP包名
銀行類惡意木馬APP下載完成后,會彈出提示框,誘使用戶更新(見圖24)。
圖24 誘使用戶安裝下載到的銀行類木馬
銀行類惡意木馬運行后,會卸載掉受害用戶原來合法的銀行類APP(見圖25)。
圖25 下載下來的木馬偷梁換柱
4.7 傳播
該惡意木馬通過向受害用戶的通訊錄聯系人發送釣魚信息來傳播(見圖26)。
圖26 該惡意木馬的傳播途徑
5、總結及建議
雖然該惡意木馬是針對韓國用戶,但也不排除后續針對其他國家實施攻擊的可能。用戶除了對熱門的APP下載和更新不能大意外, 對系統自帶的APP的更新也應保持警惕。建議用戶不要輕易點擊短信中的不明鏈接,不要安裝不明來源的APP。對申請可疑權限尤其是短信讀寫、打電話以及需要激活設備管理器的APP要特別留意,涉及到金錢的操作要格外謹慎。遇到操作異常,應當及時使用殺毒軟件查殺或找專人處理。目前互聯網上也充斥著形形色色的第三方APP下載站點,很多甚至成了惡意應用的批發集散地。用戶應特別留意不要輕易地在一些下載站點下載APP,盡量從官網下載所需APP應用,在不得不從第三方下載站點下載軟件時,要保持高度警惕,認真甄別,防止誤下惡意應用,給自己造成不必要的麻煩和損失。