本节书摘来自异步社区《高度安全环境下的高级渗透测试》一书中的第1章1.6节有效地管理你的测试结果,作者【英】Lee Allen,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.6 有效地管理你的测试结果
在一次渗透测试的过程中你将使用到各种工具,几乎所有的工具都会输出你想要保存的结果。一个主要挑战就是将所有数据结合并集中放在一个地方,以便你能够轻松地通过整体观察数据来增加测试的效果,同时也能够缩短报告生成环节。
1.6.1 MagicTree介绍
MagicTree是Gremwell开发的一个Java程序,它是一个支持主动收集数据和生成报告的工具。它通过树形结构的节点来管理你的数据,这种分层存储方法对管理主机和网络数据特别有效。MagicTree真正强大的功能在于分析数据。例如,在一次大型网络的扫描期间,(借助MagicTres)搜索已经扫描到的所有ISS Web服务器仅需要片刻时间。
除了出色的数据收集机制,MagicTree还可以基于你选择的优先级创建可操作的报告利用MagicTree生成的报告是完全可定制的,以满足你的报告要求。你甚至可以使用它将数据导出到OpenOffice中!
MagicTree允许XML数据的导入,同时对许多常见的格式执行XSLT转换,例如:
Nessus(第1版和第2版);
Nikto;
Nmap;
Burp;
Qualys;
Imperva Scuba;
OpenVas。
值得注意的是,MagicTree的开发人员是职业的渗透测试人员。在开发MagicTree的过程中,他们很清楚每天做渗透测试时遇到的挑战。可以说明这个问题的一个例子是,他们开发的一个功能可以允许你通过XSLT转换文件格式供其他工具使用。如果你需要的XML数据不能通过转换工具来导入,你可以自己动手制作!
1.启动MagicTree
与我们在本书中使用的大多数工具一样,MagicTree已经在BackTrack 5 R1预安装了。
要在BackTrack中启动MagicTree,我们需要选择Applications | BackTrack | Reporting Tools | Evidence Management | magictree。在界面弹出而且许可协议显示出来(需要接受许可协议)之后,主应用程序界面才显示出来,如图1.11所示。
2.添加节点
为了添加一个节点,按下Ctrl+N并在一个Input弹出框中输入127.0.0.1。这将使用两个额外的节点来填充树。一个用于testdata,另一个为主机127.0.0.1。
有若干个类型的节点供你存储数据。为了高效地使用这个工具,你需要熟悉各种节点的类型。
分支节点:用来创建你的树结构,在使用这类节点的时候不要包含空格。
简单节点:最常用的节点,用来存储诸如IP地址或者完全规范的域名等简单的数据。
文本节点:在文本节点存储文本数据对提供你的测试信息非常有用,这些数据也会出现在你的报告中。
数据节点:在项目文件夹中存储非图片文件和非XML的附件。
XML数据节点:存储XML数据。
图片节点:可以存储类似截屏或者其他重要的图片证据。
交叉引用:节点之间的一种联系,以避免信息重复。
概述节点:用来输入测试结果以及推荐的缓解策略,可以连接到受影响的主机。
特别节点:自动创建并且被应用程序执行某种特殊任务,特别节点不是用户创建的。
MagicTree将来自不同数据源的数据合并到单个节点中,试图避免数据重复。例如,利用多个不同的工具对主机127.0.0.1扫描时,不会产生表示相同数据的多个节点。
3.数据收集
我们收集一些关于127.0.0.1的数据。除了可以选择在MagicTree之外运行的工具所生成的扫描结果,你也可以在MagicTree中使用变量来选择目标范围或主机。
在Tree View菜单中选择host 127.0.0.1节点,单击Q*按钮(代表查询所有内容),然后在Command文本区域输入如下命令(一定要通过单击确保它在启动状态):
# nmap - vv - O - sS - A - p- P0 - oX $out.xml $host
这会初始化一个针对127.0.0.1的Nmap扫描并将结果输出到一个名叫$out.xml的XML文件中,如图1.12所示。
我们将选择$out.xml文件,单击Import按钮,让MagicTree基于扫描结果自动生成节点架构(框架),如图1.13所示。
MangicTree导入了Nmap的扫描结果并合并到主机中。看起来postgresql 8.4.0已经在BackTrack虚拟机上运行并监听在7175上。
4.生成报告
现在已经有了一些扫描结果,我们来看一下生成报告是多么得简单。通过BackTrack 5 R1预安装的OpenOffice有5个配置好的模板供你选择,当然你也可创建自己的模板。
在菜单栏的顶部,选择Generate Report的后面选择Report选项,这将初始化Generate Report模板选择界面。通过浏览选项选择open-ports-and-summary-of-findings-by-host.odt,然后单击Generate Report。片刻之后,OpenOffice就会打开自动生成的报告,报告中将列出与主机对应的所有打开端口以及你找到的其他信息,如图1.14所示。
这就是对MagicTree项目的一个快速介绍。这个工具非常强大,它将需要你经过实践之后才能发挥潜在的功能。MagicTree提供的官方文档非常规范并且经常更新。如果你主要是在一个非常小的团队(或是一个人组成的团队)中执行渗透测试,那么MagicTree将是你唯一需要的数据收集工具。