Drozer是一款綜合的安全評估和攻擊的android架構,據 産品介紹 裡說,Drozer可以全面評估app的安全性,并幫助團隊把app的安全風險保持在可控範圍内。
在 mwrinfosecurity 公司的這個網頁上,提供了社群版本的下載下傳(沒錯,還有收費的進階版)
使用方法
所需工具:一台手機或安卓模拟器(本人使用模拟器),drozer。
首先是環境的安裝:
必須確定JDK、adb都安裝好,并且環境設定好。
由于本人JDK已安裝,且環境已配置好,是以略過這個。
下載下傳了adb工具包後,配置adb系統變量,添加變量名android和路徑,然後在Path中添加%android%。測試android的adb環境是否已經配置好,即cmd中輸入adb devices不會報錯。
1、在windows上安裝好drozer;在模拟器安裝下載下傳包中的Agent.apk的包。
2、在PC端開啟轉發
adb forward tcp:31415 tcp:31415
3、在手機端打開安裝好的apk程式,并且啟動服務。
4、在PC上開啟drozer.bat,開啟Drozer console
drozer console connect
此時,出現了沒有找到java的錯誤,經提示加百度,解決方法:建立一個.drozer_config檔案,内容如下:
[executables]
java=D:\Java\jdk1.8.0_65\bin\java.exe
javac=D:\Java\jdk1.8.0_65\bin\javac.exe
儲存在C:\Users\Administrator中。再次drozer console connect,就進入了 dz> 的console界面,後面就參照說明書一步一步進行測試。
功能介紹
dz> run app.package.list -f example
list指令用以列出所有包含“example”的手機中已安裝package名稱,記住目标應用的完整名稱。
dz> run app.package.info -a com.example
info指令用以通過完整名稱,擷取該package的詳細資訊,比如data路徑、apk路徑、聲明的權限等等。
dz> run app.package.attacksurface com.example
attacksurface即攻擊面分析,分析Activity/Broadcast Receiver/Content Provider/Service的權限,即是否能被其他的的應用程式調用。會像下列示例一樣列出數量:
dz> run app.provider.info -a com.example
擷取provider的資訊,比如是否需要額外權限來讀寫app的資料庫,等等。如果找到相關漏洞,就可以通過
dz> run scanner.provider.finduris -a com.example
來掃描一些可用的uri,比如userName、password、ID之類的,甚至可以修改值(如SQL注入什麼的):
dz> run app.provider.query content://xxxxxx –preinjection “xxx”
dz> run scanner.provider.injection -a com.example
進行簡單的SQL注入檢查、檔案周遊檢查之類的。
其他:
service相關
查詢service
dz> run app.service.info -a com.example
shell.start
在裝置上啟動一個可互動的linux shell
tools.file.upload / tools.file.download
在android裝置上上傳/下載下傳檔案
tools.setup.busybox / tools.setup.minimalsu
往裝置上安裝busybox和minimalsu
其他功能
在收費版本中,Drozer還提供了攻擊面的可視化界面,并在多裝置支援、模拟傳感器輸入等方面進行了探索,但是介于收費功能,沒有繼續看下去。
總結
在測試app的安全性上,Drozer确實可以發揮一些作用,不過關鍵問題還是要了解Android app的整體結構和安全政策,才能遊刃有餘,而不是見招拆招,被動的很。
轉自:http://blog.csdn.net/Tom_Lang_666/article/details/51090496