信息來源:4hou
Symantec研究人員發(fā)現(xiàn)了一款惡意安卓應(yīng)用程序——Xhelper。該程序可以隱藏自己,下載其他的惡意app,展示廣告。還有最重要的一點(diǎn),Xhelper是永久的。用戶在卸載了Xhelper后,惡意軟件可以重新安裝,并能實(shí)現(xiàn)隱藏自己,并不出現(xiàn)在系統(tǒng)的啟動(dòng)器中。在過去6個(gè)月,Xhelper已感染超過4.5萬設(shè)備。
研究人員在許多在線論壇發(fā)現(xiàn)了許多用戶發(fā)帖抱怨隨機(jī)彈窗廣告,即使手動(dòng)卸載后惡意軟件仍然可以顯示廣告。
圖 1. 用戶在論壇抱怨Xhelper (上: Google, 下:Reddit)
Xhelper
Xhelper并不提供普通的用戶接口。惡意軟件只是一個(gè)應(yīng)用組件,也就算說并不會(huì)在設(shè)備的應(yīng)用啟動(dòng)器中出現(xiàn),如圖2所示。因此,惡意軟件很容易可以執(zhí)行惡意活動(dòng)。
圖 2. 用來從應(yīng)用啟動(dòng)器中移除app的代碼(上)啟動(dòng)器中的app(下)
因?yàn)閱?dòng)器中沒有app圖標(biāo),因此Xhelper無法手動(dòng)啟動(dòng)。在該例中,惡意app 是通過外部事件來啟動(dòng)的,比如當(dāng)被黑的設(shè)備連接或斷開電源,設(shè)備重啟或app安裝或卸載時(shí)。
圖 3. Xhelper的manifest代碼顯示可以觸發(fā)惡意軟件的事件
惡意軟件啟動(dòng)后,會(huì)將自己注冊(cè)為前臺(tái)服務(wù),這就降低了在內(nèi)存太小時(shí)被kill掉的概率。為了實(shí)現(xiàn)駐留,惡意軟件會(huì)在服務(wù)停止時(shí)重啟服務(wù),這也是移動(dòng)惡意軟件常用的方法。
圖 4. Xhelper將自己注冊(cè)為前臺(tái)服務(wù),在停止運(yùn)行時(shí)重啟服務(wù)
Xhelper在受害者設(shè)備上立足后,就解密嵌入在包中的惡意payload到內(nèi)存中來執(zhí)行其核心惡意功能。然后,惡意payload會(huì)連接到攻擊者的C2服務(wù)器并等待命令。為了防止通信被攔截,攻擊者在客戶端設(shè)備和C2服務(wù)器之間所有的通信上都使用了SSL certificate pinning。
圖 5. 含有SSL certificate-pinning特征的Xhelper代碼
成功連接到C2服務(wù)器后,惡意軟件會(huì)下載其他payload到被感染的設(shè)備,比如釋放器、點(diǎn)擊器、rootkit等。研究人員認(rèn)為C2服務(wù)器上有不同的惡意軟件,惡意軟件包含有不同的功能,這樣就給了攻擊者不同的選擇,包括數(shù)據(jù)竊取或完全控制設(shè)備。
圖 6. Xhelper獲取下載payload的配置數(shù)據(jù)的HTTP POST請(qǐng)求
Xhelper發(fā)展
研究人員最早是在2019年3月發(fā)現(xiàn)Xhelper的。當(dāng)時(shí)惡意軟件的代碼還很簡(jiǎn)單 ,其主要功能是讓用戶訪問廣告頁。隨著時(shí)間的推移,代碼也在不斷地更新和改進(jìn)。剛開始的時(shí)候,惡意軟件連接到C2服務(wù)器的能力是直接寫入惡意軟件中,但隨后該功能移動(dòng)到了加密的payload,這是為了嘗試?yán)@過基于簽名的檢測(cè)。一些老版本的變種中還有空的沒有實(shí)現(xiàn)的類,但這些功能在之后的版本中都啟用了。
研究人員有理由相信惡意軟件的源碼仍然在開發(fā)中。比如,研究人員發(fā)現(xiàn)許多類和常量變種都標(biāo)記為Jio。這些類都是沒有實(shí)現(xiàn)的,研究人員懷疑攻擊者可能正在計(jì)劃攻擊Jio用戶。
圖 7. Xhelper源代碼中提到Jio的類和包
Xhelper下載資源
研究人員并沒有在Google play應(yīng)用商店中找到本文中分析的樣本,研究人員猜測(cè)Xhelper惡意軟件是從其他未知源處下載的,研究人員相信可能有很多的分發(fā)方法。
研究人員還發(fā)現(xiàn)這些惡意app在許多特定手機(jī)品牌中安裝地頻率很高,因此研究人員猜測(cè)攻擊者可能正在關(guān)注某些特定的品牌。還有用戶對(duì)設(shè)備中惡意軟件的駐留進(jìn)行抱怨。雖然這些app可能并不是系統(tǒng)應(yīng)用程序,這表明有另一個(gè)惡意系統(tǒng)app可能會(huì)下載惡意軟件,研究人員目前還在調(diào)查中。
圖 8. 用戶抱怨無法完全卸載Xhelper
Xhelper感染
統(tǒng)計(jì)數(shù)據(jù)表明,Xhelper惡意軟件目前已經(jīng)感染了超過45000個(gè)設(shè)備。上個(gè)月,平均每天有131個(gè)設(shè)備被感染,整個(gè)月有2400個(gè)設(shè)備被永久感染。惡意軟件主要影響印度、美國和俄羅斯的用戶。