Scrounger:iOS和Android移動應用程序滲透測試框架

Scrounger是一個模塊化的移動應用程序滲透測試框架工具。它將Android和iOS這兩個主流的移動操作系統同時整合到了一個框架中,極大的方便和滿足了我們日常任務的需求。此外,Scrounger還具有使用方便、文檔豐富、易於擴展等優點。

視頻簡介

Scrounger由許多模塊組成,這些模塊都建立在一個強大的核心之上。這樣做的好處是,可以像Metasploit一樣易於擴展。如果你希望Scrounger執行其他檢查,你只需添加一個新模塊,然後通過Scrounger的互動式控制台或命令行界面執行。

此外,Scrounger同時包含了Android和iOS模塊。因此,在移動應用評估期間你不需要使用多款工具,而只需使用這一款工具學習一組命令就可以完成任務。

Scrounger中已經捆綁了幾個模塊,你可以運行這些模塊來對移動應用程序執行多項檢查。

運行條件

在主機和某些iOS二進位文件需要安裝某些軟體包。

但是,Scrounger已為我們打包了大多數iOS二進位文件,並提供了一個在設備上安裝它們的模塊。具體請參閱Scrounger GitHub頁面。

如果不滿足條件,某些模塊將無法運行。

另外,設備需要越獄和root許可權。

使用

Scrounger的使用主要有兩種方式:命令行或互動式控制台。

命令行主要用於執行所有檢查或自動化腳本。控制台用於運行一定數量的模塊或執行特定操作,例如反編譯,重新編譯和簽名應用程序,提取某些文件等。

命令行選項

使用命令行時,你可以列出可用模塊及其參數,可用設備,執行完整分析(運行特定類型應用程序的所有模塊 - Android或iOS)並運行特定模塊,同時傳遞必要的參數。

以下是在Android應用程序上使用Scrounger命令行運行特定模塊的示例。

首先,我們列出要運行模塊的所需選項,然後運行。

控制台示例

控制台包含了幾個強大的選項,提供自動完成(包括文件路徑自動完成),模塊搜索,能夠重新使用來自其他模塊的結果作為參數、命令使用歷史以及反向搜索已使用的命令。

以下是控制台列出iOS可用模塊的示例。

除了列出模塊外,還將顯示模塊功能的簡要說明。對於iOS和Android,有兩種主要類型的模塊,misc和analysis。misc模塊是輔助模塊,對應用程序,其文件/設備執行多個操作。為了評估是否存在任何的安全漏洞,analysis模塊將分析應用程序文件,應用程序本身及其生成的文件。

首先,我們運行options命令查看特定模塊所需的參數(這和Metasploit是一樣的)。options命令還會顯示全局選項。如果設置了該參數並且有模塊使用了相同參數,則它的值將被自動設置。設置好了所需參數,我們再次運行options命令確保已正確設置了所有選項,並使用run命令運行模塊。

可以看到,Scrounger通過運行某些模塊生成了一些輸出和結果,這些結果也可以被其他模塊所使用。

我們可以使用show results命令來查看執行其他模塊返回的所有存儲結果。print命令可用於顯示存儲在某個結果上的值,也可用於列印存儲在全局或模塊參數中的值。如果你想在其它模塊中使用這些結果,可以通過result:關鍵字設置使用。設置完成後運行模塊即可。

設備示例

有幾個模塊將需要與IOS或Android設備進行交互。在命令行或控制台中添加設備也非常的簡單。

在此示例中,我們將使用add_device命令將一個Android設備添加到控制台(它將嘗試獲取連接的設備並將其顯示為可選項)。然後,使用set global命令,我們將設備設置為device 1。使用misc/list_apps命令時,由於已設置全局選項並且存在具有相同名稱的模塊參數,因此它將自動填充該參數的值。

可擴展性

Scrounger的可擴展性,可以讓你輕鬆的包含自定義模塊,並根據滲透測試人員的偏好執行自定義的檢查。安裝Scrounger時,將會為你創建所有所需目錄。在~/.scrounger/modules/custom下,已為你創建了一個自定義模塊目錄。

在以下示例中,創建了一個自定義模塊並放置在了custom/analysis/ios/目錄下。從路徑就可以判斷出,false_positive模塊是一個針對iOS應用程序的模塊。

創建你自己的模塊

創建自定義模塊非常的簡單,只需三個步驟:根據模塊要執行的操作在正確的模塊目錄下創建文件,創建兩個變數meta和options,以及函數run。

示例:

下次啟動scrounger-console時,新創建的文件將會自動添加到可用模塊列表中。在創建模塊時,還需要考慮許多其它的元素,尤其是analysis模塊。更多信息請參閱Scrounger提供的有關所有可用模塊的全面文檔,以及如何創建自定義模塊的詳細說明:https://github.com/nettitude/scrounger/docs

真實場景案例

在典型的移動應用程序評估中,我們將嘗試運行儘可能多的模塊。Scrounger也考慮到了這一點,在控制台中我們可以通過一個名為full_analysis的模塊來運行所有模塊,在命令行中則添加-f選項即可。

此選項/模塊將反編譯應用程序,並運行所有必要的輔助模塊以及其他可用模塊。然後創建一個JSON文件,其中包含返回report=True的各個模塊的結果和詳細信息。命令行可執行文件還有一個-p選項,用於讀取JSON文件並將所有結果和詳細信息列印到控制台。

後續開發、反饋和特別感謝

後續Scrounger將添加支持更多的功能。具體可以參見GitHub README的末尾部分。如果你有任何的反饋想法或建議,那麼歡迎你隨時在GitHub上提交。最後,特別感謝工具的所有開發人員!

Needle (https://github.com/mwrlabs/needle)

Drozer (https://github.com/mwrlabs/drozer)

iOS-application-analyser (https://github.com/timb-machine/ios-application-analyser)

*參考來源:nettitude,FB小編 secist 編譯,轉載請註明來自FreeBuf.COM


推薦閱讀:

如何評價黑莓新一代旗艦KEY2?
Android應用程序組件Content Provider的啟動過程源代碼分析
新型Rowhammer攻擊可遠程破解Android設備
Android幾種強大的下拉刷新庫
Android控制項RadioButton的應用:做切換界面的標籤欄。

TAG:程序 | Android | 移動應用 | 測試 | 滲透測試 | 框架 | 移動 |