本发明涉及网络安全技术领域,具体地说是一种面向web攻击测试的收集被测系统基本信息的自动化方法。
背景技术:
在网络安全领域,web攻击测试往往要组合使用大量的面向不同测试内容的工具。对用到的这些工具的输出的汇总整理及交叉分析,一般都要手动完成;并且测试过程要来回切换图形界面或键入命令行命令。也有一些商用软件提供了自动化执行的功能,并且使用了gui层、逻辑层和数据库层的分层架构。确实给攻击测试人员带来了很大的便利;但也带来了扩展较困难的问题,例如对不断推出的新工具的及时支持上。
技术实现要素:
本发明的目的在于提供一种面向web攻击测试的收集被测系统基本信息的自动化方法,降低了对资深安全测评人员的智力资源占用,提高了攻击测试的效率,还实现了攻击过程的无人值守。
本发明解决其技术问题所采取的技术方案是:一种面向web攻击测试的收集被测系统基本信息的自动化方法,其特征是,具体包括以下步骤:
1)、采用shell粘合不同测试内容的工具,主shell脚本调用不同工具的shell脚本;
2)、分别自动生成不同工具输出文件和日志文件;
3)、根据输出文件和日志文件提取工具输出中的关注点信息或基于工具输出生成关注点信息;
4)、根据关注点信息自动生成综合报告;
5)、以所测产品的名称为参数调用主shell脚本。
进一步地,步骤1)操作的具体实现过程包括:
11)、将不同测试内容的工具封装成shell脚本;
12)、在主shell脚本中将公共的输出文件目录设置为环境变量;
13)、依次调用封装工具的shell脚本;
14)、通过命令行命令传入参数。
进一步地,不同测试内容的工具包括同一工具的不同命令行选项组合和不同的工具。
进一步地,步骤12)操作中公共的输出文件目录设置为环境变量的方法具体包括:
121)、在主shell脚本定义out_path变量,保证目录确实存在;
122)、将out_path设置为环境变量;
123)、在包含linux命令行界面下启动工具的命令行命令的shell文件中使用out_oath作为输出目录的一部分,从而达到共享输出目录的目的。
进一步地,步骤13)操作中调用封装工具的shell脚本采用sh命令。
进一步地,步骤2)操作中输出文件记录每个工具的输出;日志文件记录所有工具的执行过程。
进一步地,步骤3)操作中关注点信息为匹配到的带关键字的行;
关注点信息的提取方法为:通过grep关键字,匹配到安全测试工具的输出关键字。
本发明的有益效果是:
本发明采用shell脚本语言粘合面向不同测试内容的工具,并记录脚本执行过程及脚本的输出结果,通过shell命令提取工具输出中的关注点信息或基于工具输出生成关注点信息,最后将关注点信息梳理成综合报告。
通过shell脚本构建自动化执行和报告流程,能够显著减少安全测评人员在测试中间过程上的时间消耗,增加投入到结果分析和后续策略上的精力。同时也积累下了安全测评的知识库建设经验。
本发明采用shell脚本粘合不同测试内容的工具,能够减少测试过程的时间浪费,提高报告分析的时间占比,从而改善智力资源分配方式并提高效率。与商用的自动化软件相比,功能增强更容易,新工具支持更快捷。
附图说明
图1为本发明的方法流程图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,一种面向web攻击测试的收集被测系统基本信息的自动化方法,将在linux命令行界面下启动不同工具的命令行命令(含参数)分别写入不同的shell文件中,然后将执行这些shell文件的命令行命令依次写入另一个shell文件(主控文件)中。这样,可以保证不同的工具按设计的次序依次被启动和执行。
具体包括以下步骤:
1)、采用shell粘合不同测试内容的工具,主shell脚本调用不同工具的shell脚本;
2)、分别自动生成不同工具输出文件和日志文件;
3)、根据输出文件和日志文件提取工具输出中的关注点信息或基于工具输出生成关注点信息;
4)、根据关注点信息自动生成综合报告;
5)、以所测产品的名称为参数调用主shell脚本。
在linux命令行界面上以“sh–xxxx.shp1p2…”的形式执行主控shell脚本。
步骤1)操作的具体实现过程包括:
11)、将不同测试内容的工具封装成shell脚本;
12)、在主shell脚本中将公共的输出文件目录设置为环境变量;
13)、依次调用封装工具的shell脚本;
14)、通过命令行命令传入参数。
不同的工具需要传入不同的参数,如传入ip地址为:
sh-xnmap.sh100.2.92.117中的100.2.92.117
sh-xwhatweb.shhttps://100.2.92.117:8443中的https://100.2.92.117:8443。
不同测试内容的工具包括同一工具的不同命令行选项组合和不同的工具。
步骤12)操作中公共的输出文件目录设置为环境变量的方法具体包括:
121)、在主shell脚本定义out_path变量,保证目录确实存在;
122)、将out_path设置为环境变量;
123)、在包含linux命令行界面下启动工具的命令行命令的shell文件中使用out_oath作为输出目录的一部分,从而达到共享输出目录的目的。
具体的程序脚本可以为:
out_path="${base_dir}/${datetime}/${product_line}/"
mkdir-p${out_path}
exportout_path
#/bin/sh
targetip=$1
nmap-n-pn-a-p1-65535-on${out_path}_${targetip}.txt${targetip}
步骤13)操作中调用封装工具的shell脚本采用sh命令。
如调用nmap工具和whatweb工具为:
sh-xnmap.sh100.2.92.117>nmap.log2>&1
sh-xwhatweb.shhttps://100.2.92.117:8443>whatweb.log2>&1
步骤2)操作中输出文件记录每个工具的输出;日志文件记录所有工具的执行过程。
步骤3)操作中关注点信息为匹配到的带关键字的行;
关注点信息的提取方法为:通过grep关键字,匹配到安全测试工具的输出关键字。如:grep'summary'whatweb*.txt。
本发明的工具及其版本可以包括nmap7.01、whatweb0.4.8-dev、sslscan1.10.5-static/openssl1.0.2e-dev、ipmitool、snmpwalk5.7.2.1、rpcinfo、showmount1.2.8、smbclient4.2.10-debian。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。