簡介
drozer的基本功能就是通過分析AndroidManifest.xml,看四大組件中有沒有可export的
本教程第一大節(jié)講安裝,第二大節(jié)講使用drozer連接手機,第三大節(jié)講通過drozer檢測app安全性。
一、安裝
1.1 環(huán)境要求
1)jdk1.6以上
2)python2.7 (drozer使用python2.7編寫不支持python3.x,所以只能裝python2.7)
3)添加python其他庫(pip install protobuf pyOpenSSL Twisted service_identity)
4)adb(Android Debug Bridge,一般在Android SDK安裝目錄下的platform-tools文件夾下就有,也可以另外下載安裝)
確保配置了adb、java環(huán)境變量
PS:要是已經(jīng)安裝了python3.0以上的,可以通過設置環(huán)境變量指向python2.7的安裝路!
徑
1.2 電腦下載安裝drozer
下載鏈接:https://labs.mwrinfosecurity.com/tools/drozer/
具體下載文件選擇如下圖-1所示

雙擊下載的安裝程序:
安裝步驟如下:圖-2 圖-3 圖-4 圖-5 所示




1.3 電腦安裝python第三方庫
在cmd命令輸入框中運行如下命令
pip install protobuf pyOpenSSL Twisted service_identity
如果沒有報錯提示,那就不用管我下面的描述了。我運行此python命令遇到Twisted安裝失敗的錯誤提示。解決方法就是手動去下載:
1.3.1).安裝twisted
下載地址:https://pypi.python.org/simple/twisted
找對應版本和對應系統(tǒng)版本,下載exe安裝即可
1.3.2).安裝zope.interface
下地址:https://pypi.python.org/simple/zope.interface/
一樣是找對應版本和對應系統(tǒng)版本,下載exe安裝即可
兩個安裝成功之后,在C:\Python27\Lib\site-packages目錄下看到對應的文件夾,如圖-6所示:

至此,你會發(fā)現(xiàn)twist模塊安裝成功了
1.4 下載安裝手機agent
使用usb線將手機連接到電腦(或開啟一個模擬設備),使用adb將agent安裝到手機。
agent下載地址:https://github.com/mwrlabs/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk
到手機打開啟agent,如下圖-7確保右下角按鈕顯示為“開啟”(如果顯示為關閉,在其上點擊將其切換為開啟即可)

二、連接
2.1切換到drozer安裝目錄
如果cmd的當前路徑和drozer.bat如果不在同一驅動器(比如cmd當前在c盤,drozer.bat在d盤),那么雖然使用drozer.bat console connect也可以進入drozer控制臺,但是執(zhí)行run時會報錯“unknown module: 'app.package.list'”,如下圖-8所示:

處理這個問題,只要將cmd路徑切換到drozer.bat同驅動器下即可(比如我這里需要做的就是切換到C盤)。
2.2 使用drozer連接手機
adb forward tcp:31415 tcp:31415
drozer.bat console connect
三、使用drozer對app進行測試
3.1 使用app.package.info模塊查看apk基本信息(package_name指的是你需要檢測的APP包名)
run app.package.info -a package_name
3.2 使用app.package.attacksurface模塊識別攻擊面
所謂攻擊面,應該就是指可export的安卓四大組件(activaty、broadcast receiver、content provider、service)
run app.package.attacksurface package_name
3.3使用app.activity.info模塊查看activity組件信息
run app.activity.info -a package_name
3.4 使用app.activity.info模塊查看broadcast 組件信息
run app.broadcast.info -a package_name
3.5 使用app.provider.info模塊查看content provider組件信息
run app.provider.info -a package_name
3.6 使用app.service.info模塊查看service組件信息
run app.service.info -a package_name