簡介
drozer的基本功能就是通過分析AndroidManifest.xml,看四大組件中有沒有可export的
本教程第一大節講安裝,第二大節講使用drozer連接手機,第三大節講通過drozer檢測app安全性。
一、安裝
1.1 安裝環境
1)macOS 10.15.3
2)Python 2.7.16
3)pip 20.0.2
4)java version "1.8.0_241"
5)Android studio 3.5.2(此為Android開發工具,要是測試人員,可以自行百度安裝ADB環境)
5)drozer-2.4.4-py2-none-any.whl(此文件為我在官網下載用於Mac上drozer的安裝文件)
6)drozer-agent-2.3.4.apk(此版本不支持android10的手機)
1.2 電腦下載安裝drozer
下載鏈接:https://labs.mwrinfosecurity.com/tools/drozer/
具體下載文件選擇如下圖-1所示

1.3 Mac電腦安裝drozer
在終端中運行如下命令
第一步:安裝pip命令(假如你的Mac中已經安裝了pip,請跳過此步驟)
sudo easy_install pip
第二步:安裝drozer
先通過cd 命令指向到你存放drozer-2.4.4-py2-none-any.whl文件的目錄下,在運行下面的命令
PS:安裝過程中可能因為網絡原因導致多次下載文件超時報錯,不要慌,重新執行一次命令就行,要是出現重新執行命令還是報錯,可以嘗試關閉終端,重新打開終端,繼續輸入當前命令慢慢下載,直到成功。
sudo pip install drozer-2.4.4-py2-none-any.whl --ignore-installed pyOpenSSL
第三步:安裝twisted
sudo pip install protobuf pyOpenSSL Twisted service_identity
PS:要是遇到如下錯誤
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
解決方法如下(更新下面這個軟件以后,在重新執行命令就可以了)
xcode-select --install
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確保右下角按鈕顯示為“開啟”(如果顯示為關閉,在其上點擊將其切換為開啟即可)

二、使用drozer連接手機
2.1 配置adb環境變量(已經設置過的跳過此步驟)
2.1.1 打開用戶根目錄
cd ~/
PS:如果已在根目錄可以跳過。
2.1.2 創建.bash_profile文件
touch .bash_profile
PS:touch命令表示更新已存在文件標簽的時間標簽為系統時間,若沒有該文件,則創建該文件。
2.1.3 打開.bash_profile文件
open .bash_profile
2.1.4 添加環境變量
export ANDROID_HOME=/Users/name/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
將ANDROID_HOME后面的路徑替換為自己的SDK路徑。一般只要把name換成你自己的登錄名就行了。
2.2 正式連接drozer
adb forward tcp:31415 tcp:31415 drozer 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
作者:青峰星宇
鏈接:https://www.jianshu.com/p/86790193ef87