摘要:三刷榜僵尸分析應(yīng)用是主包解密后植入到系統(tǒng)目錄的應(yīng)用,該應(yīng)用是一款轉(zhuǎn)用于惡意刷榜的病毒,利用用戶設(shè)備賬戶信息作為刷榜僵尸,完成對(duì)控制端指定應(yīng)用的惡意刷榜。
背景:作者:逆巴、如凌@阿里聚安全
隨著移動(dòng)端應(yīng)用市場(chǎng)數(shù)量爆炸式增長(zhǎng),App推廣和曝光率也越來越難。哪里有需求哪里就有生財(cái)之道,自然,App刷榜也就形成了一條產(chǎn)業(yè)鏈,它能夠在短期內(nèi)大幅提高下載量和用戶量,進(jìn)而提高應(yīng)用的曝光率。
近期,阿里移動(dòng)安全發(fā)現(xiàn)一款名叫“魔百Wi-Fi”應(yīng)用,該應(yīng)用官方的一個(gè)版本捆綁了多個(gè)病毒,目的是對(duì)GooglePlay商店應(yīng)用刷榜和刷大量未知應(yīng)用安裝量。該病毒在該設(shè)備鎖屏?xí)r對(duì)設(shè)備root,root成功后向系統(tǒng)目錄植入“刷榜僵尸”病毒,“刷榜僵尸”對(duì)指定應(yīng)用在GooglePlay商店上惡意刷量,同時(shí)還會(huì)誘騙用戶安裝“下載者”病毒,“下載者”病毒會(huì)在設(shè)備屏幕亮起狀態(tài)會(huì)彈出廣告頁面,若用戶觸碰廣告頁面推廣的應(yīng)用將會(huì)自動(dòng)安裝運(yùn)行。該病毒技術(shù)相當(dāng)成熟,root提權(quán)使用最高廣的漏洞(CVE-2014-3153 TOAWELROOT、CVE-2015-3636 PINGPONG和PUTUSER等),2015年10月之前的設(shè)備全部受影響。我們對(duì)惡意應(yīng)用的證書對(duì)比,驚人的發(fā)現(xiàn)并非被重打包!
“魔百Wi-Fi”在2015年末首次發(fā)布,向用戶打著安全Wi-Fi旗號(hào),短短半年用戶安裝量已高達(dá)300萬。我們發(fā)現(xiàn)它具備專業(yè)的應(yīng)用推廣團(tuán)隊(duì),目前已在國(guó)內(nèi)知名渠道發(fā)布多篇宣傳文章,并與國(guó)內(nèi)多家應(yīng)用商店合作,下圖是”魔百Wifi”前不久的一篇文章,文中還提到“截至目前,魔百WiFi擁有超過2億的國(guó)內(nèi)外熱點(diǎn),已覆蓋商場(chǎng)、酒店,熱點(diǎn)全線接入”。
“魔百Wifi”目前最新版本為2.3.18。根據(jù)應(yīng)用證書md5(5919ee638614c467152ab4d07c9cc2dc)排查,發(fā)現(xiàn)版本2.3.5~2.3.10被官方插入了惡意代碼。值得注意的是,官方發(fā)布的2.3.8版本打了兩個(gè)不同的包,一個(gè)增加root提權(quán)向系統(tǒng)目錄植入“刷榜僵尸”,另外一個(gè)包和2.3.10版本應(yīng)用都捆綁了“下載者”病毒。捆綁了“刷榜僵尸”和“下載者”的“魔百Wifi”,利用自身的用戶量對(duì)應(yīng)用刷榜和安裝,進(jìn)而非法牟利。以下是對(duì)“魔百Wi-Fi”2.3.8帶root包的應(yīng)用分析。
一、主包分析:該病毒捆綁了多個(gè)子包,以下是各個(gè)模塊關(guān)系圖:
解密assets目錄下sdk.data、__image數(shù)據(jù),解密后sdk.data是一個(gè)目錄,目錄下包括MainJson.txt、dexhostinjection.jar、libDaemonProcess.so, __image是apk文件;
喚起PushDexService、PushJobService完成dexhostinjection.jar加載,以及執(zhí)行dexhostinjection.jar的com.hostinjectiondex.external.ExternalInterfaces類的startExternalBody方法,子包下載“下載者”病毒update,并誘導(dǎo)用戶安裝。
開啟后臺(tái)服務(wù)利用libgodlikelib.so進(jìn)行root提權(quán),提權(quán)成功將libgodlikelib.so提權(quán)工具庫(kù)寫入系統(tǒng)庫(kù)文件;__image解密的apk文件植入系統(tǒng)目錄,取名AndroidDaemonFrame.apk即是“刷榜僵尸”病毒;
二、root提權(quán)該樣本是基于開源的RUN_ROOT_SHELL改寫而成,可以對(duì)2015年10月份之前的全部設(shè)備root,主要利用了以下漏洞進(jìn)行提權(quán):
(1) CVE-2012-4220
影響設(shè)備:Android2.3~4.2
使用的QualcommInnovation Center(QuIC)Diagnostics內(nèi)核模式驅(qū)動(dòng)程序diagchar_core.c在實(shí)現(xiàn)上存在整數(shù)溢出漏洞,通過向diagchar_ioctl內(nèi)傳遞特制的輸入,遠(yuǎn)程攻擊者可利用此漏洞執(zhí)行任意代碼或造成拒絕服務(wù)。
(2) /dev/graphics/fb0
fb0設(shè)備mmap漏洞(觸發(fā)參數(shù)FBIOGET_FSCREENINFO)
(3) /dev/hdcp
hdcp設(shè)備mmap漏洞
(4) CVE-2013-6282
影響版本:linux kernel3.2.1、Linux kernel3.2.2、Linux kernel3.2.13
Linux kernel對(duì)ARM上的get_user/put_user缺少訪問權(quán)限檢查,本地攻擊者可利用此漏洞讀寫內(nèi)核內(nèi)存,獲取權(quán)限提升。
(5) /dev/msm_acdb
高通設(shè)備漏洞
(6) CVE-2013-2595
/dev/msm_camera/config0高通設(shè)備MMAP漏洞。
(7) CVE-2013-2094
影響版本:linux kernel3.8.9之前開啟了PERF_EVENT的設(shè)備
利用該漏洞,通過perf_event_open系統(tǒng)調(diào)用,本地用戶可以獲得系統(tǒng)的最高權(quán)限。
(8) CVE-2015-3636
影響設(shè)備:2015年9月份之前的設(shè)備
pingpong該漏洞是Linux kernel的ping套接字上存在的一個(gè)Use-After-Free漏洞。
(9) CVE-2014-3153
影響設(shè)備:2014年6月以前的設(shè)備
漏洞利用了futex_requeue、futex_lock_pi、futex_wait_requeue_pi三個(gè)函數(shù)存在的RELOCK漏洞和REQUEUE漏洞,造成了對(duì)內(nèi)核棧上的數(shù)據(jù)修改。
對(duì)設(shè)備成功提權(quán)后,會(huì)將解密的__image植入/system/priv-app目錄并命名為AndroidDaemonFrame.apk,將libgodlikelib.so提權(quán)工具庫(kù)植入/system/lib目錄。下圖提權(quán)并向系統(tǒng)目錄植入惡意文件。
AndroidDaemonFrame應(yīng)用是主包解密后植入到系統(tǒng)目錄的應(yīng)用,該應(yīng)用是一款轉(zhuǎn)用于惡意刷榜的病毒,利用用戶設(shè)備賬戶信息作為刷榜僵尸,完成對(duì)C&C控制端指定應(yīng)用的惡意刷榜?!八窠┦惫ぷ髁鞒倘缦拢?br>
1.“刷榜僵尸”C&C控制端配置keywords和package_name。
2.“刷榜僵尸”向googleplay發(fā)起認(rèn)證,通過獲取的設(shè)備googleplay賬號(hào)和密碼,或authtoken。
3.模擬googleplay協(xié)議對(duì)目標(biāo)應(yīng)用搜索、瀏覽和下載。
刷榜僵尸病毒在設(shè)備啟動(dòng)、屏幕解鎖和網(wǎng)絡(luò)改變觸發(fā)BootReceiver組件執(zhí)行,隨后啟動(dòng)核心服務(wù)DispatcherService,該服務(wù)創(chuàng)建updateTask和googlePlayTask定時(shí)任務(wù)。
googlePlayTask每3小時(shí)執(zhí)行一次,對(duì)配置文件里的keywords和package_name指定的應(yīng)用從GooglePlay爬取。下圖root提權(quán)重定向設(shè)備賬戶文件。
病毒通過GooglePlay驗(yàn)證有兩種方式,一使用authtoken,全稱authentication token,有了它病毒無須每次操作都向google服務(wù)器發(fā)送密碼, 執(zhí)行語句:sql.rawQuery("select type,authtoken from authtokens where type like "com.android.vending%" and accounts_id="+ accounts_id, null);二是獲取google賬戶name、password和_id值。執(zhí)行語句:sql.rawQuery("select * from accounts where type = ?", new String []{"com.google"})。如下圖。
成功與google play服務(wù)器連接后,通過配置文件提供的keywords和package_name完成應(yīng)用搜索、瀏覽和下載
當(dāng)前配置文件如下圖,發(fā)現(xiàn)病毒正在對(duì)package_name是com.felink.shine的應(yīng)用刷量。
病毒完全模擬google play下載協(xié)議,包括設(shè)置cookie(AndroidId + authToken)、User-agent(AndroidDownloadManager)等,GooglePlay應(yīng)用下載請(qǐng)求流程大致如下圖(https://github.com/egirault/googleplay-api/issues/30):
“刷榜僵尸”病毒的GooglePlayRequester工具類模擬了以上過程,實(shí)現(xiàn)google play商店應(yīng)用下載。
四、子包dexhostinjection.jar子包dexhostinjection.jar由assets目錄下sdk_data文件解密得到,完成了以下幾個(gè)功能:
4.1 服務(wù)保活解析主包傳遞的000(m_pkgname)、001(m_class_name)、002(m_sdk_data)、003(libDaemonProcess)、004(1.apk)參數(shù),利用libDaemonProcess庫(kù)服務(wù)?;?,在底層執(zhí)行am startservice啟動(dòng)主包傳遞的service,也就是主包中的com.hostinjectionmain.control.DexService。如下圖。
主包004參數(shù)傳遞的應(yīng)用名,并拷貝到設(shè)備sdcard/database目錄命名為5supdate.apk,同時(shí)配置“下載者”病毒相關(guān)文件,存放目錄在sdcard/database目錄下。包括actiondown記錄包名以及啟動(dòng)服務(wù)名、actionsuk應(yīng)用最近一次運(yùn)行時(shí)間、install.ab服務(wù)器推廣應(yīng)用安裝情況、mychannel應(yīng)用渠道,這些文件數(shù)據(jù)全部都AES加密存放。Actiondown記錄下載者病毒包名以及入口服務(wù)。
actiondown:{"downLoadPackageName":"com.android.ucgmap","downLoadVersionKey":1,"downLoadStartMethod":"com.android.ucgmap/com.android.ucgmap.AimService”}
子包動(dòng)態(tài)注冊(cè)監(jiān)聽android.intent.action.PACKAGE_ADDED、android.intent.action.USER_PRESENT消息廣播。處理包安裝完畢消息,若此次安裝包名是actiondown里downLoadPackageName字段記錄的“下載者”病毒,讀取downLoadStartMethod字段啟動(dòng)“下載者”。
使用兩種策略誘騙用戶安裝“下載者”病毒(其應(yīng)用名為update),一默認(rèn)模式以應(yīng)用更新誘騙用戶點(diǎn)擊安裝;二由服務(wù)器設(shè)置,彈出系統(tǒng)更新誘騙用戶點(diǎn)擊安裝。
子包的連接并不是直接暴露的,而是做了兩層跳板。配置下一跳轉(zhuǎn)訪問地址http://dispatch.smartchoiceads.com/v2.1/2000,參數(shù)設(shè)備aid、imsi、gaid、mac(wifi),request和response數(shù)據(jù)全部AES加密。服務(wù)端會(huì)根據(jù)上傳的設(shè)備信息返回次設(shè)備對(duì)應(yīng)的url地址,隨后設(shè)備會(huì)使用該地址下載服務(wù)端推廣的應(yīng)用。下圖訪問url_1(http://dispatch.smartchoiceads.com/v2.1/2000)返回加密的數(shù)據(jù),經(jīng)AES解密提取data值獲取當(dāng)前設(shè)備的對(duì)應(yīng)訪問的服務(wù)器地址url_2。
解密后的數(shù)據(jù)為:{"upstream":"http://sdk.smartchoiceads.com"},這樣獲取了下一跳板的地址。 訪問跳板地址,下載、加載和運(yùn)行最新版子包。 訪問服務(wù)器配置的url_2,服務(wù)器同樣返回AES加密數(shù)據(jù),解密后的數(shù)據(jù)如下:
{"solib_name":"libDaemonProcess.so","download_url":"http://u.smartchoiceads.com/sdk/HostDex_20160623163035.jar","classname":
"com.hostinjectiondex.external.ExternalInterfaces","filename":"dexhostinjection.jar","start_method":
"startExternalBody","solib_url":"http://u.smartchoiceads.com/sdk/libDaemonProcess_20160520175142.so","stop_method":
"stopExternalBody","request_interval":"1800","version":"8"}。
根據(jù)解密獲取的字段,下載新版本的dexhostinjection.jar包,以及l(fā)ib庫(kù),目前服務(wù)器最新版本dexhostinjection_8.jar。子包通過向主包的DexService發(fā)送com.injection.action.RELOAD_DEX消息意圖,完成子包更新加載。
子包dexhostinject.jar下載的5supdate.apk存放位置在sdcard/database目錄下,既是“下載者”病毒安裝包,通過應(yīng)用更新或系統(tǒng)更新誘騙用戶安裝,安裝后dexhostinject.jar啟動(dòng)“下載者”導(dǎo)出服務(wù)AimService?!跋螺d者”病毒工作流程圖如下:
dexhostinject.jar啟動(dòng)應(yīng)用的參數(shù)會(huì)喚起ChatActivity組件運(yùn)行。ChatActivity進(jìn)行設(shè)備管理激活,一旦用戶激活設(shè)備管理,應(yīng)用將很難被卸載。用戶在取消截獲設(shè)備管理時(shí),AdminReciver會(huì)進(jìn)行鎖屏操作并跳轉(zhuǎn)到桌面。
1.加載target.jar子包,保護(hù)“下載者”核心服務(wù)AimService不死
2.啟動(dòng)ApsService,組件ApsService是云端推送服務(wù),注冊(cè)時(shí)鐘廣播每10分鐘發(fā)送廣播轉(zhuǎn)交給ApsAdReceiver處理
3.onStartCommand處理消息意圖,包括:
a.com.injection.action.RELOAD_DEX,更新target.jar子包;
b.com.injection.action.stopJobService,停止JobScheduler并進(jìn)程自殺;
c.-a com.android.startadmin --es isadmin true,喚起ChatActivity組件,進(jìn)行激活設(shè)備管理。該意圖消息是dexhostinject.jar發(fā)送給AimService的。
5.3“下載者”應(yīng)用推送分析應(yīng)用下載、安裝和啟動(dòng)由ApsService和ApsAdReceiver聯(lián)合完成。當(dāng)update應(yīng)用處于后臺(tái)運(yùn)行,并且屏幕處于亮起狀態(tài),“下載者”向C&C服務(wù)器發(fā)起請(qǐng)求,下圖訪問C&C控制。
“下載者”病毒會(huì)每隔10分鐘訪問http://www.gamecpi.com/tapcash/com.android.ucgmap/control.json,返回?cái)?shù)據(jù)結(jié)構(gòu)如下。
{ "isOpened":true, "isOpenHideNativeAd":true, "fid":"", "fnid":"558734714274962_641985812616518", "aid":"ca-app-pub-2499265864844132/2514086206", "bnid":660078, "solaid":5011, "soltid":1000171, "ad_interval":10, "no_ad_start":0, "no_ad_end":6 }
該數(shù)據(jù)結(jié)構(gòu)信息是當(dāng)前推廣應(yīng)用的信息,隨后通過消息handler轉(zhuǎn)交給startAdWork函數(shù)處理。
每隔120分鐘請(qǐng)求控制端下載推廣應(yīng)用,http://www.gamescpa.com/SDKManager/cpa/downloadlink.php?country=cn&packageName=com.android.ucgmap,C&C控制端返回推送的應(yīng)用信息,包括packgae(應(yīng)用包名)、url(應(yīng)用下載鏈接)、size(應(yīng)用大小),返回?cái)?shù)據(jù)轉(zhuǎn)交給消息handler處理,進(jìn)行應(yīng)用下載安裝。
再配合之前注冊(cè)的時(shí)鐘廣播ApsAdReceiver,完美完成推廣應(yīng)用啟動(dòng)。
01b3e575791642278b7decf70f5783ecd638564d
5900fabbe36e71933b3c739ec62ba89ac15f5453
7ebdd80761813da708bad3325b098dac9fa6e4f5
ea781498268ced8dbb892d02aeaad23f4b87a510
44e81be6f7242be77582671d6a11de7e33d19aca
34b7b38ce1ccdd899ae14b15dd83241584cee32b
74a55e9ea67d5baf90c1ad231e02f6183195e564
4e5af777fe28f450a670e789b23fb3669dc6e6b6
d59f97297de38db7f85349c9486413e914ff35b5
b219db613284a3dd0e87edea67da744be59e7732
9b9109ecfa38d9664084a513392ffc3f41349f02
2b1da376212e63cb25a19900642c4bbca6e49c01
18d9546193a354aec0c76d141dd66fbf99181bad
63c20ee3c1e1b39921d2b3d86aade39de738ea9b
5d2a08d7c1f665ea3affa7f9607601ffae387e8b
70105591ea9f2b42534062278f31dbf9788575b3
34b7b38ce1ccdd899ae14b15dd83241584cee32b
78e9c7e0510b0c28abf28dd46910ab14c56ab4df
88745ecb3114fc0539ca05db388e1c77d3e76109
885fe0dca39d0fe281aad78cbce2fb73f27f3aea
50bdc0195ed3c6f9909e62d4926f26d312cc39fa
七、總結(jié)該病毒應(yīng)用通過版本更新,進(jìn)行惡意版本下發(fā),在完成“刷榜僵尸”和“下載者”病毒后又利用版本更新替換成線上安全版本,如此在各大應(yīng)用市場(chǎng)上期存活。阿里移動(dòng)安全同學(xué)建議,用戶下載此類App請(qǐng)認(rèn)準(zhǔn)大廠商品牌應(yīng)用;謹(jǐn)慎點(diǎn)擊軟件內(nèi)的推送廣告;來源不明的應(yīng)用不要隨意點(diǎn)擊;請(qǐng)定期使用阿里錢盾等手機(jī)安全軟件查殺病毒。
作者:逆巴、如凌@阿里聚安全,更多技術(shù)文章,請(qǐng)?jiān)L問阿里聚安全博客
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/11177.html
摘要:國(guó)內(nèi)有二十多個(gè)手游網(wǎng)媒,必須發(fā)新聞保證曝光度。相對(duì)而言,這部分的成本比刷榜便宜多了,但是必須有專人跟進(jìn)協(xié)同,比較費(fèi)神。最后恭祝各位刷榜愉快,發(fā)財(cái)事小,保重身體事大,真心的。 【編者按】:APP刷榜在業(yè)內(nèi)已經(jīng)不是什么秘密了!為什么那么多公司和應(yīng)用都熱衷于刷榜?在業(yè)內(nèi)甚至有流傳最好的渠道就是刷榜的提法,這句話究竟該如何理解?編者任職于成都無敵勇士科技公司,從事海外APP推廣接近3年時(shí)間,就...
摘要:廣東省的仿冒應(yīng)用感染設(shè)備量最大,占全國(guó)的。該案例中的主要分發(fā)渠道是應(yīng)用市場(chǎng),網(wǎng)盤與偽基站短信。電信行業(yè)分析大運(yùn)營(yíng)商中,中國(guó)移動(dòng)手機(jī)營(yíng)業(yè)廳的仿冒量最大,占。中國(guó)互聯(lián)網(wǎng)仿冒態(tài)勢(shì)分析報(bào)告版本下載,請(qǐng)點(diǎn)擊這里更多互聯(lián)網(wǎng)安全報(bào)告,請(qǐng)?jiān)L問阿里聚安全博客 一、摘要 基于阿里聚安全在2016年1-8月收錄的APK樣本數(shù)據(jù),從16個(gè)行業(yè)分類分別選取了15個(gè)熱門應(yīng)用,共240個(gè)應(yīng)用進(jìn)行仿冒分析,發(fā)現(xiàn)83%...
閱讀 1071·2021-11-24 10:27
閱讀 3345·2021-11-18 10:02
閱讀 2405·2021-11-16 11:45
閱讀 3168·2021-11-15 18:10
閱讀 837·2021-09-22 15:23
閱讀 1538·2019-08-30 15:53
閱讀 3028·2019-08-30 13:20
閱讀 1675·2019-08-30 12:53