當前位置:
首頁 > 新聞 > Roaming Mantis用DNS劫持來感染安卓智能手機

Roaming Mantis用DNS劫持來感染安卓智能手機

2018年3月,日本媒體曝光稱,黑客劫持日本路由器的DNS設定將用戶重定向到惡意IP地址。重定嚮導致含有安卓木馬Trojan-Banker的應用安裝,包括名為facebook.apk和chrome.apk的木馬應用。根據telemetry的數據,惡意軟體已經被檢測到超過6000次。檢測到的超過一半攻擊目標是亞洲地區。

在研究人員調查該攻擊事件時,每天有上千次與C2基礎設施的連接,而大多數的受害者設備位於韓國。因為之前沒有監測到類似的惡意軟體行為,加上該惡意軟體通過安卓手機roaming在wifi網路之間傳播,所以研究人員將其命名為Roaming Mantis。

傳播

Roaming Mantis惡意軟體設計之初就是通過一個非常簡單但是有效的技巧進行傳播,這個技巧就是DNS劫持。當用戶嘗試通過一個被入侵的路由器去訪問網站,就會被重定到惡意的web站點。因為瀏覽器顯示的URL還是原來要訪問的,所以用戶會認為這個網站上真實的,實際上這個網站與原來想要訪問的網站沒有一點關係。被重定向的這個web頁會展示給用戶彈窗消息:「To better experience the browsing, update to the latest chrome version(更新瀏覽器提醒)」。

從這個惡意web頁的HTML代碼可以看出,支持5種地域(語言),分別是韓語,繁體中文,簡體中文,日語和英語。

在仔細研究了HTML代碼後,研究人員發現實際上只支持4種地域(語言),分別是韓語,簡體中文,日語和英語,而且是基於安卓設備的。如上圖所示,HTML源碼中簡體中文和繁體中文含有的信息是系統的。

分析chrome.apk

其中一個推送給用戶的應用就是安卓版chrome瀏覽器。Kaspersky實驗室2018年4月獲得了chrome.apk的副本(md5:f3ca571b2d1f0ecff371fb82119d1afe)。該安卓應用包結構如下:

包中含有classes.dex,是Dalvik VM可執行文件。該文件的主要作用是讀取/assets/db的文件。會在Base64解碼器中解碼數據,生成另外一個明文test.dex的Dalvik VM 可執行文件:

提取的test.dex文件含有主要的惡意payload。Base64編碼技術可能是用來繞過基於簽名的檢測。

AndroidManifest.xml含有包中的一個重要部分——應用中安裝時向設備請求的許可權。

根據上面的xml文件,看起來Roaming Mantis請求的許可權有設備啟動時通知、使用網路、收集賬戶信息、管理SMS/MMS和打電話、錄音、控制外部存儲、檢查包、寫入文件系統等。所有的這些請求都是通過test.dex中的惡意函數支持完成的。

比如,安裝完成後,惡意軟體會彈窗覆蓋所有的窗口:「Account No.exists risks, use after certification」。然後,惡意軟體會在設備上打開web伺服器,在127.0.0.1上生成一個虛假的谷歌認證頁面。

該頁面利用從受感染的設備上獲取的Google賬戶名來要求設備擁所有者(用戶)輸入name和date of birth,這些信息可以被用來訪問用戶帳戶。在用戶輸入了name和date of birth後,瀏覽器會被重定向到一個空頁面http://127.0.0.1:$/submit。

在分析test.dex文件時,研究人員發現下面的一段代碼:

惡意軟體也支持4種地域(語言),分別是韓語,繁體中文,日語和英語。上面的代碼取自英文環境下的Google認證頁面(研究人員也不清楚為什麼會出現3行韓文)。

·I have an anomaly on my Google account. For voice verification, enter your verification number to verify your Google account. //?? ??? ??? ????.????? ?? ????? ???? ?? ??? ????????.//谷歌賬號出現異常,輸入驗證碼來驗證google賬號。

·Verification Number. //????//驗證碼

·Please enter your verification number. //????? ?????//請輸入驗證碼

從這些字元串可以看出,犯罪分子(攻擊者)在嘗試獲取雙因子認證的驗證碼。出現韓文可能是系統bug或者設計失誤。

receive/read/write/send SMS/MMS的許可權和錄音許可權允許惡意軟體運營者竊取雙因子認證的驗證碼。

第二,惡意軟體含有韓國流行的安卓應用ID引用,大多數與手機銀行和遊戲賬戶相關聯。

下面是從惡意軟體中提取出的硬編碼的字元串:

·kbstar.kbbank

·ibk.neobanking

·sc.danb.scbankapp

·shinhan.sbanking

·smart

·kftc.kjbsmb

