《高度安全环境下的高级渗透测试》—第1章1.7节Dradis框架介绍

简介:

本节书摘来自异步社区《高度安全环境下的高级渗透测试》一书中的第1章1.7节Dradis框架介绍,作者【英】Lee Allen,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.7 Dradis框架介绍
Dradis框架是一个Rails应用程序,它可以用于管理在渗透测试时出现的数据过载情况。Dradis基于Web的用户界面体验良好,它简化了渗透测试周期的数据收集过程,并且能够将数据方便地分享给团队其他成员。

在结合不同的数据源,例如Nmap、Nessus,甚至Metasploit时,你通常需要构造某种数据库,然后使用各种方法管理导入的数据。Dradis可以让你单击几下鼠标,就能通过插件导入这些数据。Dradis也允许你上传附件(例如截图),或将你自己的注释添加至数据库中。


f5270db19e06d5a3d3d2d9390b78b389a06091b0

Dradis框架可以安装在Linux、Windows或OSX上。
Dradis服务器可以通过单击快捷方式Applications | BackTrack | Reporting Tools | Evidence Management | Dradis,或在终端输入以下内容来开启:
# cd /pentest/misc/Dradis/
#./start.sh

一旦服务开启,你需要打开你的浏览器并输入https://127.0.0.1:3004,这将进入Dradis应用程序的介绍界面。


f5270db19e06d5a3d3d2d9390b78b389a06091b0

由于证书是自签署的,所以浏览器会向用户提示警告消息。将证书添加至你的例外列表中并继续。你可能也想在 No Script 浏览器插件中选择Allow 127.0.0.1。
你将看到“What is Dradis”欢迎界面.为了设置服务器共享密码,你需要单击页面右上角的back to the app链接。图1.15是设置密码页面的截图。

99e4c1e965643a040410cf6f3e9d0c29d33d7816

Dradis框架使用了可以供所有团队成员共享的密码。在Password区域中输入你选择的密码。

f5270db19e06d5a3d3d2d9390b78b389a06091b0
永远不要重复使用密码!
单击Initialize按钮继续。这将建立新密码并接受默认元服务器(Meta-Server)选项。

你现在可以在Login字段选择一个新的用户名。用户登录作为信息使用,它不会影响工作区域。在Password区域输入共享的服务密码。一旦你单击Log in按钮,Dradis主工作区域就会出现。用户名及密码输入页面如图1.16所示。


0c2e7cd5dc073f4c3233bd0ebcbd7056b1384406

我们将通过创建一个新分支来设置个Dradis环境,该分支将代表我们的渗透测试工作。这些分支可以基于用户创建的标准来管理检测结果

1.在程序窗口顶部的工具栏中单击add branch按钮。

2.你可以为新的分支重命名。使用PracticePenTest重写branch #2,并按Enter键。

3.右键单击PracticePenTest并选择add child来分级。

4.试验一下并添加几个文件夹,然后思考你将如何安排你的数据,以方便访问和易于管理。

图1.17是一个项目树示例,假定该项目树在渗透测试期间用来收集数据。


557c8d1cc727012dc74b77b007f23dcce37bc8bf

1.7.1 导出一个项目模板
测试包含一系列计划好的阶段和过程这些阶段计划在不同测试情况下变化不大。为了充分利用这一事实,我们将创建一个可重复利用的模板。

在选择好PracticePenTest节点后,在顶部菜单栏上单击export图标。当展开Project export菜单时,将看到As template选项。单击该选项可以将项目模板以XML文件的形式存储到我们需要的位置。导出操作如图1.18所示。


6dfebb10d778a2f0cbc444aedb1250e426234a6c

将文件保存到你的BackTrack Desktop文件夹并使用默认名dradis-template.xml。返回你的Dradis Web应用窗口,选择PracticePenTest节点,右键单击,然后(在弹出的菜单中)选择Delete node,将其删除。

