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的掃描器掃描