當前位置:
首頁 > 新聞 > 全球首例!黑產利用臟牛漏洞ROOT用戶手機,還專挑中國卡偷錢

全球首例!黑產利用臟牛漏洞ROOT用戶手機,還專挑中國卡偷錢

臟牛漏洞的利用背景

臟牛漏洞(Dirty COW,CVE-2016-5195)是一種嚴重的Linux提權漏洞,在 2016 年 10 月就已經向公眾披露,允許攻擊者能利用臟牛漏洞獲得目標系統上的 root 訪問許可權。根據分析,自1.0版本以來的所有Android版本都存在臟牛漏洞。這意味著目前幾乎所有Android設備都存在臟牛漏洞,也就是說全都處於可以被利用的狀態。緊接著2016年12月6日,據趨勢科技報道,研究員又發現了一種新的針對臟牛漏洞提升操作許可權的方法,該新方法可以直接將惡意代碼注入正在運行的進程。

但自此以後,就再也沒有關於臟牛漏洞的消息了,直到最近ZNIU的出現。ZNIU的樣本已被趨勢科技研究人員發現,並被檢測為AndroidOS_ZNIU。根據研究人員的分析,之所以臟牛漏洞時隔將近一年後才現身,是因為惡意開發者們對該漏洞進行了細緻的探索和構建,而ZNIU也是第一個被發現的利用臟牛漏洞的Android木馬。

目前趨勢科技已經向Google報告了ZNIU的問題,不過Google的反饋是,目前被ZNIU感染的應用程序的安全驗證是由Google Play Protect負責的,言外之意就是,只要Google Play Protect 驗證是不安全的,該應用自然會被刪除,而Google不負責對具體的某個應用進行處理。

Google Play Protect

在2017年的I/O大會上,谷歌就已經發布了他們的「Android 官方安全助手」Google Play Protect。雖然在 Android 中,應用程序安全驗證功能已經存在了一段時間,不過過去的掃描方式一直是手動。現在,掃描將作為一個後台進程,全天候保護 Android 設備,它還會在 Google Play 商店中以卡片的形式存在。如果一切正常,用戶將在 Play 商店中看到綠色的通知,如果遇到了不友好的軟體,該軟體將被自動刪除,用戶也將收到提醒。

Google已授權所有認證 Android 設備在手機包裝中直接放置 Google Play Protect 的 LOGO,以便於用戶容易區分這款設備是否經過Google認證。

ZNIU木馬的傳播途徑

上個月,研究人員在四十多個國家都發現了ZNIU,其中大多數受害者位於中國和印度。除此之外,美國、日本、加拿大、德國和印度尼西亞也屬於重災區。截至目前,研究人員總共檢測到5000多個受影響的用戶。另外,研究人員發現,ZNIU主要是通過惡意網站上的應用程序進行傳播的,目前總共發現了1200多種這樣的程序且都包含臟牛漏洞的root許可權攻擊,其中大部分都偽裝成色情和遊戲應用程序。

2016年12月,研究人員就為臟牛漏洞進行了一次PoC驗證。研究人員在一部 Android手機上,安裝了一個特殊驗證應用。一旦運行,攻擊者就可以利用臟牛漏洞竊取設備信息、更改系統設置,比如開啟藍牙和Wi-Fi熱點、獲取地理位置,並可靜默安裝谷歌應用商店以外的應用。當時,研究人員發現所有版本的Android操作系統都有可能被攻擊,而本次利用臟牛漏洞的ZNIU木馬則僅適用於具有ARM/X86 64位的Android,不過,ZNIU可能會繞過SELinux並生成根後門,而2016年的那個PoC只能修改Android系統的服務代碼。

通過監測六個ZNIU rootkit,研究人員發現其中四個利用的是臟牛漏洞的漏洞。剩餘的一個是獲取Root許可權的應用程序—KingoRoot,另一個是實施Iovyroot攻擊的CVE-2015-1805漏洞,影響Android操作系統的特權提升漏洞CVE-2015-1805也是2016年被披露。ZNIU之所以使用KingoRoot和Iovyroot,是因為它們可以獲取ARM 32位CPU設備上的Root許可權,而Rootkit的臟牛漏洞則不能做到這一點。

ZNIU的攻擊過程

ZNIU惡意程序通常是通過惡意網站下載的色情應用程序來進行傳播的,具體過程如下:

