渗透测试报告是任何安全评估活动中的关键可交付成果。渗透测试中,最终可交付成果是一份报告,展示了所提供的服务,使用的方法,发现的结果和建议。
许多渗透测试人员发现报告的制作是一个无聊的过程,因为它需要大量的时间和精力。在本文中,我们将讨论使用Kali Linux工具来简化制作报告的任务。这些工具可用于存储结果,做报告时的快速参考,与你的团队分享你的数据等。我们将学习如何使用这些工具上传BurpSuite、nmap、Nikto、OWASP Zap等的扫描结果。
这篇文章我们将介绍如下工具:
Dradis
Magic Tree
Metagoofil
让我们看看每个工具的详情。
Dradis
Dradis框架是一个开源的协作和报告平台。它是由Ruby开发的一个独立的平台。在接下来的几个步骤中,我们将学习如何使用Dradis。
启动Kali Linux,”Application”->” Reporting Tools”->”Dradis”。
Dradis是一个独立的web应用程序。因此,它会自动在浏览器中打开https://127.0.0.1:3004
避免证书错误,然后点击“I Understand the Risks”按钮来添加一个例外Dradis。出现证书错误是因为Dradis使用的是自签名证书。
因为是第一次访问,所以提供的是向导页面
下一步是创建一个服务器密码来访问应用程序。点击“Back to the app”链接访问密码设置页面。输入密码,然后单击“Initialize”按钮。
输入我们之前设置的密码
我们成功进入了Dradis框架。
现在我们可以开始使用Dradis通过创建一个新的分支。点击“add branch”按钮,并将它命名为“Security Test”。
现在,在新创建的分支单击鼠标右键,然后单击“add child”选项在新创建的分支下添加支行。有两个选择,首先是创建新的子分支,第二个是添加主机。
为了方便我们创造了一个树形分支。“Security Test”划分为三个支线,“端口扫描”,“应用程序扫描”和“Nessus的漏洞扫描”。每个子分支由不同的工具进一步划分。
我们可以在每个分行或支行下添加主机。例如,我们的Nmap文件夹下添加的IP 10.48.14.12。我们的目标在这里放置Nmap对10.48.14.12的扫描结果。
点击“import file from…”按钮,从下拉框中选择“NmapUpload”,浏览并选择要上传的文件。
点击“Open”按钮,Dradis将开始验证和解析该文件。
解析成功后,结果将会被上传。现在可以看到主机开放的端口。
我们可以通过“add note”按钮来添加任意端口。
同样,我们添加一个任何端口或服务的屏幕截图。转到“Attachment”选项卡,点击“Add”按钮,选择要上传的文件。
点击“upload”将文件上传到dradis
双击上传后的图片,会在新的标签页中打开。
类似的,我们可以上传Nessus, Burp, Nikto, Owasp ZAP等的扫描结果。
要上传burp的扫描结果到Dradis,点击“import file from…”按钮,从下拉框中选择“BurpUpload”,浏览并选择要上传的文件。
点击”Open”按钮,dradis会自动验证和解析文件。
解析完毕之后上传。我们可以在“Burp Scanner results“看到burp的扫描结果。
我们可以移动整个文件夹到“Application Scan”文件夹下的“burp”子文件夹。
用同样的方法上传Nessus扫描的结果。
Drais可以根据上传的结果导出报告。不幸的是doc或pdf格式只在pro版才可导出,社区版只允许导出Html格式。
要了解更多关于专业版的特性,可以访问:http://securityroots.com/Dradispro/editions.html
下面将会演示如何导出Html报告。
1、选择要在报告中包含的问题。右键单击“Category”中选择“Assign to…”,然后单击“HTML Export ready”选项。这显示在下面的截图。
这个问题的类别变更为“HTML Export ready”,如下面的屏幕截图。
2、一旦你已经囊括了所有你要在报告中包含的问题,请单击“export”按钮,选择“HTML export”选项。新的标签将会打开HTML报告。
下面这个列表显示了dradis支持的工具和可接受的格式。
Magic Tree
Magic Tree类似于Dradis数据管理和报告工具。它被设计成方便和直接的数据整合,查询,外部命令的执行和报告生成。这个工具是预装在Kali Linux中位的“Reporting Tools”的范畴。它遵循树节点结构来管理主机和相关数据。在接下来的几个步骤中,我们将学习如何使用magic tree。
启动Kali Linux的工具。点击“Applications”,转到“Reporting Tools”,然后点击“Magic tree”。
File->Open,选择要上传的文件
Magic Tree将映射所有的数据到树节点结构。
扩展单个节点,我们可以进一步看到数据。
Magic tree允许查询已经收集的数据,执行给定的shell命令。
有不同的方法用来查询数据。
Q*:选择与当前所选节点相同类型的所有节点的查询。例如,如果我们选择的操作系统,然后点击“Q *”按钮,它会列出类型为“OS”的所有节点。从下面的截图中,我们可以看到所有与OS细节有关的节点。
可以选择要查询的字段(在“Tab View”选项卡中突出显示为红色)。我们可以按我们的要求修改查询。
同样,如果我们选择的“OS”,然后点击“Q1”按钮,它会列出所有类型为“OS”和文本内容为“MicroSoft Windows 7”的节点。从下面的截图中,我们可以看到所有有着相同操作系统的主机。
我们可以通过这种方式提取所需要的数据。
Magic tree一个更为独特的特征是能够从用户界面上运行Nmap。右键单击“test data”结点,点击“create child”,然后点击“simple node”选项。
进入Host详情,然后按回车。
现在点击“Q1”查询按钮,在“Command”字段中输入下列Nmap的命令,然后点击“Run”按钮。
nmap扫描现在已经开始。我们可以在屏幕的左下方看到一个新创建的任务,而上突出显示部分显示任务的状态。
我们可以进入控制台,并通过单击“Console”按钮,检查扫描状态。
一旦扫描完成后,我们可以在“task”节点看到日志和XML输出。
将结果合并到当前的树中,单击“xmlData”,然后单击“merge XML data”按钮。
扫描的结果被添加到主机“65.61.137.117”,如下面的屏幕截图。
Magic tree有能够生成Word格式报告的选项。要生成报告,选择一个节点,定位到“report”,然后点击“generate report …”选项。
选择报告导出的位置。
导出的报告如下。
Magic Tree vs. Dradis
这两个工具被开发用来解决类似的一系列合并数据的问题,和生成报告。Magic Tree和Dradis还可引入不同的渗透测试工具产生的数据,手动添加数据和生成报告。两个工具按照树结构来存储数据。
这两个工具之间的详细区别下面给出。
Metagoofil
Metagoofil是一种信息收集工具,用于提取属于目标公司公开的文件(PDF,DOC,XLS,PPT,DOCX,PPTX,XLSX)的元数据。这是Kali Linux框架下的报表工具的一部分。它可以通过扫描获得的文件给予很多重要的信息。它可以根据提取元数据的生成HTML报告,再加上潜在的用户名列表对暴力破解开放的服务,如FTP、Web应用程序、VPN、POP3等非常有用。这些类型的信息对渗透测试人员在安全评估的信息收集阶段时很有帮助。
按如下步骤使用mategoofil:
1、使用谷歌搜索引擎搜索目标网站指定的文件类型。
2、下载所有找到的文件。
3、提取下载的文件的元数据。
4、保存结果为HTML文件。
在这里,我们将学习如何使用Metagoofil并生成渗透测试报告。
第1步:启动Kali Linux虚拟机。默认metagoofil不存在于Kali Linux。输入以下命令在Kali Linux上安装metagoofil。
```Apt-get install metagoofil```
第2步:安装完成后运行以下命令来查看metagoofil可用的选项。
```metagoofil```
第3步:使用如下命令运行metagoofil
`metagoofil -d target.com -t pdf,doc,ppt -l 200 -n 5 -o /root/Desktop/metagoofil/ -f /root/Desktop/metagoofil/result.html`
让我们来了解命令的详细信息:
-d 指定目标域。
-t 来指定要metagoofil找到并下载文件类型。
-l 限制结果的搜索。缺省情况下,它被设置为200。
-n 指定要下载的文件的数量。
-o 指定一个目录来保存下载文件。
-f 输出文件的名称和位置。
第4步:实战,我们使用metagoofil扫描:www.owasp.org
```metagoofil -d owasp.org -t pdf,doc,ppt -l 200 -n 5 -o /root/Desktop/metagoofil/ -f /root/Desktop/metagoofil/result.html```
如下图所示,metagoofil开始寻找给定类型的文件。该工具总共发现115扩展名为.pdf的文件。由于要下载的文件数量设置为5,metagoofil对于每个扩展名只下载五个文件。
第5步:进入“/root/Desktop/metagoofil”目录,找到下载的文件。
第6步:打开result.html文件。此文件包含从指定网站提取的数据。
这包括以下数据:
用户名
软件版本开发的文件
电子邮件
服务器和路径
文件分析
该result.html文件可以使用像w3m的一个命令行工具打开。 w3m的是Linux终端的Web浏览器。默认情况下,它不存在于Kali Linux操作系统。要安装w3m的使用下面的命令:
Apt-get install w3m
安装完成后,运行以下命令,使用w3m打开HTML报告:
w3m /root/Desktp/metagoofil/result.html
从上面的结果,我们得到了很多敏感信息比如可以尝试暴力破解用户名的密码,找到对应版本软件的可利用漏洞,路径信息可以用来猜测被目标所使用的操作系统类型。
结论
虽然magic tree和Dradis很相似,他们有自己的优点和缺点。基于个人的要求选择工具。这两种工具可以合并使用方便项目的管理。在另一方面,Metagoofil是一个非常强大的工具,提取从公开的文件元数据并生成一个包含用户名列表,文件路径,软件版本,电子邮件ID等重要信息的报告,可以在渗透测试的不同阶段使用。
引用
http://www.gremwell.com/what_is_magictree
http://www.gremwell.com/magictree_vs_dradis