·smg.spbs

·ncsoft.lineagem19

·ncsoft.lineagem

·co.happymoney.android.happymoney

·nexon.axe

·nexon.nxplay

另一段代碼是負責驗證/system/bin/, /system/xbin/, /system/sbin/, sbin/,/vendor/bin/中的su。

常見的安卓設備商沒有su的,如果有su說明設備被root過了。對攻擊者來說,這台設備商被一個高級許可權的用戶擁有,也就是說可以利用root許可權來獲取整個系統的訪問許可權。

C2

Kaspersk實驗室研究人員在惡意應用的惡意控制中發現了硬編碼的URL模板(http://my.tv.sohu.com/user/%s)。my.tv.sohu.com是一個合法的站點,用戶個人資料頁面上的一些內容是所有者去控制的。

之後,使用硬編碼的表達式 「

([u4e00-u9fa5]+?)

s+

」來提取特定位置的中文字元串。每個字元都是減0x4E00來解碼的,也就是右移3比特,然後用beg作為密鑰進行XOR運算。

得到的結果就是真實的C2地址,惡意軟體會用web socket去連接。研究人員通過被感染設備的debug日誌來追蹤和分析這些活動。

另外一個樣本是(MD5:4d9a7e425f8c8b02d598ef0a0a776a58),連接的協議,包括硬編碼的合法站點,賬戶和提取下一階段C2的表達式都被改變了。

除此之外, assetsdb文件名變成了assetsdata.sql,編碼演算法也從Base64變成了Base64+zlib。惡意軟體的作者看起來會經常更新代碼。

研究人員後來開發出下面的python腳本來解碼真實的C2伺服器,並以此來追蹤Roaming Mantis。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys

import re

page = open(sys.argv[1],「rb」).read()

#pattern = u』([u4e00-u9fa5]+?)s+』 # my.tv.sohu.com

pattern = u『公司([u4e00-u9fa5]+?)

match = re.search(pattern, page.decode(「utf-8」))

ext = match.group(1)

dec = 」

j = 0

for i in range(len(ext)):

dec = dec + chr((ord(ext[i]) – 0x4e00) >> 3 ^ ord(『beg』[j]))

j = (j+1) %3

print(dec)

輸出結果示例:

更有趣的是,惡意軟體被植入了一個新的特徵,通過郵件協議與C2進行通信。發送的數據含有語言、電話號碼、訪問信息、與C2的ping結果。

惡意軟體檢測統計

Kaspersky實驗室檢測到Roaming Mantis的惡意apk文件,即Trojan-Banker.AndroidOS.Wroba。2018年2月9日到4月9日共2個月的檢測數據如下:

一共有超過150個用戶的超過6000次檢測。受影響最多的國家有韓國,孟加拉國和日本。基於惡意軟體的設計和檢測到的數據量來看,惡意軟體主要在亞洲國家傳播。監測數據顯示,每天大約有3000次與C2伺服器的連接。每次連接後,惡意軟體會發送被入侵的設備的信息給C2,包括系統地域等。其中98%的受感染設備好像位於韓國。

下圖是基於地域的統計圖:

剩下的2%的感染設備系統分別是en_GB,en_us,zh_CN, ja_JP等。

結論

Kaspersky實驗室研究人員發現了Roaming Mantis安卓惡意應用通過DNS劫持技術和被入侵的路由器進行傳播。惡意軟體的目的主要是竊取用戶雙因子認證的憑證等信息,並給攻擊者完全控制被入侵安卓設備的許可權。

從目前的線索來看,攻擊行為可能是出於經濟目的,所以研究人員判斷此次攻擊活動的背後是網路犯罪黑客。該惡意軟體主要在韓國比較流行,而韓語也是HTML和test.dex文件中的第一語言。基於這些發現,研究人員認為惡意應用最初在韓國傳播,之後攻擊者又增加了對繁體中文,英文和日文的支持,攻擊目標範圍也擴展到亞洲區域。

但是黑客是如何劫持路由器的DNS設定的呢?目前還不清楚。但研究人員建議,更改路由器的默認用戶名和密碼,不要安裝來自非可信第三方的固件,定期更新路由器固件防止未來出現相似的攻擊。

通過調查和HTML代碼中的一些線索,研究人員認為犯罪分子(攻擊者)對簡體中文和韓語都很熟悉。攻擊活動背後的攻擊者目前非常活躍,每天都會更新惡意軟體。

Kaspersky實驗室檢測到的惡意軟體:HEUR:Trojan-Banker.AndroidOS.Wroba


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

如何利用LockCrypt勒索軟體自身弱點恢復加密數據
三種流行的VPN服務正泄露你真實的IP地址

TAG:嘶吼RoarTalk |