*本文僅用于技術討論和學習目的,切勿用于非法用途。
移動操作系統更新機制對于確保用戶信任軟件,遠離黑客攻擊風險來說十分重要。(在本文介紹的漏洞中)攻擊者通過攔截三星Galaxy Apps Store(商店應用)發出的周期更新請求,能夠實現未經授權的任意代碼注入。
由于商店應用初始更新檢查使用HTTP,攻擊者在控制網絡流量(例如,在網絡上實施中間人攻擊)的前提下,可以更改用于負載平衡的URL并修改對鏡像的請求至用戶所控制的域名。這將允許攻擊者欺騙Galaxy Apps使用任意帶有有效SSL證書的主機名,并模擬應用商店API來修改設備上的現有應用。(最重要的是)攻擊者可以在三星設備上利用此漏洞實現遠程代碼執行。
1. 方法概述
1.1 查找具有相關權限的應用程序
分析三星移動整個APP生態是一項艱巨的任務,不過搜索具有相關權限(例如能夠安裝其他應用程序)的APP可以大大減少漏洞搜索量。
采用這種方法,我們開發了一個便捷工具-Androguard,來轉儲和枚舉所有帶有相關權限的應用程序。使用它,我們分析了所有APK并生成了一個備選APP集合。
1.2 找到相關攻擊面
雖然在沒有系統權限的情況下,本地安裝應用程序本身就是一個很好的漏洞,但我們設定的目標是檢查可以安裝其他應用程序的系統應用程序,從而實現一個遠程代碼執行。
為了進一步減少攻擊面,我們假設三星在下載APK時會使用SSL來防止MITM,所以我們編寫了一些模塊來縮減備選APK集合:
1.2.1 傳輸安全
我們編譯了一個用于發起HTTP/HTTPS請求類和方法的列表,并對照列表檢查了所有APP,這又縮小了我們的備選范圍。
雖然這種方法會忽略未采用SSL并從不受信任的來源執行不安全安裝的應用程序,但我們假設三星至少在執行危險操作時會嘗試使用SSL。同時我們在受控環境中攔截網絡請求,從而在使用這些應用程序時能夠識別HTTP請求。
1.2.2 應用簽名驗證
許多應用程序使用SSL作為其正常操作的一部分,所以之前框定的范圍還是很大,為了進一步減少它,我們過濾了所有包含字符串“signature”的類。
1.3 逆向工程
在最終得到的一些備選APP中,我們選擇了最可能有程序包安裝相關漏洞的應用程序–Galaxy Apps Store,作為第一個要查看的應用程序。為了方便團隊工作和使用IDE,我們使用JADX來將APK反編譯為gradle項目并將其導入Android Studio,這對于查找類和變量用法等非常有用。
2. 漏洞
2.1 傳輸不安全(HTTP)
Galaxy Apps Store請求一個countryURL字段來使用。該請求有時具有周期性,也可能是第一次啟動應用或是更改MCC(移動國家/地區代碼)時。但是,該請求使用的是HTTP而不是HTTPS,這就導致了MITM(中間人)攻擊。
在改POST請求中,設備會發送有關設備狀態的信息,例如:MCC,MNC,設備型號和語言。在響應中,會返回一個countryURL字段供商店使用。countryURL中包含一個HTTP URL,但應用程序會在下一個請求中使用HTTPS。
圖1:HTTP請求
圖2:HTTP響應
攻擊者可能攔截網絡上的流量,惡意更改請求響應中的countryURL字段。由攻擊者控制的虛假countryURL可以充當實際API的代理并動態更改多個信息,例如應用程序名稱,圖像,權限等。
2.2 簽名驗證
此時我們的目標是通過在設備上安裝任意應用程序來實現RCE。我們分析了更新或安裝應用程序的請求,意識到可以修改APK文件的URL。雖然原始服務器返回的XML中有一個簽名參數,但是我們能夠設法繞過此驗證。
當用戶想要安裝或更新應用程序時,商店會請求有關該應用程序的信息。(服務器)返回一個XML,其中包含的信息有權限、APK大小、下載地址和簽名信息:
首先,我們嘗試將downloadUri更改為我們控制的其他APK(內置反彈shell),但由于簽名值問題,Store客戶端并不接受它。繼續嘗試在XML中刪除簽名標記,也報錯了。最后發現,如果將簽名標簽置空而非刪除(即
3. PoC
為了簡化我們的PoC,我們使用mitmproxy來攔截和修改請求。我們編寫了一個腳本來自動篡改脆弱的HTTP響應并提供假服務感染客戶端:
一旦客戶端被感染并開始使用虛假的URL,應用程序便可能嘗試更新,而虛假商店服務可以告訴客戶端指定應用程序有新的更新。當客戶端想要安裝或更新指定應用程序時,攻擊者服務器可以將下載URI替換為后門APK文件鏈接,使其安裝在具有額外權限的設備上。由于簽名字段缺乏驗證(如果XML標簽值存在但為空,設備會不經驗證地接受來自商店的APK),所以在從商店下載任意不校驗簽名的APP時,可以動態修改和感染所請求的APK。正如PoC中的流程,當客戶端請求APK時,他們便會會被下載,存儲和添加后門(使用msfvenom):
利用此漏洞的服務如下所示:
4. 結論
商店應用是具有INSTALL權限的特權應用程序,允許攻擊者修改清單以添加比應用程序向用戶顯示的更多權限。因為可以在服務器響應中修改權限列表,所以用戶不會意識到所安裝的APP將擁有比安裝菜單上顯示的更多的權限。
整個利用過程大體是這樣的:首先通過MITM在設備中植入虛假商店API URL,然后動態地給應用程序添加后門并繞過簽名機制,從而安裝自定義的應用程序,最后實現在使用Galaxy Apps Store的設備上執行任意代碼(RCE)。
受影響的版本:Samsung Apps Store <4.3.01.7
通過測試的三星設備:A5 2017(A520),Note 8(N950F),A8 2018(A530F),S7(G930F),XCover 4(G390F),S8(G950F),S8 Plus(G955F),J7 2017(J730F)
漏洞時間線:
30/05/2018 – 向Samsung Bug Bounty program報告
30/05/2018 – 漏洞定級(嚴重程度:高)
27/09/2018 – 修正(Galaxy Apps Store 4.3.01.7 發布)
16/10/2018 – 得到賞金獎勵
13/12/2018 – 創建CVE條目https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20135
1024你懂的国产日韩欧美_亚洲欧美色一区二区三区_久久五月丁香合缴情网_99爱之精品网站
責任編輯:韓希宇
免責聲明:
中國電子銀行網發布的專欄、投稿以及征文相關文章,其文字、圖片、視頻均來源于作者投稿或轉載自相關作品方;如涉及未經許可使用作品的問題,請您優先聯系我們(聯系郵箱:cebnet@cfca.com.cn,電話:400-880-9888),我們會第一時間核實,謝謝配合。