利用ADB和Settings命令行工具輕鬆的攻擊Android手機

從4.2開始,Android提供了一個命令行工具settings。這個工具用於幫助構造SettingProvider的客戶端代理,從而可以方便的進行系統設置項的讀取和設置。
 但是這個工具和adb配合起來,將對Android的安全構成極大的威脅。因爲通過adb來執行settings時的時候,uid是shell,而shell擁有非常多的特權。

當然,問題的根源在於adb的shell權限太高,畢竟即使沒有settings這個工具(或者說沒有/system/framework/settings.jar文件),adb用戶可以自己構造類似這樣的程序/腳本。但是現在Android提供了該工具,這樣的安全入侵將變得異常簡單。

下面用幾個例子來說明當用戶開啓adb後連接電腦,可能對用戶手機造成的安全侵害。
注意1:這裏針對Nexus手機的原生Android-5.0而言,不同的手機ROM有不同的設置項。
注意2:請先打開手機adb調試模式,並確保adb命令可以正常執行。

1) 修改是否“允許安裝來自Play商店之外的其他來源的應用”。
在手機設置項中禁用該選項,操作路徑是“設置”->“安全”->“未知來源”
然後執行如下命令:
$ adb shell settings put secure install_non_market_apps1  
退出設置,再次進入,發現“未知來源”已經啓用。這樣,第三方惡意應用程序就可能被安裝成功。

2) 截取用戶短信。
從Android 4.4開始,可以由用戶設置默認的短信程序用於接管系統短信的收發。對於安裝的第三方短信程序,必須用戶手工指定才能工作。而利用這個漏洞,adb可以直接指定第三方短信應用程序而無須用戶的確認。

在手機設置項中查看短信程序,操作路徑是“設置”->“更多”->“默認短信應用”,如果沒有修改過,應該是“環聊”。

比如先安裝一個短信應用:GoSMSpro。
然後執行如下命令:
$ adb shell settings put secure sms_default_applicationcom.jb.gosms  
退出設置,再次進入,發現“默認短信應用”已經成爲“GO SMS Pro”。如果攻擊者利用步驟1修改允許未知來源,然後通過ADB在後臺偷偷安裝一個截取短信或者濫發短信的程序,那麼短信的收發都不受用戶控制了。
在某些國家和地區,短信截取和詐騙是非常氾濫的事情,這樣不得不說是一件非常危險的事情。

另外各種互聯網的PC客戶端也會經常利用adb監視和操控連接到該電腦的Android手機。即使是最出名的幾家互聯網公司也是這樣,利用這樣的工具,它們可以變換很多花樣來操控用戶的手機。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章