MobSF移動安全測試框架
移動安全框架 (MobSF) 是一個智能化、一體化的開源移動應用(Android / iOS)自動測試框架,能夠?qū)σ陨蟽煞N移動應用進行靜態(tài)和動態(tài)分析(動態(tài)分析目前暫時只支持Android)。
它可以有效、快速地對應用APK 和IPA文件 及壓縮的源代碼進行審計分析。同時,MobSF 也能夠通過其API Fuzzer功能模塊,對 Web API 的安全性進行檢測,如收集信息,分析安全頭部信息,識別移動API 的具體漏洞,如XXE、SSRF、路徑遍歷,IDOR以及其他的與會話和API調(diào)用速率限制有關的邏輯問題。
運行環(huán)境
? Python 2.7,下載請點擊:Python 2.7
? Oracle JDK 1.7或以上版本,下載請點擊:Oracle JDK;
? Oracle VirtualBox 下載請點擊: VirtualBox;
? iOS IPA分析(需在 Mac系統(tǒng)上執(zhí)行)所需命令行工具( Mac系統(tǒng))下載請點擊:Conmand-line tool;
? 硬件配置:4GB 或以上內(nèi)存,5G硬盤空間。
安裝
該框架目前暫時只于Windows 7, 8, 8.1, 10, Ubuntu, OSX Mavericks等系統(tǒng)平臺上進行測試。
? Windows:解壓MobSF壓縮文件到C:\MobSF;
? Mac:解壓MobSF壓縮文件到/Users/[username]/MobSF;
? Linux:解壓MobSF壓縮文件到/home/[username]/MobSF。
配置靜態(tài)分析器
通過pip安裝MobSF Python 依賴包,以下為不同系統(tǒng)的命令執(zhí)行操作,
Windows
C:\Python27\Scripts\pip.exe install -r requirements.txt
如果pip.exe在腳本目錄中不可用,下載及重新安裝最新版本的Python2.7。
Unix
pip install -r requirements.txt
運行MobSF
python manage.py runserver
如果需要在具體端口上運行,可以通過以下指令進行,
python manage.py runserver port_number
如果上述步驟都順利正常執(zhí)行的話,那么我們將會看到以下的輸出內(nèi)容,
配置動態(tài)分析器
配置MobSF VM
動態(tài)分析器目前只支持針對 Android APK文件進行分析,硬件環(huán)境要求為需要計算機擁有4GB 內(nèi)存和支持完全虛擬化。
首先,配置動態(tài)分析器我們需要獲取以下4個方面的信息,
(1)VM UUID
(2)快照 UUID
(3)主機/代理 IP
(4)VM/設備 IP
操作步驟
1、打開VirtualBox(本文主要以VirtualBox為樣例),選擇文件->導入應用,并選中MobSF_VM_X.X.ova 文件(下載地址可于前文查看);
2、在進行導入過程中,請勿更改任意配置,一切按照默認設置進入下一步;
3、一旦OVA文件導入成功,我們將在VirtualBox上看到一個以MobSF_VM_X.X命名的新的條目;
4、接下來右擊MobSF VM,并選擇設置一項,選中到網(wǎng)絡選項卡,這里我們需要配置兩個網(wǎng)絡適配器;
(1)適配器1 啟用并于attached to 中,選擇Host-only Adapter模式,重命名適配器名稱,因為我們需要通過該名稱來識別主機/代理 IP,配置如下圖;
(2)適配器2 啟用并于attached to中,選擇NAT模式,配置如下圖。
5、保存上述設置,便可啟動MobSF VM。當該VM啟動的時候,記下VM的 IP地址;
6、一旦該虛機啟動后,它會停留在一個鎖屏狀態(tài)上,而解鎖密碼默認為1234;
7、獲取 主機/代理 IP
(1)Windows :在命令提示符中輸入ipconfig,記下與適配器1 相同名稱的適配器IP地址;
(2)Unix :在命令提示符中輸入ifconfig,記下與適配器1 相同名稱的適配器IP地址;
8、接著在MobSF 虛機中選中Wi-Fi設置,設置代理IP(上一步獲取到的IP)和端口(1337);
9、保存設置,并回到MobSF虛機的Home界面上,等待大約30秒的時間,之后保存好 MobSF虛機的快照;
10、一旦快照保存好,右擊MobSF虛機,選擇“在Explorer中顯示”或者“在 Finder中顯示”;
11、在任意編輯器中打開MobSF_VM_X.X.vbox文件(這里使用的是sublime),記下 VM UUID以及快照UUID;
接下來,到了此時,我們已經(jīng)有了如前文提到的,配置動態(tài)分析器所需要的信息,
(1)VM UUID
(2)快照 UUID
(3)主機/代理 IP
(4)VM/設備 IP
12、接下來我們打開MobSF/settings.py文件,并將其中參數(shù)的值設置如下,
(1)UUID = VM UUID
(2) SUUID = Snapshot UUID
(3)VM_IP = VM IP
(4)PROXY_IP = Host/Proxy IP
以下為配置樣本,
最后,我們重新再打開服務器即可運行。部分功能如下圖
靜態(tài)分析
Android APK
iOS IPA
動態(tài)分析
Android APK
Web API Fuzzer
介紹內(nèi)容來自 FreeBuf黑客與極客



