Scrounger:iOS和Android移动应用程序渗透测试框架

在~/.scrounger/modules/custom下,已为你创建了一个自定义模块目录

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和analysismisc模块是帮助模块,对利用法度榜样,其文件/设备履行多个操作为了评估是否存在任何的安然破绽,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时,将会为你创建所有所需目录

在以下示例中,创建了一个自定义模块并放置在了custom/analysis/ios/目录下从路径就可以判断出,false_positive模块是一个针对iOS利用法度榜样的模块

[1] [2]下一页

创建你自己的模块

创建自定义模块异常的简单,只需三个步骤:根据模块要履行的操作在精确的模块目录下创建文件,创建两个变量meta和options,以及函数run

示例:

from scrounger.core.module import BaseModule

class Module(BaseModule):

meta = {

“author”: “RDC”,

“description”: “””Just a Test Analysis module”””,

“certainty”: 100

}

options = [

{

“name”: “output”,

“description”: “local output directory”,

“required”: False,

“default”: None

},

]

def run(self):

print(“This is a print from the custom module”)

return {

“print”: “This will be print by scrounger’s console.”,

“false_positive_result”: {“title”: “This is a False Positive- just a test”,

“details”: “No details”,

“severity”: “Low”,

“report”: True}

}

下次启动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)

上一页[1] [2]

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包