0x01 病毒背景及危害
伏地蟲病毒程序,是一款危害及其嚴(yán)重的手機(jī)惡意程序。此病毒所采用的技術(shù)非常高超,能夠自動(dòng)獲取用戶手機(jī)設(shè)備的Root權(quán)限,擁有了Root權(quán)限,該病毒就可以在手機(jī)設(shè)備上為所欲為,比如下載惡意程序,泄露用戶隱私信息,盜走網(wǎng)銀賬戶等等。該病毒會(huì)自帶root方案,方案數(shù)量多達(dá)26個(gè),基本覆蓋了絕大多數(shù)android漏洞提權(quán)的內(nèi)容。通過病毒的感染方式和惡意行為,可以判定制造這個(gè)病毒不是一個(gè)“個(gè)人行為”,該惡意程序的背后,有一個(gè)“強(qiáng)大”的團(tuán)隊(duì)在運(yùn)作。
下圖是近一個(gè)月來,騰訊手機(jī)管家監(jiān)測到的伏地蟲病毒的感染數(shù)據(jù),每日均有數(shù)以萬計(jì)的新增量,可以看出伏地蟲病毒的傳播速度之快,尤其是在周末會(huì)出現(xiàn)病毒感染的高峰。截止目前,已有近80萬的手機(jī)用戶感染了伏地蟲病毒,嚴(yán)重影響了用戶的正常生活,甚至造成財(cái)產(chǎn)損失,下面對伏地蟲病毒的原理和惡意行為進(jìn)行深度的分析。
0x02 病毒行為分析
此病毒母體一般都是寄生在一些色情應(yīng)用中,一旦用戶被誘導(dǎo)下載安裝這些病毒,病毒就找到了寄生體,用戶即使卸載掉安裝的應(yīng)用,病毒母體仍然無法被卸載,即使采用市面上常用的安全軟件也無法徹底清除此病毒。并且每次手機(jī)開機(jī),病毒都會(huì)自動(dòng)啟動(dòng),也無法通過恢復(fù)出廠設(shè)置來達(dá)到根除病毒的目的。本文所所描述的病毒母體附屬在一款名為流量分析的應(yīng)用軟件中,如下圖所示:
一旦流量分析軟件被用戶觸發(fā),病毒母體程序馬上開始發(fā)作,會(huì)瘋狂地給用戶下載其它第三方程序,這些程序包括正版的推廣軟件,也包括其他的惡意軟件、色情軟件等。如下圖所示:
除了推廣正常的常用應(yīng)用軟件,同時(shí)也會(huì)推廣一些惡意廣告軟件,頻繁在用戶手機(jī)上彈出廣告,廣告包含但不限于以下幾種:
1. 整屏彈窗
2. 半屏彈窗
3. 通知欄彈窗
4. 窗口懸浮,包括置頂和置底。
這些彈窗廣告,嚴(yán)重影響用戶正常使用手機(jī),如果不點(diǎn)擊廣告,廣告頁面一直處于屏幕最上層,遮住正常應(yīng)用軟件,使得用戶軟件無法正常運(yùn)行,比如專殺工具的查殺按鈕,如果被廣告頁面遮住,用戶就無法運(yùn)行查殺功能。
不僅如此,惡意程序還會(huì)推廣大量的色情軟件,如下圖所示:
除了上述惡意行為,惡意程序還會(huì)發(fā)送大量的扣費(fèi)短信,給用戶造成直接的財(cái)產(chǎn)損失,同時(shí)還會(huì)卸載一些安全軟件和授權(quán)軟件,比如會(huì)主動(dòng)去卸載kingroot授權(quán)軟件,以防止自身被安全軟件查殺,具有較強(qiáng)的自我保護(hù)能力。
0x03 病毒原理
病毒母體程序啟動(dòng)時(shí),首先會(huì)注冊啟動(dòng)很多事件監(jiān)聽服務(wù),包括但不限于監(jiān)控手機(jī)狀態(tài),接收、發(fā)送短信等。通過監(jiān)控網(wǎng)絡(luò)狀態(tài),由云端控制病毒進(jìn)行惡意推廣、后臺(tái)安裝垃圾應(yīng)用等操作。
1. 監(jiān)聽網(wǎng)絡(luò)狀態(tài)切換,啟動(dòng)聯(lián)網(wǎng)服務(wù)。
2. 初始化聯(lián)網(wǎng)參數(shù)
3. 聯(lián)網(wǎng)拉取云端指令
發(fā)送惡意短信,同時(shí)監(jiān)聽收到的短信,病毒母體中所有的字符串都經(jīng)過加密處理,病毒分析人員無法通過簡單反編譯手段獲取一些病毒信息。
4 啟動(dòng)服務(wù),發(fā)送惡意短信
5 監(jiān)聽短信接收
6 獲取敏感信息關(guān)鍵字,屏蔽敏感信息
而惡意程序的主體,其實(shí)并不在母體中,而是通過云端拉取的方式,從服務(wù)器上下載的,比如1208ggnn.mm,這是一個(gè)apk,這樣大大增加了分析員逆向分析和取證的難度。 流量分析這個(gè)軟件運(yùn)行起來后,首先會(huì)檢查本地是否有這個(gè)apk。如果沒有則會(huì)去服務(wù)器下載,如果有的話則會(huì)直接運(yùn)行。具體的代碼如下所示,其中的地址等字符串都是經(jīng)過加密:
我們通過在PC上架設(shè)軟熱點(diǎn),通過抓包工具抓到的數(shù)據(jù),可以清晰地看到惡意程序與服務(wù)器的通訊記錄。 惡意程序首先會(huì)去服務(wù)器下載1208ggnn.mm這個(gè)apk。然后會(huì)下載大量的推廣程序。如下圖所示(包含但不限于以下通訊記錄,短短幾分鐘,下載的數(shù)據(jù)包就有兩三百兆,多達(dá)上千條通訊記錄):
這張圖展示了惡意程序與服務(wù)器的通訊,在下載完1208ggnn.mm文件之后,通過自帶的方案提取root權(quán)限,然后釋放惡意程序文件到system等相關(guān)的目錄。
與此同時(shí),惡意程序還會(huì)把它推廣的軟件,也釋放到/system/目錄。手機(jī)上的文件分布如下圖所示:
1. 在手機(jī)/system/bin/下釋放這些文件。其中install-recovery.sh是手機(jī)啟動(dòng)時(shí)讓惡意程序自動(dòng)運(yùn)行的配置文件,ipm、dm、.nbwayxwzt、android.sys都是惡意程序文件。Busybox是一個(gè)shell命令的工具集。
2. 替換了/system/lib/下的libstlport.so。這個(gè)文件經(jīng)分析并沒有進(jìn)行感染,只是不同的版本,目的是為了防止手機(jī)上沒有這個(gè)文件,以此來保證惡意程序正常的運(yùn)行
3. 在手機(jī)/system/xbin目錄下,這三個(gè)都是惡意程序文件
4. 在手機(jī)/system/etc目錄下,會(huì)釋放入下文件,包括惡意程序文件以及開機(jī)自啟動(dòng)文件。
5. 在/system/app下釋放這些文件,這些應(yīng)用包括推廣的正常軟件,以及其他惡意程序文件,色情軟件等。把推廣的程序放在這個(gè)目錄下的目的,是為了用戶不能正常地卸載這些惡意程序
現(xiàn)在讓我們回過頭來再看看1208ggnn.mm這個(gè)apk,這個(gè)惡意程序之所以功能如此強(qiáng)大,是因?yàn)樗@取了root權(quán)限。這個(gè)重要的工作,都在上述這個(gè)apk中。這個(gè)apk的assets目錄下,從他的zip包中,我們看到有26個(gè)提權(quán)文件。
惡意程序會(huì)根據(jù)不同的機(jī)型,選擇不同的方案進(jìn)行root提權(quán)操作。Root方案文件如下圖所示:
獲取root的相關(guān)程序邏輯
將assets目錄下的db文件(其實(shí)就是一個(gè)jar包)拷貝到應(yīng)用目錄下,并用反射調(diào)用其中的入口方法開始Root。 另外病毒利用install-recovery.sh來實(shí)現(xiàn)開機(jī)自啟,如下圖所示:
病毒程序把/system/etc/install-recovery.sh這個(gè)文件給改了,增加了它自啟動(dòng)的相關(guān)文件路徑。這樣手機(jī)在開機(jī)的時(shí)候,就會(huì)把.360asshole等文件運(yùn)行起來。 上述的修改install-recovery.sh文件的內(nèi)容,都會(huì)被保存在這里
這些內(nèi)容是通過1208ggnn.mmassets.sv.qq這個(gè)so進(jìn)行操作的,它會(huì)讀取xxxx.sh文件,然后把該文件的內(nèi)容讀取出來,寫入到install-recovery.sh文件中。 具體匯編代碼如下圖所示:
惡意程序會(huì)把推廣的軟件也啟動(dòng)起來,是通過配置文件進(jìn)行的。這里包含著啟動(dòng)腳本,內(nèi)容都是經(jīng)過base64編碼的,如下圖所示:
上述兩個(gè)文件的內(nèi)容解密后可以看到相關(guān)數(shù)據(jù),如下圖所示:
上述兩個(gè)文件的內(nèi)容解密后可以看到相關(guān)數(shù)據(jù),如下圖所示:
在這個(gè)so中,我們可以看到對于/data/.hidenman/.ms2以及/data/.hiden/man/.asshole文件的操作。主要是把這兩個(gè)文件的內(nèi)容讀取出來,然后對他進(jìn)行base64解碼,進(jìn)行執(zhí)行的相關(guān)操作。如下圖所示:
通過上述分析,我們可以看到伏地蟲病毒的危害非常大,尤其在一些配置很低的手機(jī)上,那么多軟件同時(shí)運(yùn)行,外加廣告彈窗,會(huì)直接導(dǎo)致手機(jī)卡死而無法正常使用。
0x04 病毒查殺
發(fā)現(xiàn)手機(jī)中了此類病毒后,請及時(shí)下載騰訊手機(jī)管家,并利用頑固木馬專殺工具對病毒進(jìn)行查殺,如下圖所示:
0x05 附錄——病毒基本信息
病毒樣本hash:
A9755A6F8049B9B915457DF6A1D2F995F386480F
病毒包名:
com.ytel.sgh
軟件名:
流量分析
證書:
————————————————
文件名:
1208ggnn.mm
病毒樣本hash:
7B865FEAC388D87EF76071E372F65C3A77993858
證書: