Android之APP安全測試篇
- 2019 年 11 月 12 日
- 筆記
0x00:簡介
偶遇app測試,然,記錄下所用到的筆記。乃,分享心得,做記錄之用!
0x01:信息獲取
1、基礎信息獲取(這裡用一個郵箱的app做演示)
利用工具(APK-Info v0.2)

2、查殼
利用工具(ApkScan-PKID)

3、證書與簽名的查看
利用工具(apktool)

註:jre默認安裝apktool,只需要在當前目錄執行CMD就可以調用運行
首先要把apk的後綴名改為rar
解壓找到rsa後綴的文件

這個RSA文件挺難找的,汗。
keytool -printcert -file rsa文件地址

4、源碼查看
利用工具(AndroidKiller)

5、組件查看
android四大組件
ActivityServiceContent providerBroadcast receiver
Activity組件
反編譯 apk 文件,在AndroidManifest.xml 中查找Activity組件
1、當Activity返回數據時需關注目標Activity是否有泄露信息的安全風險。
2、驗證所對應的目標Activity是否惡意App,規避受到intent欺騙,可用hash簽名作為驗證。
3、簽名驗證其內部(in-house)App。
Service組件
反編譯 apk 文件,在AndroidManifest.xml 中查找配置了 intent-filter 的 action值的,或者顯示設置了android:exported="true"的。
android:exported
Service組件的設置錯誤可以被第三方APP任意調用,導致敏感信息泄露,並可能受到權限提升、拒絕服務等安全風險
Content provider組件
反編譯 apk 文件,在AndroidManifest.xml 中查找content provider組件查看
android:exported
content provider該屬性的配置錯誤可以被其他第三方程序任意調用。
當Content Provider組件可以被第三方app任意調用時,會導致敏感信息泄露,並可能受到目錄遍歷、SQL注入等攻擊等安全風險。
Broadcast receiver組件
通常是用來處理系統級事件的組件
反編譯 apk 文件,在 AndroidManifest.xml 中查找配置了 intent-filter 的 action 值的,或者顯示設置了 android:exported="true" 的。
Broadcast receiver該屬性的配置錯誤可能會導致敏感信息泄漏,本地拒絕服務器漏洞、有序廣播導致的安全問題。
0x02:測試框架
推薦一個:移動安全漏洞測試框架(MobSF)是一種自動化的多合一移動應用程序(安卓/蘋果/PC端)可以進行靜態和動態分析的安全測試,惡意軟件分析和安全評估框架。
https://github.com/MobSF/Mobile-Security-Framework-MobSF
Docker下的MobSF的安裝與運行
docker pull opensecurity/mobile-security-framework-mobsfdocker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest

谷歌自帶翻譯,有點亂
該工具還支持動態分析
0x03:ADB測試
推薦工具(Drozer)
Drozer是一款Android安全測試框架。
是目前最好的Android安全測試工具之一。
https://labs.f-secure.com/tools/drozer/
安卓手機安裝drozer Agent工具,並打開Embbdded Server,下一步需要讓電腦連上手機的agent,默認可以看到手機端默認端口開啟的是31415

這時候在電腦上cmd下輸入:
adb forward tcp:31415 tcp:31415
正常情況應該是這樣:

操作詳細請參考
http://www.360doc.com/content/15/0228/04/21863855_451377867.shtmlhttps://www.cnblogs.com/bluesky4cn/p/4269031.html
部分模塊功能如下:

0x04:抓包測試
推薦工具(Burp Suite)

手機設置完代理
抓到app的數據包後
類似於PC版本web端抓包測試。

手機掛上代理,設置好爬蟲網址
手機不斷的去點擊app的所有功能點

BP就能爬去APP的一大部分網址鏈接
再利用BP的掃描器掃描

