安卓變僵尸:新型病毒“維京部落”分析
Check Point研究團(tuán)隊在Google Play Store發(fā)現(xiàn)了一款新的Android病毒,并取名為Viking Horde(維京部落)。這款病毒能夠執(zhí)行廣告欺詐,還能進(jìn)行DDoS攻擊、發(fā)送垃圾信息等。至少已經(jīng)有5款應(yīng)用通過了Google Play的病毒掃描。
無論是在已root或是未root的設(shè)備上,Viking Horde都會創(chuàng)建一個僵尸網(wǎng)絡(luò),用經(jīng)過代理的IP地址偽裝廣告點擊,這樣攻擊者就能賺錢。僵尸網(wǎng)絡(luò)是一組由黑客控制的設(shè)備,設(shè)備的用戶毫不知情。根據(jù)設(shè)備的計算能力不同,“僵尸”能做各種各樣的事。僵尸網(wǎng)絡(luò)越大,能夠做的事越多。
在已root的設(shè)備上,Viking Horde能夠傳輸額外的惡意payload,從而遠(yuǎn)程執(zhí)行任意代碼,它還會利用root權(quán)限使得自身難以刪除。
Horde介紹
Viking Horde系列病毒中下載量最大的就是Viking Jump應(yīng)用,自4月15日上傳到GooglePlay,該應(yīng)用已經(jīng)有50,000-100,000的下載量了。有些地方的市場中,Viking Jump還登上了Google Play免費應(yīng)用排行榜。
提交最早的應(yīng)用是Wi-Fi Plus,于3月29日提交。其他的應(yīng)用包括Memory Booster, Parrot Copter, 和Simple 2048。所有感染Viking Horde的應(yīng)用的評分都很低,研究團(tuán)隊猜測可能是因為用戶注意到了它奇怪的行為,例如請求root權(quán)限。
攻擊者們創(chuàng)建的僵尸網(wǎng)絡(luò)散布在全世界各個國家,Check Point研究團(tuán)隊通過一個C&C服務(wù)器收集的數(shù)據(jù)獲得了其受害者的分布情況。
來源:Check Point移動威脅研究團(tuán)隊,2016年5月6日
Viking Horde工作原理
研究Viking Horde代碼和C&C服務(wù)器后,研究人員畫出了流程圖。
1.病毒首先從Google Play上下載。當(dāng)應(yīng)用啟動游戲時,它會在應(yīng)用的目錄外面安裝幾個組件。這幾個組件的名字都被偽裝成系統(tǒng)相關(guān)的名字,如core.bin,clib.so, android.bin 和 update.bin。如果設(shè)備沒有root,組件就會被安裝到SD卡上,如果已經(jīng)root了,就會安裝到root/data。這些文件中的一個是用來在各組件交換信息的。另一個包含所有生成的組件名稱,方便其他組件訪問它們。
2.接下來病毒會檢查設(shè)備是否已經(jīng)root:
如果是,病毒就會啟動另外兩個組件:
app_exec.實現(xiàn)與服務(wù)器的通訊協(xié)議 app_exec_watch_dog實現(xiàn)更新和系統(tǒng)駐足。Watchdog 會監(jiān)控app_exec 進(jìn)程,如果有必要會重啟。 |
如果設(shè)備沒有被root,惡意軟件就會以共享庫加載app_exec文件,并且通過JNI(Java Native Interface,能夠允許Java代碼運(yùn)行本地二進(jìn)制文件)來調(diào)用它的函數(shù)。
無論哪種情況下,一旦app_exec應(yīng)用被安裝,它就會與C&C服務(wù)器建立TCP連接并且開始通信。通信內(nèi)容包含下列指令。
Ping。每10秒應(yīng)用程序就會給服務(wù)器發(fā)送5個字節(jié)。同樣,服務(wù)器會回復(fù)5個字節(jié)。 更新設(shè)備信息:將剩余電量、連接類型和手機(jī)號碼發(fā)送給服務(wù)器。 |
3.下一步就是通過匿名代理連接執(zhí)行惡意功能。C&C服務(wù)器會發(fā)送一個“create_proxy”命令,其中會有兩個IP地址和端口作為參數(shù)。這兩個IP地址就會被用來打開兩個sockets連接,一個給遠(yuǎn)程服務(wù)器,一個給遠(yuǎn)程目標(biāo)。然后它會讀取第一個socket收到的數(shù)據(jù),向目標(biāo)主機(jī)傳輸。病毒的開發(fā)者可以借此隱藏他的IP地址。
僵尸網(wǎng)絡(luò)活動
即便設(shè)備沒有被root,Viking Horde還是會把它變成能夠發(fā)送接收信息的代理。以下就是一個從攻擊者的C&C服務(wù)器上看到的感染的設(shè)備。
遠(yuǎn)程端是代理的IP,而socks IP是C&C服務(wù)器的IP。C&C服務(wù)器包含設(shè)備的一些信息,包括操作系統(tǒng)版本、電池狀態(tài)和GPS坐標(biāo)。在本例中,設(shè)備位于美國,運(yùn)營商是T-Mobile。
Viking C&C服務(wù)器
僵尸網(wǎng)絡(luò)由很多臺C&C服務(wù)器控制,每臺都管理者幾百臺的設(shè)備。惡意軟件的首要目標(biāo)是劫持設(shè)備,然后用它模擬點擊網(wǎng)站上的廣告來賺錢。惡意軟件需要代理來繞過廣告商的反欺詐機(jī)制。
有些用戶評論還說這款應(yīng)用會發(fā)送收費短信,如截圖所示。這個僵尸網(wǎng)絡(luò)能用以各種用途,包括DDoS攻擊、發(fā)送垃圾郵件和發(fā)送病毒。
病毒的持續(xù)性
病毒使用多種方法駐足在系統(tǒng)中。首先,Viking Horde安裝的那些組件使用了跟系統(tǒng)有關(guān)的名字,使得它們很難定位刪除。
如果設(shè)備經(jīng)過root,有兩項機(jī)制又可以用來防止刪除:
app_exec組件會監(jiān)控主程序是否存在。如果用戶卸載了主程序,app_exec會解密一個名為com.android.security的組件并且靜默安裝。這個組件是隱藏的,重啟之后執(zhí)行。
watchdog組件會安裝app_exec組件的更新。如果app_exec被刪除,watchdog會從更新目錄重新安裝它。
顯然,有些用戶還注意到了這樣的活動:
針對root設(shè)備的額外組件
可能最危險的功能就是更新機(jī)制:app_exec從服務(wù)器下載最新的二進(jìn)制文件,然后以app_exec_update的名字儲存在/data目錄。
Watchdog會周期性地檢查更新文件是否存在,并且用它替換app_exec。這就意味著VikingHorde可以根據(jù)服務(wù)器的命令下載新的二進(jìn)制文件。watchdog組件會用它替換掉應(yīng)用。這樣的話這臺設(shè)備上就可以下載執(zhí)行任何遠(yuǎn)程代碼。
附錄 1: app 包名
- com.Jump.vikingJump
- com.esoft.wifiplus
- com.fa.simple2048
- com.android.wifiman
- Com.g.o.speed.memboost
- Com.f.a.android.flyingcopters
附錄2: C&C 服務(wù)器列表
- www[.]adautoexchange[.]com
- www[.]adexchng[.]com
- www[.]adexchnge[.]com
- www[.]adexchangetech[.]com
附錄3: 感染的可執(zhí)行文件的SHA256
- 85e6d5b3569e5b22a16245215a2f31df1ea3a1eb4d53b4c286a6ad2a46517b0c
- 254c1f16c8aa4c4c033e925b629d9a74ccb76ebf76204df7807b84a593f38dc0
- ebfef80c85264250b0e413f04d2fbf9e66f0e6fd6b955e281dba70d536139619
- 10d9fdbe9ae31a290575263db76a56a601301f2c2089ac9d2581c9289a24998a
- a13abb024863dc770f7e3e5710435899d221400a1b405a8dd9fd12f62c4971de
- 1dd08afbf8a9e5f101f7ea4550602c40d1050517abfff11aaeb9a90e1b2caea1
- e284a7329066e171c88c98be9118b2dce4e121b98aa418ae6232eaf5fd3ad521