有了短信驗證你的錢到底是怎么被強(qiáng)刷走的 警惕手機(jī)木馬
在用戶第一次啟動時,注冊自動啟動組件,BootReceiver
![]()
AndroidManifest.xml中注冊的事件

從下圖可以看到BootReceiver繼承自BroadcastReceiver

自動啟動組件啟動后,會根據(jù)安卓版本啟動對應(yīng)的MainService

所以發(fā)生以上的事件均會被觸發(fā)啟動:短信接收、系統(tǒng)啟動、用戶進(jìn)入home界面、kill應(yīng)用等
郵箱密碼修改功能
指令:sssxxx#1002#password (xxx可為任意內(nèi)容,也可無)
來看asw6eih.vby.xxttth5.c這個類
從配置文件中取出v0,然后賦值給v5

其中有這樣的一段

可以看到MailFrom_Passa是郵箱密碼,接受v1的參數(shù),其中參數(shù)v7是固定的值2,而參數(shù)asw6eih.vby.xxttth5.a.d是初始化的值,也就是最開始的時候看到的郵箱:

所以這一段作用是修改了當(dāng)前郵箱的密碼,并重新寫入了配置文件。觸發(fā)這一過程,指令是定義了特定的格式的,具體如下:

需要被執(zhí)行l(wèi)abel_129這個過程,而且v1的長度必須是v9的大小,v9是固定值3。

所以v1的格式應(yīng)該為xxx#xxx#password
接下來就是switch case的過程(吐槽下這個程序效率……還好可以選擇的不多):

可以看到case 1002的時候,而v0_1是v1的下標(biāo)為1的值,現(xiàn)在的格式可以推定為(這里反編譯軟件給出的跳轉(zhuǎn)存在問題):
xxx#1002#password
這個時候還差第一段的內(nèi)容,我們繼續(xù)看這個類,發(fā)現(xiàn)v1跟asw6eih.vby.xxttth5.a.b做了對比,如下圖所示:

而asw6eih.vby.xxttth5.a.b的值實際上也做了定義,如下所示:

之后v1跟上面的值做了比較,其實也就是sss,如下所示:
v1.substring(0, asw6eih.vby.xxttth5.a.b.length()).equals(asw6eih.vby.xxttth5.a.b))

截取了v1的前幾位跟預(yù)定義字符串sss做比較(這里截取了3位)
之后定義了v3的值,其實是手機(jī)號。
控制字符串的大致格式為sssxxx#指令id#內(nèi)容,由于流程內(nèi)容太多,不一一描述。xxx可為任意。這里修改郵箱密碼的指令應(yīng)該為sssxxx#1002#password
轉(zhuǎn)換控制端手機(jī)號碼
指令:sssxxx#1011#13333333333 (xxx可為任意內(nèi)容,也可無)
在下面一個字符串引起了我們的注意:

label_177,其中“轉(zhuǎn)移號碼設(shè)置成功”,進(jìn)一步分析:

label_177來自1011指令,所以指令為sss#1011#command

c.a校驗了手機(jī)號的格式,只能是13,14,15,17,18開頭的手機(jī),而且都是數(shù)字的,總共11位,可以說真是“經(jīng)驗豐富懂安全”的“開發(fā)人員”。

之后回復(fù)了:轉(zhuǎn)移號碼設(shè)置成功
并將該值放到了v5里面,也就是配置文件里面。

label_40是保存配置等,這里不多分析了。
所以,修改手機(jī)號碼的格式為sssxxx#1011#13333333333,發(fā)送這樣的信息就可以修改接收手機(jī)為1333333333了,注意手機(jī)號碼一定得是合法的11位手機(jī)。
短信攔截功能

電話轉(zhuǎn)接功能
我猜這個木馬的設(shè)計者一定是個處女座,問題考慮的非常細(xì)致,這里竟然還設(shè)置了呼叫轉(zhuǎn)移功能,在受害者電話忙音的時候幫受害者接電話?

