Android Binder漏洞挖掘技術與案例分享(上)

美團雲發表於2017-09-20

本文由作者根據其在KCon 2016黑客大會上的演講內容整理而成。演講稿連結:Binder fuzzing based on drozer

文章開始,先來看幾個我在工作生活中發現的Android漏洞。其中包括Android系統鎖屏密碼繞過(影響了所有安全補丁在2016年10月份以前的Android 6.0、6.0.1、7.0系統)、三星手機關機竊聽、三星手機越權修改主題、系統拒絕服務漏洞。然後我們再來解釋相關的技術知識和實踐。

Android漏洞案例

Android系統鎖屏密碼繞過

先來看下漏洞視訊演示:
v.qq.com/x/page/u054…

這個漏洞當時影響 6.0、6.0.1、7.0的所有最新Android系統。執行exp(exp可以是一個沒有申請任何許可權的APK,也可以是一個二進位制的bin檔案),就可以清除Android系統的鎖屏密碼,這裡的密碼包括指紋密碼、手勢密碼、pin碼和password類的所有密碼型別,然後就可以成功重置密碼。

該漏洞前後有兩個CVE(Common Vulnerabilities and Exposures,國際通用的漏洞編號)編號:CVE-2016-3749和CVE-2016-3908。

我在2016年5月份提交給Google,6月1號收到回覆:Google內部安全研究員,在4月13號已經發現了該漏洞,漏洞狀態置為duplicate。

Android Binder漏洞挖掘技術與案例分享(上)

繼續深入分析發現:使用另一個Android 6.0.1分支版本進行測試,發現另一個函式也存在安全漏洞,這個漏洞函式對應的數字和之前的漏洞相同,Android系統漏洞眾多的一個很大原因就是碎片化問題。發現這個問題之後,出於一些考慮,並沒有馬上提交給Google,等Google釋出漏洞patch。

Google於7月份釋出了該漏洞公告,CVE編號CVE-2016-3749,而patch程式碼只是修復了我第一次提交的漏洞位置setLockPassword()和setLockPattern()。

Android Binder漏洞挖掘技術與案例分享(上)

Android Binder漏洞挖掘技術與案例分享(上)

於是在漏洞公告發布當天,我又提交了另一份漏洞報告給Google。

Android Binder漏洞挖掘技術與案例分享(上)

Google於2016年7月20號確認該漏洞為高危漏洞,於8月31號分配了CVE-2016-3908,於10月份釋出了漏洞公告並致謝。

Android Binder漏洞挖掘技術與案例分享(上)

Android Binder漏洞挖掘技術與案例分享(上)

三星手機關機竊聽

漏洞視訊演示:
v.qq.com/x/page/o054…

漏洞細節:
CVE-2016-9567

漏洞原理:
通過未授權訪問setmDNIeScreenCurtain()函式,可以控制手機的螢幕,從而造成關機的假象,實現關機竊聽。

三星手機越權修改手機主題

三星居然將其與關機竊聽這個漏洞合併了!

漏洞視訊演示:
v.qq.com/x/page/y054…

系統拒絕服務漏洞

漏洞視訊演示:
v.qq.com/x/page/a054…

這樣的漏洞很多,上面視訊演示中,通過一個NFC tag來實現漏洞利用。

讀者如果想了解具體的實現方式,可以參考作者之前寫的文章《Android漏洞利用方式之NFC淺析》。

上面這些好玩的漏洞都與Android Binder有關,接下來我們就帶你一起來體驗Android Binder相關的漏洞利用技術和工具。


  • 未完待續,請持續關注後續分享。
  • 本文轉自美團點評技術學院,未經作者許可,不允許私自轉載!
  • 加入美團雲技術交流群(QQ群:469243579),每日分享更多精彩技術文章。


相關文章