攻擊者會用色情信息吸引用戶,當用戶試圖點擊惡意URL時,攻擊者就會將惡意程序攜帶的應用安裝在用戶的設備上。一旦惡意程序開始運行,ZNIU將與其C&C伺服器進行通信。如果更新的代碼可用,則會從C&C伺服器檢索它並將其載入到系統中。同時,臟牛漏洞能夠提供本地特權升級以打破系統限制,並為未來的潛在遠程控制攻擊生成後門。

下圖就是ZNIU感染鏈:

進入設備的用戶界面後,惡意程序將收集用戶的信息。然後通過支持SMS的支付服務與運營商進行交易,讓惡意程序操作者冒充該設備持有人。通過利用受害者的移動設備,ZNIU的冒牌持有人就可以通過劫持用戶的網路流量套取資金。

根據所發現的樣本代碼,研究者們發現,根據網路流量而套取的錢實際上被一個虛擬公司所接受,從下圖可以看出,該公司位於中國。 更令人不可思議的是,當攻擊者利用SMS實施完攻擊後,會將所進行過的虛假交易消息痕迹刪除,不會讓你發現任何線索。但如果SMS運營商位於中國境外,則利用網路流量套取現金的攻擊將不會發生,但惡意程序仍將在系統中植入後門。下圖為惡意程序發送給運營商的交易請求代碼。

另外,在惡意攻擊時,為了避免被用戶發現,攻擊者除了使用高超的技術外,還使用了社會工程的方法,即每次只套現一小部分資金,以免被注意,下圖就是SMS業務套取資金的簡訊通知。

由於ZNIU在授予惡意程序訪問設備的SMS功能的許可權時,會強制介入,所以它需要獲取設備的root許可權。此外,要完成攻擊任務,惡意程序還需要安裝後門程序,並遠程載入惡意代碼。

ZNIU Rootkit的深度分析

ZNIU rootkit可以通過獨立的廣播接收器集成到惡意應用程序中,下圖就是被ZNIU代碼激活的Rootkit。

惡意程序可以輕鬆地將rootkit注入第三方應用程序,而無需更改其他組件,這種做法有助於大規模的傳播惡意程序。

為了對惡意程序被逆向分析,開發者還對ZNIU的惡意DEX代碼進行了加密和打包保護。經過進一步調查,研究者發現,一旦用戶將設備連接到網路或接通電源,惡意程序就會使用廣播接收器激活臟牛漏洞代碼。然後,再進行直接傳輸並執行其本地惡意代碼,下圖就是ZNIU本地代碼

ZNIU利用本機代碼進行攻擊的步驟如下:

1. 收集設備的型號信息;

2. 從遠程伺服器獲取相應的rootkit;

3. 解密漏洞;

4. 逐個觸發各漏洞代碼,並檢查漏洞利用結果,最後刪除漏洞利用文件;

5. 報告漏洞利用是否成功。

下圖就是ZNIU實施的網路攻擊活動:

除此之外,研究者們還發現了遠程攻擊伺服器的URL以及客戶端和伺服器之間的通信都被攻擊者加密過。但使用字元串解密後,惡意利用伺服器的的域名和主機都位於中國。惡意攻擊伺服器的鏈接可以在本文檔中找到,除此以外,本文檔還列出了相關軟體的哈希值(SHA256)、包名稱和應用標籤。下圖就是伺服器的管理後台。

一旦下載,該rootkit就會藉助ZLIB將「exp * .ziu」解壓為「exp * .inf」。下圖就是利用ZLIB解壓的ziu文件。

rootkit所需的所有文件都被封裝在一個.inf文件中,文件名以「ulnz」開頭,並包含多個ELF或腳本文件。下圖就是inf文件的結構:

ZNIU rootkit可以被任意寫入vDSO(虛擬動態鏈接共享對象),由於vDSO代碼可以在不受SELinux限制的內核上下文中運行,所以利用vDSO的目的就是將一組內核空間函數導出到用戶空間,以使應用程序更好的被執行。

ZNIU會使用公共漏洞利用代碼將shellcode寫入vDSO並創建反向shell,然後,它通過修改SELinux策略解除限制,從而植入一個帶有後門的root shell。下圖就是利用臟牛漏洞修改的vDSO代碼。

緩解措施

老辦法,還是要從Google Play或受信任的第三方應用商店中下載程序。除此之外,就是利用專業的安防軟體,比如趨勢科技的移動應用安全解決方案。

根據小編的推測,ZNIU的活動可能還會繼續擴大,其惡意攻擊行為也可能產生變異,建議大家持續關注我們的最新報道。


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

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


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

使用zANTI進行滲透測試
以撲克遊戲網站為例,實戰Flash應用程序滲透測試
php.ini安全配置最佳實踐
PE文件全解析

TAG:嘶吼RoarTalk |