該類繼承了BroadcastReceiver
![]()
當(dāng)被觸發(fā)時,會將電話轉(zhuǎn)移到控制端。我們知道**67*手機(jī)號碼#這是遇忙呼叫轉(zhuǎn)移(聯(lián)通/移動可用), 被轉(zhuǎn)移到的號碼其實就是控制端的手機(jī)號碼。
木馬有效期
我們發(fā)現(xiàn)一個奇怪的現(xiàn)象,在向系統(tǒng)注冊這些組件的時候,木馬做了一個判讀,會判斷c.b(),然后決策是否注冊這些組件,如下所示:

上面的截圖來自MainActivity也就是程序啟動的主界面。
跟進(jìn)這個方法發(fā)現(xiàn)是對時間的檢查:

發(fā)現(xiàn)如果當(dāng)前時間超過了設(shè)定的時間2016-10-01 14:01:00,會返回false,不再向系統(tǒng)注冊該組件,否則返回true。也就是這個時間以后再有新用戶安裝就已經(jīng)無效了。
處理和預(yù)防此類事件:
1.安裝手機(jī)殺毒軟件定期查殺手機(jī)木馬病毒。
2.定期檢查手機(jī)的授權(quán)管理,如小米手機(jī)的安全中心-授權(quán)管理-應(yīng)用權(quán)限管理-權(quán)限管理-短信與彩信相關(guān)權(quán)限,檢查此類敏感功能處權(quán)限授予對象是否合法。
3.不要root手機(jī)(黑客除外)。
4.不要安裝來路不明的應(yīng)用,對于小白建議只安裝手機(jī)品牌商店中的應(yīng)用(起碼安全性要高一些)。
5.購買銀行卡盜刷理賠保險,任何時候多一道保險才多一份放心。
相關(guān)文章
Android平臺的SQL注入漏洞淺析(一條短信控制你的手機(jī))
14年11月筆者在百度xteam博客中看到其公開了此前報告給Google的CVE-2014-8507漏洞細(xì)節(jié)——系統(tǒng)代碼在處理經(jīng)由短信承載的WAP推送內(nèi)容時產(chǎn)生的經(jīng)典SQL注入漏洞,影響Android2016-02-01手機(jī)木馬盜取網(wǎng)銀過程大揭秘 驗證碼短信尤為關(guān)鍵
360手機(jī)安全中心接到大量用戶舉報,稱其遭受短信詐騙,被騙金額多數(shù)以萬計。最終都是因為用戶中招后,驗證碼被木馬偷偷轉(zhuǎn)發(fā)到不法分子手機(jī)中。2015-09-21手機(jī)里的信息到底安不安全?手機(jī)數(shù)據(jù)泄露大揭秘
如果你給自己的手機(jī)設(shè)置了PIN碼,甚至忘記了連自己也解不開;又或者設(shè)置了比劃甚至指紋解鎖,然后以為這樣的手機(jī)就是安全的了。是的,對于一般的人來說算安全了,可是對于2016-06-03你的手機(jī)有沒有ROOT? ROOT后的手機(jī)漏洞防不勝防
也許你的手機(jī)ROOT只是為了安裝一款游戲,安裝一個工具。對我們普通人來說,ROOT代表著方便和自由,其實你不知道的是,它同時也為黑客帶來了侵犯你隱私的方便和自由??纯碦O2016-06-25Android 應(yīng)用有哪些常見的安全漏洞?及修復(fù)建議
Android應(yīng)用會遇到各種各樣的漏洞,如何從細(xì)節(jié)上了解各種安全隱患,積極采取適當(dāng)?shù)姆烙胧┍阕兊糜葹橹匾?,下面為大家詳?xì)解讀十大常見的Android漏洞,僅供參考2009-06-28- 手機(jī)病毒是病毒的一個分支,雖然其存在只有短短數(shù)年,但在將來很可能會隨著3G的推廣而大量涌現(xiàn)。 病毒類型:手機(jī)病毒 病毒目的:破壞手機(jī)系統(tǒng),狂發(fā)短信等2009-06-28
- 現(xiàn)在想換個手機(jī)越來越麻煩,很多APP要重新下,手機(jī)里保存的寶貝也要轉(zhuǎn)移,有時候這些事情甚至讓我放棄了換個更好的手機(jī)的想發(fā),更不用說換手機(jī)號了。各種網(wǎng)站、郵箱、賬號2016-07-11

