手機銀行是一種非常便捷的方式讓用戶可以隨時隨地的完成交易。KPMG預測手機銀行用戶在2019年會增長到1.8億。但是,隨著手機銀行涉及的金錢數額越來越大,攻擊者要找到更多創造性的方式來竊取金錢。
就在上周,新加坡銀行協會(ABS)發布了公告稱手機銀行惡意軟體感染安卓智能機的數量大幅上升。我們很有興趣深入研究這種新興的威脅,之後我們發現了一個目標是手機銀行app的安卓惡意軟體,於是我們對它展開了進一步研究。
安裝
這種移動端惡意軟體通過其他惡意軟體-一個獨立的app或者用戶登入惡意網站時進行他們不了解的下載更新進入到用戶的手機中。
目前為止,我們把所有遇到的偽裝過的樣本歸結命名為假冒的Adobe Flash Player,這個名字並不奇怪,大家都知道"Adobe Flash Player"這個梗(這個東西今年被曝出很多漏洞啊,還有0day什麼的,大家都懂的)。Adobe Flash Player所需的權限要比同類普通應用高的多(事實上,在某些情況下安卓並不支持它)。Player最引人注目的權限就是被激活為設備管理員,也就是需要安卓的最高權限,這點很容易被惡意軟體操縱。從本質上講,設備管理員權限賦予了這款惡意軟體禁止用戶強制停止和卸載app的權利,它的進程決定了移除它非常困難。
圖1:安裝、許可和設備管理員
圖2:惡意軟體要求獲取設備管理員權限
深入了解惡意代碼
木馬病毒的配置數據
如下圖所示,惡意軟體檢索和解碼它的配置文件,Base64編碼,使用"@"解析,因此它可以以數組形式儲存。
圖3:代碼檢索配置文件
經過解碼的Base64配置數據顯示了它的C&C伺服器,目標的應用程式,銀行列表,C&C命令等等。
圖4:Base 64解碼的配置數據
每當惡意軟體需要特定的數據,它可以通過對於數組來說作為索引的硬編碼整數值進行檢索。如下面的代碼所示,整數值14和46指向帶有"type"和"device info"值的配置數組的索引。我們還可以看到C&C伺服器和作為感染設備標誌符的代碼值來回應。
圖5:配置索引
我們再來看下清單文件,然後就能很快發現樣本想要做什麼了。我們很確定這款惡意軟體的目標就像我們之前提到的一樣,針對手機銀行和行動支付用戶。下面是清單文件的截圖:
圖6:安卓的清單
這款惡意軟體可以通過創建偽造銀行窗口來進行網絡釣魚獲取被然後用戶的銀行信息,如信用卡帳號、帳單地址、銀行用戶名、PIN和密碼等等。
下圖是基於我們樣本的被瞄準的銀行和支付服務的列表:
圖7:目標銀行和目標支付服務
接下來我們再看看惡意軟體的核心功能及主要操作,尤其是執行數據竊取的一系列活動。
釣魚技巧
當受害人打開合法手機銀行或者支付app時,該惡意軟體同時打開了它偽造的銀行窗口,然後把兩個窗口疊加,用戶很難通過界面發現一個新的窗口被打開了。假冒的窗口和原生窗口非常類似。然而,當用戶點擊其他功能,比如編輯或者屏幕上的菜單功能時就能發現他們的區別了。在這裡,假冒的界面沒有任何反應,因為假的用戶界面沒法實現這些功能。
圖8:偽造的銀行界面
點擊更多任務查看兩種登錄頁面-第一個是合法的應用程式,第二個是偽造的Adobe Flash Player。
圖9:多任務查看
另外一些釣魚窗口的例子,他們簡直和合法窗口太像了:
圖10:銀行網絡釣魚窗口
圖11:信用卡釣魚窗口
收集登錄憑證
像前面所說的,最重要的一部就是勸說受害者進入他們偽造的登錄界面進行信息驗證。因此,惡意軟體需要做的第一件事就是決定確定用戶使用的是什麼公司的銀行以及銀行界面長什麼樣。
惡意軟體定期檢查設備上運行的app並通過getPackageName() API調用檢索應用程式相關的界面名稱然後把這個來自這個API的返回參數和下面這個目標應用程式名字列表進行比較:
金融應用程式:
com.commbank.netbank
com.cba.android.netbank
au.com.nab.mobile
org.westpac.bank
org.stgeorge.bank
com.anz.android.gomoney
nz.co.kiwibank.mobile
nz.co.westpac
nz.co.bnz.droidbanking
nz.co.anz.android.mobilebanking
de.dkb.portalapp
dk.bec.android.mb1.b00037.prod
com.hangseng.servicemenuapp
com.scb.breezebanking.hk
com.citibank.mobile.hk
at.bawag.mbanking
at.erstebank.george
at.spardat.netbanking
com.bankaustria.android.olb
com.dbs
com.posb
com.ocbc.mobile
com.uob.mobile
com.paypal.android.p2pmobile
com.isis_papyrus.raiffeisen_pay_eyewdg
com.bbva.bbvacontigo
es.bancosantander.apps
Social and communication application
com.android.vending
com.google.android.music
com.whatsapp
com.viber.voip
com.instagram.android
com.skype.raider
com.google.android.gm
圖12:獲取正在運行進程的包的名字
如果匹配的應用程式被發現正在受感染設備上運行,負責回應的類會顯示上映的偽造的登錄頁面。
圖13:在偽造的登錄頁顯示的流量
下面的視頻解釋了一個真實的攻擊情形,當用戶的手機被感染時,他們的網上銀行憑據是如何被竊取的。希望這個關於真實攻擊的視頻可以給你啟示:
視頻1:DBS釣魚場景
你可以從這個視頻看出,當真實的DBS應用被觸發時,受害者將看到一個假冒的DBS登錄畫面。之後你可以看到受害者會被要求進入這個登錄界面兩次。接下來,受害者將被重定向到合法的DBS應用GUI。
在假的登錄界面截取的登錄憑證就會被惡意軟體發送的C&C伺服器上:
圖14:發送竊取的憑證
截取一次性密碼(OTP)
銀行經常把簡訊作為一次性密碼(OTP)發送給用戶作為用戶ID和密碼之外的登錄憑證。獲取這種額外的登錄憑證需要攻擊者進入受害者的設備獲取接入OTP的權限來獲取OTP。
惡意軟體通過把自己註冊成安卓作業系統的SMS廣播接收方來完成OTP獲取工作。在這種理論中,只要受害者在安裝時授予了軟體合適的執行權限,惡意軟體就能很輕鬆的完成這項工作,這種權限在清單文件中被明確的指出了。因此,所有接收的SMS都可以被很容易的劫持,SMS的內容可以被發送到攻擊者的C&C伺服器。
圖15:攔截所有接收到的SMS簡訊
持久性機制
我們還有興趣了解惡意軟體的持久性機制是如何工作的。在清單列表的表住下,我們快速定位了持久性機制的入口點-android.intent.action.BOOT_COMPLETED 和 android.intent.action.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE。但是,分析反編譯源碼並不是一項簡單的任務,因為攻擊者把java代碼進行了模糊處理。好消息是模糊的代碼可以被輕易地確定,因為只有一小部分垃圾代碼和實際代碼進行了混合。
清理Service Starter代碼中的垃圾代碼後,我們意識到惡意軟體看起來迴避了俄羅斯用戶。這可能表明,這段惡意代碼來自俄羅斯。
圖16:清單文件顯示持久性機制的切入點類名稱
圖17:當手機啟動時,接收功能將被啟動
圖18:創建服務處理函數從接收器被調用
我們可以從圖18看出,惡意軟體丟棄使用硬編碼文件名的SD卡中的隱藏文件。
圖19:保存文件到SD卡的原始配置數據
結論
大多數安卓惡意軟體app不會自動安裝-他們需要用戶參與來感染設備。所以如果你想讓你的設備安全就需要在下載和更新應用程式時保持警惕。明智的做法是從Google Play商店這種安全的受信任的源來下載應用程式。
話雖這麼說,惡意軟體編寫者也會提高釣魚能力,讓用戶下載看起來像合法app的惡意軟體並進行更新。安裝安全軟體更有助於保護用戶的個人數據和設備上的在線交易資料。
主動檢測惡意軟體,如Android/Acecard.B!tr,C&C伺服器就會被監測成Android.Acecard。
相關MD5哈希:
76745ce873b151cfd7260e182cbfd404
702770d70c7aab793ffd6a107fd08dad
eeab2f9137c59efdfae5db2b2b93f178
d08b2f4d851b2505f4aed31ecfa53c2e
a7e28a9efc8a6acb02d65829a6d773c2
C&C伺服器列表:
http://37.235.48.177:34580
http://46.108.39.12:34580
http://5.196.243.6:34580
http://31.148.219.192:34580
如何刪除惡意軟體
第一步:把你的手機或者平板設置為安全模式。按住手機電源鍵知道手機提示你關機。接下來,點擊並按住電源關閉直到手機提示你重新啟動到安全模式,然後點擊確定。如果你的設備沒有翻譯,你可以百度一下,"你的手機型號如何進入安全模式"。
圖20:讓你的手機進入安全模式
第二步:在安全模式裡,打開設置菜單,滑到安全選項進入。查看名叫設備管理員的一欄,點擊進入。現在它會顯示設備的管理員列表。移除它作為設備管理員的一項,停用惡意軟體app Adobe Flash Player作為設備管理員。
圖21:找到註冊為設備管理員的可以應用
第三步:進入設置帶但,滾到應用程式,確保有下載選項。點擊惡意軟體app Adobe Flash Player,打開app info(app信息),然後點擊uninstall(卸載)並確定。
圖22:卸載銀行木馬
第四步:用正常模式重啟手機
更多如何找到惡意軟體的指示
通過使用如文件管理或者安卓SDK工具的adb第三方應用,你可以瀏覽額外的存儲信息,如SD卡等,然後你可以查看隱藏文件(在文件名前加.)。然後你可以查看每個隱藏文件,找到類似於圖19中的文件名。
從設備管理員列表中查看任意不知名的或者沒見過的應用,如圖21所示。
小編寄語
小編是果粉!因為蘋果的iOS更加安全,安卓因為版本太多,機型不一,每種都有不同的機制,給黑客帶來了更多可乘之機,怎麼保護我們的隱私不受到侵害?我們的金錢不被竊取?我們的生活不受到影響?定期檢查更新,及時進行系統更新;不使用root權限或者鎖住root權限;定期殺毒;按時看freebuf,了解最新的漏洞資訊,查看自己的手機是否有中毒情況;在付款時不要貪圖快而大意;自己加倍小心才能不給罪犯可乘之機。
*原文地址:fortinet,FB小編FireFrank編譯,轉載請註明來自FreeBuf黑客與極客(FreeBuf.com)