1. MobSF 介紹
Mobile Security Framework (MobSF) 是一個(gè)自動(dòng)化、一體化、智能的移動(dòng)應(yīng)用(Android/iOS/Windows)安全分析平臺(tái),能夠執(zhí)行靜態(tài)和動(dòng)態(tài)分析。它支持各種移動(dòng)應(yīng)用程序二進(jìn)制文件(APK、IPA、APPX)和壓縮源代碼。MobSF 可以作為一個(gè)移動(dòng)應(yīng)用安全評(píng)估的起點(diǎn),幫助安全研究人員和開發(fā)人員發(fā)現(xiàn)移動(dòng)應(yīng)用中的常見漏洞。
MobSF 的主要特點(diǎn)包括:
-
靜態(tài)分析:
對(duì) APK、IPA、APPX 文件進(jìn)行反編譯和代碼分析。
識(shí)別常見的安全漏洞,如不安全的數(shù)據(jù)存儲(chǔ)、弱加密算法、權(quán)限濫用、硬編碼敏感信息等。
提供詳細(xì)的報(bào)告,包括文件結(jié)構(gòu)、清單文件分析、代碼分析、API 調(diào)用、字符串分析等。
-
動(dòng)態(tài)分析:
通過集成 Frida 和 Genymotion/Android SDK 模擬器,在運(yùn)行時(shí)分析應(yīng)用程序行為。
捕獲網(wǎng)絡(luò)流量、API 調(diào)用、文件系統(tǒng)活動(dòng)、運(yùn)行時(shí)內(nèi)存等。
幫助發(fā)現(xiàn)僅在運(yùn)行時(shí)顯現(xiàn)的漏洞,如邏輯缺陷、會(huì)話管理問題等。
-
API 和 CLI 支持:
提供 REST API,方便與其他安全工具或自動(dòng)化流程集成。
支持命令行接口(CLI),可以進(jìn)行批量掃描和自動(dòng)化操作。
-
易于使用:
提供直觀的 Web 界面。
部署相對(duì)簡(jiǎn)單。
2. MobSF 部署
MobSF 可以通過多種方式部署,最常見的是使用 Docker 或直接在 Linux/macOS 環(huán)境中安裝。以下是基于 Docker 的部署指南,它通常更簡(jiǎn)單且可移植。
前提條件:
- 已安裝 Docker 和 Docker Compose。
部署步驟:
-
克隆 MobSF 倉(cāng)庫(kù)(可選,但推薦): 如果您想獲取最新的源代碼或進(jìn)行開發(fā),可以克隆 MobSF 的 GitHub 倉(cāng)庫(kù):
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git cd Mobile-Security-Framework-MobSF如果您只是想快速部署,也可以直接使用 Docker Hub 上的鏡像。
-
拉取 Docker 鏡像并運(yùn)行: 打開終端或命令提示符,執(zhí)行以下命令:
docker pull opensecurity/mobsf docker run -it -p 8000:8000 opensecurity/mobsf:latestdocker pull opensecurity/mobsf: 從 Docker Hub 拉取 MobSF 官方鏡像。docker run -it -p 8000:8000 opensecurity/mobsf:latest: 以后臺(tái)模式運(yùn)行 MobSF 容器,并將容器的 8000 端口映射到主機(jī)的 8000 端口。-it用于交互式和偽終端。
訪問 MobSF Web 界面: 容器啟動(dòng)后,在您的 Web 瀏覽器中訪問
http://127.0.0.1:8000或http://localhost:8000。您應(yīng)該能看到 MobSF 的歡迎頁面。
注意:
如果您是在虛擬機(jī)或云服務(wù)器上部署,請(qǐng)確保防火墻已允許 8000 端口的傳入連接。
對(duì)于動(dòng)態(tài)分析,MobSF 需要與模擬器(如 Genymotion 或 Android Studio 的模擬器)或真實(shí)設(shè)備進(jìn)行通信。這需要額外配置 ADB 連接,并且通常需要運(yùn)行在 Linux 或 macOS 環(huán)境中進(jìn)行,因?yàn)閯?dòng)態(tài)分析涉及到更多的系統(tǒng)級(jí)依賴。
3. MobSF 使用
MobSF 的使用主要分為上傳待分析的 APP 文件和查看分析報(bào)告。
3.1 靜態(tài)分析
-
上傳 APP 文件:
打開 MobSF Web 界面 (
http://localhost:8000)。在主頁上,您會(huì)看到一個(gè)文件上傳區(qū)域。
點(diǎn)擊 "Upload & Analyze" 按鈕,或者直接將您的 Android APK 文件或 iOS IPA 文件拖放到該區(qū)域。
MobSF 將開始上傳并自動(dòng)進(jìn)行靜態(tài)分析。分析時(shí)間取決于文件大小和您的系統(tǒng)性能。
-
查看靜態(tài)分析報(bào)告:
分析完成后,頁面會(huì)自動(dòng)跳轉(zhuǎn)到分析報(bào)告頁面。
-
報(bào)告分為多個(gè)部分,包括:
基本信息: 應(yīng)用名稱、包名、版本、SDK 版本等。
簽名信息: 應(yīng)用的數(shù)字簽名信息。
清單文件分析: AndroidManifest.xml 或 Info.plist 中的權(quán)限、組件、URL Scheme 等。
代碼分析: 包含潛在漏洞的代碼模式,如硬編碼密鑰、不安全的隨機(jī)數(shù)生成、敏感信息泄露等。
文件系統(tǒng)分析: 識(shí)別不安全的文件權(quán)限。
網(wǎng)絡(luò)安全: 檢測(cè)不安全的網(wǎng)絡(luò)配置(如信任所有證書)。
API 列表: 應(yīng)用使用的所有 API 列表。
字符串分析: 從二進(jìn)制文件中提取的字符串,可能包含敏感信息。
漏洞/弱點(diǎn)列表: 總結(jié)發(fā)現(xiàn)的所有安全問題及其風(fēng)險(xiǎn)等級(jí)。
* 您可以點(diǎn)擊報(bào)告中的各個(gè)項(xiàng)來查看更詳細(xì)的信息,并定位到對(duì)應(yīng)的代碼行。
* 報(bào)告可以導(dǎo)出為 PDF、JSON 或 CSV 格式。
3.2 動(dòng)態(tài)分析(高級(jí))
動(dòng)態(tài)分析比靜態(tài)分析更復(fù)雜,需要額外的配置。
-
環(huán)境配置:
模擬器/設(shè)備: 確保您有一個(gè)正在運(yùn)行的 Android 模擬器(如 Genymotion、Android Studio AVD)或連接的真實(shí) Android 設(shè)備。
ADB: 確保 ADB (Android Debug Bridge) 已正確安裝并配置在 MobSF 所在的系統(tǒng)上。
Frida: MobSF 會(huì)自動(dòng)在設(shè)備上部署 Frida Server,但需要確保設(shè)備已 root 或已配置 Frida 的免 root 模式。
-
啟動(dòng)動(dòng)態(tài)分析:
在 MobSF 靜態(tài)分析報(bào)告頁面,如果您已經(jīng)配置好動(dòng)態(tài)分析環(huán)境,會(huì)看到 "Dynamic Analysis" 選項(xiàng)卡。
點(diǎn)擊 "Start Dynamic Analysis" 按鈕。
MobSF 會(huì)嘗試連接到可用的設(shè)備/模擬器,并安裝 APK。
-
執(zhí)行測(cè)試用例:
應(yīng)用程序在模擬器或設(shè)備上啟動(dòng)后,您需要手動(dòng)與應(yīng)用程序進(jìn)行交互,執(zhí)行各種功能,以觸發(fā)不同的代碼路徑和網(wǎng)絡(luò)請(qǐng)求。
-
MobSF 會(huì)在后臺(tái)捕獲這些運(yùn)行時(shí)行為,例如:
網(wǎng)絡(luò)流量: 捕獲 HTTP/HTTPS 請(qǐng)求和響應(yīng)。
API 監(jiān)控: 監(jiān)控應(yīng)用程序的 API 調(diào)用。
文件系統(tǒng): 記錄文件讀寫操作。
內(nèi)存分析: 捕獲內(nèi)存中的敏感信息。
-
生成動(dòng)態(tài)分析報(bào)告:
完成交互后,回到 MobSF 界面,點(diǎn)擊 "Stop Dynamic Analysis" 按鈕。
MobSF 將收集所有運(yùn)行時(shí)數(shù)據(jù),并生成動(dòng)態(tài)分析報(bào)告。
動(dòng)態(tài)分析報(bào)告通常包含網(wǎng)絡(luò)流量詳情、API 調(diào)用日志、截屏、SSL Pinning 繞過嘗試等。
3.3 常見問題和提示
端口占用: 如果 MobSF 無法啟動(dòng),可能是 8000 端口被其他程序占用。您可以嘗試修改 MobSF 配置文件或 Docker 命令中的端口映射。
依賴問題: 如果是非 Docker 部署,請(qǐng)確保所有 Python 依賴和操作系統(tǒng)依賴都已正確安裝。
Android SDK/ADB: 對(duì)于靜態(tài)分析,ADB 不是必需的。但對(duì)于動(dòng)態(tài)分析,ADB 必須正確設(shè)置。
文檔查閱: MobSF 官方文檔是獲取最新信息和解決復(fù)雜問題的好資源。
希望這份指南能幫助您開始使用 MobSF 進(jìn)行 APP 漏洞掃描!