早在2019年研究人員就發(fā)現(xiàn)了一種名為“Joker”的新型安卓木馬,共有24款應用受到影響,總下載量超過47萬次。該木馬隱藏在被感染應用程序使用的廣告架構中,可冒充用戶與廣告網站進行互動,還可以收集受害者的設備信息、聯(lián)系人列表和短信消息。當時該木馬不僅使用了多種技術手段避免受到靜態(tài)分析,還可自行聯(lián)系黑客的命令和控制服務器,以接受命令或上傳所竊信息。此外,Joker的程序代碼中有特殊設置,將攻擊目標設為特定的國家/地區(qū)的安卓用戶(包括但不限于澳大利亞、法國、德國、印度、英國和美國),而且該木馬會根據(jù)目標設備的SIM卡區(qū)號來決定是否攻擊。
Joker惡意軟件執(zhí)行間諜軟件或木馬的惡意軟件功能,并為用戶注冊一個高級訂閱,并從威脅執(zhí)行者的命令和控制服務器下載感染應用程序到毫無戒心的用戶的設備。
一般來說,這種類型的惡意軟件是很難被檢測到的。它的工作原理是通過顯示與廣告網站交互的廣告,從用戶的設備中提取短信細節(jié)和其他個人信息。
惡意軟件可以從受害者的設備中竊取的一些主要信息是:
?短信;
?設備信息;
?聯(lián)系方式;
除了竊取敏感信息,該惡意軟件還能在未經用戶同意的情況下從其銀行賬戶中竊取資金。這可以歸因于惡意軟件的通知讀取功能,使其能夠訪問用戶的短信詳細信息。
Cyble研究人員最近發(fā)現(xiàn)了JokerDropper的一個新變體,并且可以從Google Play Store訪問間諜軟件/特洛伊木馬變體。隱藏為合法應用程序后,發(fā)現(xiàn)該應用程序是Joker的更新版本,可將其他惡意軟件下載到設備并在用戶不知情或未經用戶同意的情況下訂閱高級服務。這是Joker惡意軟件的常見功能。
研究人員在Google Play Store中發(fā)現(xiàn)了此變體。可以確認該應用在Google Play Store中一直存在到2021年7月5日。
之前在Google Play Store中提供的應用
盡管谷歌立即將這款應用從Play Store下架,但該應用的安裝量已經超過500次。盡管谷歌從其Play Store中刪除了該惡意軟件,但攻擊者仍在對應用程序和有效載荷進行輕微修改,從而使該惡意軟件能夠躲避谷歌Play Store對惡意程序的檢測。攻擊者的更改包括在代碼中應用復雜的混淆、更改執(zhí)行方法以及使用不同的有效載荷檢索技術。
從Google Play Store中刪除的應用
惡意軟件開發(fā)人員在新變體中采用了相同的動態(tài)代碼加載(DCL)和反射技術,以逃避對其惡意功能的檢測。在DCL投放的文件中,Joker惡意軟件的Dalvik Executable(DEX)是以包含為Android平臺編寫的編譯代碼的格式保存的可執(zhí)行文件。攻擊者使用這些技術來隱藏惡意功能并防止在應用程序的靜態(tài)分析期間檢測到惡意軟件。
技術分析
研究人員對Joker惡意軟件的APK進行了技術分析,其哈希值如下:a18508d9047fe87da2bf14211c3f31c5ad48277348eb5011fdfe4dd7dac13d52。
應用名稱:QR Scanner Free
包名:com.yanto.mo.codescan
下面列出了一些可能執(zhí)行惡意活動的應用程序的權限、活動和服務:
權限:
?android.permission.READ_PHONE_STATE
?android.permission.CAMERA
?android.permission.ACCESS_COARSE_LOCATION
?android.permission.CALL_PHONE
?android.permission.CHANGE_WIFI_STATE
?android.permission.READ_CONTACTS
?android.permission.INTERNET
?android.permission.WRITE_EXTERNAL_STORAGE
活動:
?qr.barcode.scanner.activity.SplashActivity
?qr.barcode.scanner.activity.MainActivity
?qr.barcode.scanner.activity.ResultActivity
?qr.barcode.scanner.activity.CreateActivity
?qr.barcode.scanner.activity.FeedbackActivity
?qr.barcode.scanner.activity.WebviewActivity
?qr.barcode.scanner.activity.AboutActivity
服務:
?q.b
?com.google.android.gms.ads.AdService
?androidx.work.impl.background.systemalarm.SystemAlarmService
?androidx.work.impl.background.systemjob.SystemJobService
?androidx.room.MultiInstanceInvalidationService
下圖展示了該應用程序的惡意功能:
惡意軟件從應用程序子類qr.barcode.scanner.ScannerApp發(fā)起惡意行為,此類在用戶啟動應用程序時首先執(zhí)行。
從應用程序子類啟動惡意軟件
這個onCreate函數(shù)進一步調用函數(shù)“a”,它從下面提到的縮短的url下載DEX文件,如圖4所示。
縮短的URL:“hxxps://zws.im/????????????????”
擴展的URL:“hxxp://onemoretime.oss-us-east-1.aliyuncs[.]com/huadi”
從URL請求文件并檢查已建立的HTTP連接的代碼
應用程序使用dalvik.system.DexClassLoader API從下載的DEX文件加載類“XX00”,并嘗試從刪除的文件中執(zhí)行方法“jarico”。
從拖放的文件中加載類和方法
下面的代碼說明了加載類“XX00”后“jarico”函數(shù)的執(zhí)行。
執(zhí)行DCL功能的代碼
執(zhí)行“jarico”函數(shù)后,會加載一個新的DEX文件,該文件會啟動到第二個URL的連接以下載額外的DEX文件。這個DEX文件“hd.ai”加載了主類“Ferry”和方法“Tayle”,如圖7所示。
從URL加載附加DEX文件的代碼
主類“Ferry”依次連接到第三個URL“hxxp://onemoretime.oss-us-east-1.aliyuncs.com/notice.ai”,通過加載主類下載“notice.ai”文件“com.antume.cantin”和方法“button”。
從URL中刪除的第三個DEX文件
還觀察到相同的主類“Ferry”能夠讀取受害者設備收到的所有通知。使用通知偵聽器服務,它會在用戶不知情的情況下讀取所有文本消息或通知并取消它們,以隱藏甚至收到通知的事實。
使用服務讀取通知
與broadcastreceiver一起,從DEX文件“notice.ai”加載的主類“com.antume.cantin”從主類“Ferry”中收集通知的內容。
收集和存儲短信數(shù)據(jù)
研究表明,該應用程序使用了無線應用協(xié)議(WAP)計費服務中使用的通用加密技術來避免檢測。該技術涉及在單詞中放置一組隨機字符。
加密中觀察到的常見模式
該應用程序為其計費服務提供了多個無線應用協(xié)議(WAP)訂閱URL,WAP計費是一種從網站購買內容的支付方式,費用直接計入手機話費。使用這種計費服務,攻擊者可以通過將用戶注冊到未知訂閱中并按天、每周或每月向他們收費的方式,將目標鎖定在美國、英國、印度、泰國和越南等國家,從而使攻擊者獲得金錢收益。
如圖12所示,該應用程序有一個位于泰國的WAP訂閱URL,這在該惡意軟件變體中很常見,甚至會檢查運營商代碼以識別移動設備的蜂窩連接。
運營商代碼檢查和基于泰國的WAP鏈接
攻擊者將所有惡意功能隱藏在下載的有效載荷中,這種技術在Joker惡意軟件中很常見。惡意軟件不斷發(fā)展并定義新技術以隱藏其惡意功能以防止檢測。
安全建議
?不斷更新防毒軟件,以檢測及刪除惡意軟件;
?如果你在設備中發(fā)現(xiàn)此惡意軟件,請卸載該應用程序;
?保持系統(tǒng)和應用程序更新到最新版本;
?使用強密碼并啟用雙因素身份驗證;
?只能從可信的網站和官方應用商店下載和安裝軟件;
?在授予應用程序訪問權限之前,驗證應用程序請求的特權和權限;
?如果有人擔心自己被盜的證書會在暗網上曝光,可以登陸AmIBreached.com,以確定自己的暴露情況。
本文翻譯自:https://cybleinc.com/2021/07/09/android-app-disguised-as-a-qr-scanner-spreads-joker-variant-trojan/