1.7.2 导入一个项目模板
PracticePenTest节点伴随着剩下的数据一起删除了。现在是我们重新利用它的时候了,我们需要导入dradis-template.xml文件。单击菜单栏中的Import from file选项,然后选择old importer。从下拉菜单中选择Project template upload,单击Upload完成导入程序,一旦你的屏幕刷新,将会有两个新的文件夹出现:一个文件夹名为Upload files,另一个自然就是原来的PracticePenTest节点结构。具体操作如图1.19所示。


ce937586e27ef603d60bb6f150c1424893fa4cdf

1.7.3 准备导入样本数据
为了完全领会Dradis框架的价值,我们将使用一些在渗透测试和漏洞测试中常用的工具来产生一些测试数据。大多数人应该比较熟悉这些工具,所以这里不会深入讨论这些工具。

要是BT5_R1_Tester1还没有启动,我们首先要做的就是立刻让它跑起来。一旦你登录到BackTrack客户端主机并通过startx命令打开了用户图形界面,那么在顶部菜单栏单击终端图标就会启动一个新的终端会话。用户图形界面如图1.20所示。


43a682c716fbac556f467c078041f271bf53c05e

你可能已经注意到,自己在以root身份运行,因为很多工具都需要管理员权限才能正常运行。
将目录更改为Desktop,然后自己创建一个名为testData的新目录。这里将存储一些将要使用的导出文档。将你的当前工作目录更改为/Desktop/testData。
# cd Desktop/
# mkdir testData
# cd testData/

现在我们将使用Nmap生成数据,扫描生成的数据随后会导入到Dradis中:

nmap -vv -O -sS -A -p- P0 -oA nmapScan 127.0.0.1
该命令会初始化Nmap,使其扫描本地主机,并命令结果保存成三个格式的文件:XML文件、标准文件、grepable文件。由于没有指定目录,所以文件将保存在当前工作目录下。我们进行了一个针对所有端口和操作系统版本检测的细致TCP SYN扫描,这个命令针对在线的所有主机。

导入你的Nmap数据
在Dradis Web控制台已经打开,而且PracticePenTest项目树已经加载之后,选择Import from file, old improter,然后在Import from file菜单中选择Nmap upload格式,然后单击Select a file:输入区域右边的文件夹图标,浏览并选择nmapScan.xml文件,然后单击Open。导入文件窗口如图1.21所示。


70cdc673773db8fa5a6efff065d05058a862cde5

单击Upload将完成导入。这需要一些时间来处理这些数据。处理时间与拥有的数据大小成正比。上传完成后如图1.22所示。

d10b473274c5b54a5f4f3b4c2fd85b3acc485baa

数据导入后会在树上增加一个新的节点,你可以将这个节点在PracticePenTest内进行任意移动,仅需要单击鼠标左键进行拖曳即可。将127.0.0.1的扫描结果放到PracticePenTest的逻辑结构中后,你可以轻松地将扫描结果与本次渗透测试和其他相关数据关联起来,如图1.23所示。

8ed5121421273042f595faa3da5099352929a4bc

1.7.4 将导出数据转成HTML格式
使用这种集中式数据收集一个好处是,你可以在注释上设置标记,让数据导出成PDF、MS Word或者HTML格式。

在Dradis启动和运行时,我们需要选择PracticePenTest节点,同时单击工作区项目树右边的Add note按钮,在弹出的编辑器中输入This is a note,然后单击Save。这就将你的注释添加至列表中了。


f5270db19e06d5a3d3d2d9390b78b389a06091b0

这些注释对你渗透测试的工作非常重要,你应该慎重考虑并清楚写明注释内容。避免注释仅在当前环境下起作用,因为你可能在几天后重新查看这些注释。
1.7.5 Dradis类别区域
你不会总是想将所有内容导出到你的报告中。为了解决这个问题,Dradis开发团队添加Category区域。这个区域将标记那些Dradis提供的各种格式的数据,这些数据有待导出。在此情况下,我们需要双击在“This is a note”右边列出的default category文本,在下拉菜单选择HTMLExport ready选项,见图1.24。

