使用 MobSF 掃描 APP 漏洞

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。

部署步驟:

  1. 克隆 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 上的鏡像。

  2. 拉取 Docker 鏡像并運(yùn)行: 打開終端或命令提示符,執(zhí)行以下命令:

    docker pull opensecurity/mobsf
    docker run -it -p 8000:8000 opensecurity/mobsf:latest
    
    
    • docker pull opensecurity/mobsf: 從 Docker Hub 拉取 MobSF 官方鏡像。

    • docker run -it -p 8000:8000 opensecurity/mobsf:latest: 以后臺(tái)模式運(yùn)行 MobSF 容器,并將容器的 8000 端口映射到主機(jī)的 8000 端口。-it 用于交互式和偽終端。

  3. 訪問 MobSF Web 界面: 容器啟動(dòng)后,在您的 Web 瀏覽器中訪問 http://127.0.0.1:8000http://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)分析

  1. 上傳 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)性能。

  2. 查看靜態(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ù)雜,需要額外的配置。

  1. 環(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 模式。

  2. 啟動(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。

  1. 執(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)存中的敏感信息。

  2. 生成動(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 漏洞掃描!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容