McAfee Mobile Research團隊已經(jīng)確定了一個名為Android / LeifAccess.A的Android惡意軟件家族,該家族自2019年5月以來一直處于活動狀態(tài)。該木馬已在全球范圍內被本地化,但在美國和巴西的流行率更高。作為有效載荷的一部分,該木馬可以濫用OAuth,利用可訪問性服務在多個第三方應用程序中以受害者的合法電子郵件的名義自動創(chuàng)建帳戶。使用相同的方法,它可以在Google Play商店上創(chuàng)建虛假評論,以操縱應用排名,執(zhí)行廣告欺詐(點擊功能),更新自身并執(zhí)行任意遠程代碼等功能。
同時,許多受到假評論影響的目標應用程序都在Google Play上。
該惡意軟件尚未在Android官方商店中找到,因此我們確定的某些潛在分發(fā)方法與社交媒體,游戲平臺,惡意廣告以及從Command and Control(C&C)服務器直接下載APK文件有關。
社會工程獲得無障礙服務
安裝后,Android / LeifAccess.A不會顯示任何圖標或快捷方式。它在后臺運行,并可能會通過顯示敬酒通知并模擬系統(tǒng)警告,要求受害者激活可訪問性服務以執(zhí)行其大多數(shù)惡意活動,如下所示:
無障礙服務旨在幫助殘障用戶,或者在無法與設備進行完全交互的情況下為殘障用戶提供幫助。但是,正如我們在銀行木馬和其他移動威脅中所觀察到的那樣,可訪問性服務也可能被惡意軟件作者濫用而在沒有用戶交互的情況下執(zhí)行惡意活動。在最新版本的Android中,Google限制了在Google Play上具有可訪問性服務許可的應用程序的數(shù)量,并將某些功能移至其他新創(chuàng)建的API以最大程度地減少濫用,但是網(wǎng)絡罪犯仍在嘗試利用它,說服用戶激活此關鍵許可。
如果授予了可訪問性權限,則該木馬可以完全執(zhí)行其惡意活動;如果未授予它,它將仍然執(zhí)行部分可能的命令,例如廣告欺詐,安裝快捷方式并進行自我更新,從而為新的有效負載打開了大門。
假評論
基于對模糊的第二階段dex文件(fields.css)的靜態(tài)分析,可以得出結論,Android / LeifAccess可以通過濫用輔助功能來在Google Play上發(fā)布虛假評論:
Android / LeifAccess會嘗試下載并安裝目標應用程序,因為用戶帳戶只能撰寫對先前安裝的應用程序的評論。它將嘗試通過Google Play下載,但是還有一個實現(xiàn)可以從替代市場商店(BlackBerry)下載應用程序以及直接鏈接。
真實的例子
作為這種惡意行為的真實示例,可以在Google Play上找到與從C&C接收并存儲在去混淆的SharedPreferences XML文件中的參數(shù)匹配的評論。例如,應用程序“ Super Clean-Phone Booster,垃圾清理器和CPU散熱器”的平均得分為4.5星,并且獲得超過7k條評論,其中許多是偽造的,因為它們具有從特洛伊木馬的命令參數(shù)中復制的重復短語。
一些偽造的評論包含多個喜歡,這些喜歡可以與此惡意軟件執(zhí)行的其他命令相關聯(lián),該惡意軟件能夠找到此文本內容并為其提供喜歡:
命令和參數(shù)解密
Android / LeifAccess.A 以SharedPreferences XML格式存儲Hashtable映射,其中的鍵是函數(shù)名稱,值是命令使用的參數(shù)。為了避免檢測,對真實函數(shù)名稱(純文本)和參數(shù)進行了混淆,加密,加鹽處理和/或單向散列(md5或sha-1)。
使用zip.deflater和base64.enconde作為防御規(guī)避技術,通過數(shù)據(jù)壓縮將值存儲為混淆字符串。使用相同的算法,有些字符串會被混淆多次。
每個鍵都是使用對字符串的自定義base64生成的字節(jié)數(shù)組的md5摘要校驗和計算得出的,該字符串是通過對樣本的“函數(shù)名稱”和“包名稱”進行自定義操作得出的。該系列有數(shù)百種不同的變體,每個變體具有不同的程序包名稱,因此惡意軟件作者利用程序包名稱字符串中的這種唯一性將其用作對鍵值進行哈希處理的鹽。
在圖5中,xml <String>元素包含C&C發(fā)送的評論,而屬性“ name”代表哈希表鍵。在此示例中,鍵“ FF69BA5F448E26DDBE8DAE70F55738F6”與命令“ rate_p_words”相關聯(lián):
MD5是一種單向函數(shù),因此無法解密字符串,但是基于靜態(tài)分析,可以為第二階段DEX文件中找到的所有已解碼字符串重新計算哈希,然后將其與哈希關聯(lián)-表。
通過使用rate_p_words和com.services.ibgpe.hflbsqqjrmlfej作為參數(shù)調用哈希函數(shù),可以重新計算此特定哈希值。
其他參數(shù)存儲在同一哈希表中,例如使用相同的加密/混淆技術的自更新服務器URL:
此密鑰F09EA69449BA00AA9A240518E501B745和嵌入值可以解釋如下:
附錄中的命令表中詳細介紹了其他命令,其中包括快捷方式創(chuàng)建和更新頻率。
此外,接收到的命令也可以本地存儲在SQLite數(shù)據(jù)庫中,該數(shù)據(jù)庫記錄由惡意軟件執(zhí)行的部分操作。
濫用可及性
停用Google Play保護:
LeifAccess嘗試使用AccessibilityNodeInfo通過view-id資源名稱瀏覽目標應用程序。例如,對于Google Play保護,該程序包以程序包名稱“ com.android.vending”嵌入到Google Play應用中,并且它將嘗試訪問在字符串g上定義的視圖ID“ play_protect_settings:”。完整的合格資源ID為“ com.android.vending:id / play_protect_settings”,如下面的反混淆代碼所示。然后它將找到“ android:id / switch_widget”以嘗試停用掃描設備選項。
偽造帳戶濫用單一登錄:
該家族使用的另一種獲利技術是以真實用戶身份的名義創(chuàng)建帳戶以及在受感染設備上注冊的帳戶。這是通過濫用輔助功能來執(zhí)行帳戶創(chuàng)建并使用許多有效服務集成在其應用中的Google登錄 OAuth 2.0 登錄來實現(xiàn)的。
Android / LeifAccess可以下載并安裝目標應用程序,以便以后無需用戶干預即可設置帳戶。
下面的反混淆代碼顯示了Android / LeifAccess如何使用AccesibilityEvent導航到約會應用程序以使用Google登錄選項創(chuàng)建帳戶。
以下是此惡意軟件以執(zhí)行虛假帳戶創(chuàng)建為目標的其他應用程序包名稱的一些示例,這些名稱主要與購物,約會和社交等類別相關。
zalora.android
tiket.gits
b2w.submarino
zzkko
友善地
newchic.client
com.netshoes.app
Makemytrip
喜歡
lazada.android
oom
jabong.android
起始星
banggood.client
alibaba.intl.android.apps.poseidon
阿里巴巴
airyrooms.android
其他惡意負載
廣告欺詐:
還實現(xiàn)了Clicker功能,因此受感染的設備可以請求廣告流量,而無需在界面中顯示單個廣告。
從C&C發(fā)送特定的用戶代理標頭以執(zhí)行廣告欺詐。
通常,運行廣告的應用將一個或多個廣告網(wǎng)絡SDK(通常以JAR庫形式分發(fā))集成到其中,以正確請求廣告內容收集位置,設備類型甚至某些用戶數(shù)據(jù)。但是,此惡意軟件不會將任何SDK軟件包集成到源代碼中以訪問廣告。Android / LeifAccess可以通過C&C服務器預先構建并以JSON格式發(fā)送給它的廣告點擊或廣告印象(IMPR)的直接鏈接,使用正確的廣告網(wǎng)絡格式加載廣告。這意味著受感染的設備將能夠請求具有模擬合法點擊所需的完整參數(shù)的URL,該合法模擬來自用戶在合法應用程序的上下文中單擊橫幅廣告,從而避免了SDK集成,這也有助于保持相對較小的尺寸文件大小。
廣告軟件JSON結構包括:
此外,如果該惡意軟件在收到適當?shù)拿詈蠡蚧贑&C定義的特定頻率,在解鎖設備后可以在任何應用程序的上下文之外全屏顯示真實廣告。此外,它還可以顯示一個重疊圖標,以浮動重疊的形式重定向到廣告。
可以根據(jù)收到的參數(shù)在主屏幕中創(chuàng)建任意快捷方式:
假通知
為了獲得可訪問性服務或請求停用尚未被授予的OS安全選項,該惡意軟件能夠啟動Toast消息以試圖說服受害者執(zhí)行某些操作。
以下是“ dialog”屬性內惡意軟件使用的JSON格式的偽造通知(包括標題和內容)的列表,該惡意通知在參數(shù)“ notifi_inter”(28800000毫秒,等于8個小時)的間隔內作為敬酒通知執(zhí)行)。
圖13.用作假通知的對話框列表
國際化'deactivate'和'activate'字符串以與OS語言匹配:
開箱和執(zhí)行
為了避免檢測,或者作為一種“防御規(guī)避”技術,原始安裝的應用程序只是一個包裝,該包裝一旦被執(zhí)行,就可以從路徑“ assets / fields.css”的資產(chǎn)文件中解密JAR,并通過反射將其動態(tài)加載到主要應用。系統(tǒng)API調用字符串也使用自定義的base64實現(xiàn)進行了混淆。
圖14.惡意軟件拆包概述
還原解密的jar文件需要對Android / LeifAccess.A使用的字符串進行模糊處理,這些字符串都是自定義編碼的:
圖15.使用函數(shù)et.a對字符串進行模糊處理
命令和控制服務器:
命令和控制服務器還用于惡意軟件分發(fā)和有效負載更新。域名中包含的單詞可能使人們認為它們屬于合法的廣告網(wǎng)絡或內容分發(fā)網(wǎng)絡(CDN):
分布與遙測
分配
這些示例可作為直接APK鏈接托管在C&C中,但也可以在社交媒體中分發(fā),也可以作為試圖說服用戶安裝重要安全更新的惡意廣告活動來分發(fā)。此變體標簽為SystemSecurityUpdates,程序包名稱以'com.services.xxxx'開頭,假裝是系統(tǒng)更新。
發(fā)現(xiàn)Android / LeifAccess.A的變體是通過Discord游戲聊天平臺托管和分發(fā)的。以下網(wǎng)址格式提供了一些惡意的APK變體:
感染需要用戶下載并安裝惡意APK;這意味著將使用社會工程學組件進行初始訪問。使用廣告讓人們擔心潛在威脅,或者誘使想要添加“隱藏功能”的游戲玩家,使他們更愿意遵循攻擊者在帖子或視頻中描述的不受信任的安裝流程的說明,即使他們必須撤消安全通知或停用安全性允許主動權限或激活輔助功能的措施。
結論
能夠安裝應用程序,然后以受害人的名義在Google Play上發(fā)布虛假評論,能夠在第三方服務上創(chuàng)建虛假帳戶以及自我更新機制,并結合多種混淆和加密技術用作自我防御功能,一種獨特的惡意軟件,可以在沒有AV保護的情況下將其隱藏在受害者的視線范圍內。
該木馬的主要功能可以描述為:
從Google Play或APK Pure下載應用
停用Google Play保護
創(chuàng)建具有OAuth濫用訪問權限的虛假帳戶
在Google Play上發(fā)布虛假評論
在主屏幕上創(chuàng)建快捷方式
在后臺和全屏展示廣告
自我更新
Android / LeifAccess實施了多種自衛(wèi)技術,以加密和混淆惡意行為,并嘗試避免AV檢測。
由于大量的獨特樣本,我們可以推斷出,大量資源用于服務器端多態(tài)方式來生成樣本的基礎架構和自動化。
不斷部署新的變體,以使這個假冒評論者的移動僵尸網(wǎng)絡存活。
這種惡意軟件不僅會損害用戶,還會影響App Market的信譽以及為無人看過的橫幅廣告付費的對手/廣告網(wǎng)絡。
它還暗示存在欺詐性提高應用程序聲譽的市場,并且必須以類似于實現(xiàn)社交媒體的服務來實現(xiàn)此類目的的貨幣化目標,在社交媒體上存在購買追隨者或喜歡的服務。
這些出版物違反了Google Play商店的指南,主要是因為評論和排名是幫助用戶選擇合適且安全的應用程序的關鍵-偽造的應用程序可能會破壞用戶的信任。
但是,這種排名操縱是識別和刪除的挑戰(zhàn),因為這類虛假評論不是由虛假帳戶產(chǎn)生的,并且大多數(shù)反垃圾郵件方法旨在查找由不可信或未經(jīng)驗證的帳戶而非合法用戶創(chuàng)建的內容。該相同技術可用于社交媒體或任意消息的任何其他平臺分發(fā)。
如果您認為自己可能受到這個家庭的影響,則可以通過https://aboutme.google.com/查看或編輯您在Google帳戶上撰寫的評論。
McAfee Mobile Security還以Android / LeifAccess.A和Android / LeifAccess.B的身份識別并檢測到了該惡意軟件的較新版本。
技術數(shù)據(jù)和IOC
命令表
斜接ATT&CK矩陣
芯片
6032c1a8b54f3daf9697a49fdd398d3ebe35f3fec3d945d6d8e9588043332969
com.services.ibgpe.hflbsqqjrmlfej
032184204b50f0634ad360a2090ea9904c012cb839b5a0364a53bf261ce8414e
com.services.kxyiqc.zzwkzckzfiojjzpw
0a95e9cce637a6eb71e4c663e207146fe9cde0573265d4d93433e1242189a35c
com.services.jifat.qaxtitmumdd
533a395ed16143bbe6f258f3146ea0ea3c56f71e889ace81039800803d0b1e18
com.services.xvpyv.tteawsribdsvi
6755f708d75a6b8b034eae9bcb6176679d23f2dc6eb00b8656d00f8ee0ec26c1
com.services.myzmuexri.nrphcanr