8d782337fed34ca1f01582b714c18af8b1c7f749

为了查看数据,在顶端工具栏选择export选项,并单击HTML export,你将得到所有以HTML格式输出的PracticePenTest注释文件,该文件在整个项目树中是HTMLExport类别的一个成员。

更改默认的HTML模板
可以看到,Dradis的输出非常友好,但如果你需要更多定制的输出呢?你可以通过更改标准模板,来定制(自定义)导出的格式,下面是如何更改文档脚的例子:

将当前工作目录更改为选择导出插件。在此情况下我们将修改html_export/template.html.erb文件。

# cd /pentest/misc/dradis/server/vendor/plugins/html_export

为了修改template.html.erb文件,我们将使用Nano,它是一个强大且易用的文本编辑器。

# nano template.html.erb

文件将显示在Nano文本编辑器中。如果需要参考的话,Nano的命令会显示在应用的底部。我们通过设置template.html.erb文件来使用HTML文件对模板进行小的修改。将

You can change this template to suite your needs.

放到<%= title %>行的下面。
<title><% = title %></title>
<h1>You can change this template to suite your needs. </h1>

在Nano中使用Ctrl+O保存你修改的文件并写到磁盘中。你将被问到用什么文件名来保存文件,你可以使用默认的文件名并在键盘上直接按Enter。

想查看改变是否生效,回到Dradis Web控制界面,选择PraticePenTest,然后单击工具栏的export→HTMLexport选项。你的新模板将被加载,在导出的报告中即可看到改变是否成功。模板是可以定制的,只要你付出一点努力并具备HTML技巧,你就能够定制自己想要的模板。


a6bc05acd62d0cbe14b4f54313f5c42264e41e28

请注意,MS Word导出功能需要你安装MS Office。

这表示在使用BackTrack下不能完全展示Dradis的性能。Word模板容易定制,使其包含公司信息,以你喜欢的格式列出数据并将标准页眉和页脚添加到文档中。

由于Dradis是使用起来非常方便如果你需要将数据导出到MS Word的功能,但是没有许可将它安装在BackTrack上,那么你可以将Dradis安装在一台安装了MS Office的Windows主机上,将Dradis项目从BackTrack中导出并重新导入Windows的Dradis中。

相关文章
|
28天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
86 8
|
1月前
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
|
3天前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
37 15
|
11天前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
121 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
24天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
56 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
29天前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
45 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
2月前
|
Java 测试技术 API
探索软件测试中的自动化框架选择####
在当今快节奏的软件开发周期中,自动化测试已成为确保产品质量与加速产品迭代的关键策略。本文深入剖析了自动化测试的核心价值,对比分析了市场上主流的自动化测试框架,旨在为项目团队提供选型时的考量因素及实践指南,助力高效构建适应未来变化的自动化测试体系。 ####
|
12天前
|
传感器 安全 物联网
阿里云先知安全沙龙(北京站) ——车联网安全渗透测试思路分享
本文介绍了智能汽车的整车架构、协议栈结构、攻击点分析、渗透思路及案例分享。整车架构涵盖应用层、协议层和物理层,详细解析各层次功能模块和通信机制。攻击点包括Wi-Fi、USB、NFC等,展示车辆通信接口和系统组件的安全风险。渗透思路从信息收集到系统内部探索,利用固件漏洞控制车辆功能。案例展示了网段隔离不足导致的SSH访问和OTA日志审计漏洞,揭示了潜在的安全威胁。
|
1月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
1月前
|
jenkins 测试技术 持续交付
自动化测试框架的搭建与实践
在软件开发领域,自动化测试是提升开发效率、确保软件质量的关键手段。本文将引导读者理解自动化测试的重要性,并介绍如何搭建一个基本的自动化测试框架。通过具体示例和步骤,我们将探索如何有效实施自动化测试策略,以实现软件开发流程的优化。
70 7