渗透测试快速启动指南(全)(2)https://developer.aliyun.com/article/1525465
OpenVAS 管理
在上一节中,您看到了如何通过下载现成的虚拟机设置来设置 OpenVAS。现在,在进入实际的扫描部分之前,您需要设置一些东西作为管理的一部分。
订阅源更新
提要是 OpenVAS 绝对必要的组成部分。如果您的 OpenVAS 设置有旧的提要,那么您可能会错过检测最新的漏洞。因此,在开始任何扫描之前准备好最新的提要是至关重要的。要检查当前的馈送版本,请转到附加➤馈送状态,如图 2-11 所示。您可以看到提要已经 54 天没有更新了。
图 2-11
OpenVAS 订阅源状态,包含过期的订阅源
要更新提要,您可以到终端键入命令openvas-feed-update
,如图 2-12 所示。只要确保你有一个活跃的互联网连接来更新源。
图 2-12
更新 OpenVAS 漏洞源
订阅源更新需要一些时间;完成后,您可以再次进入 OpenVAS web 界面并检查提要状态。现在你应该看到进给状态是当前的,如图 2-13 所示。
图 2-13
OpenVAS feed 状态,已更新
用户管理
OpenVAS 工作在客户机-服务器架构中,多个用户可以连接到一个中央服务器。因此,创建和管理用户和组非常重要。在创建用户之前,您需要准备好一些用户组。要创建新的 OpenVAS 用户组,请进入管理➤用户组,如图 2-14 所示。
图 2-14
OpenVAS 用户管理控制台
创建和配置所需的组后,您可以创建新用户,并根据他们的权限级别将他们分配到特定的组。要创建新用户,请进入管理➤用户,如图 2-15 所示。
图 2-15
向 OpenVAS 添加新用户
虽然 OpenVAS 允许您在本地创建和管理用户,但它也允许您使用轻量级目录访问协议(LDAP)进行集中式用户管理。可以通过转到管理➤ LDAP 来配置 LDAP 设置,如图 2-16 所示。
图 2-16
LDAP 认证的 OpenVAS 配置
类似地,OpenVAS 也可以配置为针对 RADIUS 服务器进行身份验证。可以在管理➤ RADIUS 配置 RADIUS 服务器设置,如图 2-17 所示。
图 2-17
RADIUS 身份验证的 OpenVAS 配置
仪表盘
OpenVAS 有一个丰富的仪表板,默认情况下是它的主页。仪表板提供了任务、主机、nvt 等的集中视图,如图 2-18 所示。每个人口统计可以导出为 CSV 格式。
图 2-18
带有人口统计数据的 OpenVAS 仪表板
调度程序
在企业环境中,可能会发生需要在工作时间以外运行扫描的情况。在这种情况下,OpenVAS 调度程序非常方便。调度程序可在配置➤调度时访问,并可用于在特定时间触发扫描,如图 2-19 所示。
图 2-19
OpenVAS 扫描计划程序
垃圾桶
如果您碰巧删除了 OpenVAS 中的任何实体,然后需要恢复它们,可以通过垃圾桶恢复它们。您可以在 Extras ➤垃圾桶处获取,如图 2-20 所示。
图 2-20
用于查看和恢复已删除项目的 OpenVAS 垃圾桶
帮助
虽然 OpenVAS 中的大多数任务都很简单,很容易找到,但您可能需要一些特定主题的帮助。OpenVAS 有全面的帮助文档,您可以在帮助➤目录中访问,如图 2-21 所示。
图 2-21
OpenVAS 帮助内容
漏洞扫描
现在,您已经设置了 OpenVAS 并使用更新的提要运行,您可以开始扫描活动目标了。在这里,您将首先尝试扫描一个 Linux 系统。登录 OpenVAS web 界面,如图 2-22 所示。
图 2-22
OpenVAS 登录页
下一步是创建新的扫描任务。要创建新的扫描任务,请转到扫描➤任务,如图 2-23 所示。
图 2-23
OpenVAS 仪表板和任务向导
现在,您可以选择启动一个简单的任务向导,或者使用一个提供更多扫描灵活性的高级任务向导。现在,您将从简单任务向导开始,如图 2-24 所示。你需要做的就是输入目标 IP 地址,然后点击开始扫描。
图 2-24
在 OpenVAS 中启动新的漏洞扫描
注意,OpenVAS 有几个预定义的扫描配置文件。根据具体要求,您可以选择以下扫描配置文件之一:
- 发现
- 完整和快速
- 完整快速终极版
- 饱满而且非常深
- 完整和非常深刻的终极
- 主机发现
- 系统发现
对于默认扫描,选择完整和快速配置文件。
扫描开始,你可以看到扫描状态被设置为正在运行,如图 2-25 所示。如果需要,扫描的“处理措施”选项卡提供了暂停和恢复扫描的各种方法。
图 2-25
OpenVAS 任务状态仪表板
扫描完成后,您可以转到“扫描➤结果”查看扫描过程中发现的漏洞,如图 2-26 所示。现在扫描已经完成,您只需在 OpenVAS web 控制台中查看扫描结果,或者以您选择的格式下载一份综合报告。
图 2-26
OpenVAS 扫描结果
也可以过滤掉漏洞结果。例如,您可能只想查看与 HTTP 相关的漏洞。只需转到扫描➤结果,在过滤选项卡上,输入过滤标准,如图 2-27 所示。
图 2-27
OpenVAS 扫描结果和过滤器
OpenVAS 附加设置
到目前为止,您已经看到了如何设置 OpenVAS 虚拟机并开始进行漏洞扫描。OpenVAS 是一个灵活的漏洞管理系统,提供了很多定制。本节讨论一些额外的 OpenVAS 设置,您可以根据自己的需求选择配置。
表演
OpenVAS 当然是一个资源密集型工具。它会消耗大量内存和 CPU。因此,在扫描大量系统时,关注其性能是值得的。要查看性能数据,请进入 Extras ➤性能,如图 2-28 所示。您可以通过筛选日期来查看自定义时间段的性能数据。
图 2-28
OpenVAS 资源和性能管理摘要
CVSS 计算器
通用漏洞评分系统(CVSS)是许多安全产品用来计算漏洞严重性的基准。CVSS 在计算漏洞分数之前会考虑多个参数。OpenVAS 提供了一个现成的 CVSS 计算器,您可以使用它来计算漏洞分数。您可以在 Extras ➤ CVSS 计算器访问 CVSS 计算器,如图 2-29 所示。你可以在 https://www.first.org/cvss/
找到更多关于 CVSS 的细节。
图 2-29
OpenVAS CVSS 计算器
设置
OpenVAS 是一个高度可配置的系统,有许多设置。在一个地方获得所有设置及其值的概述会非常有用。您可以进入 Extras ➤我的设置,如图 2-30 所示,了解到目前为止配置的设置概况。
图 2-30
OpenVAS 管理设置
报告
到目前为止,您已经学习了如何有效地使用 OpenVAS 扫描目标系统。扫描完成后,下一个重要步骤是生成详细的报告。拥有一份全面的报告极其重要,因为它将帮助管理员修复已发现的漏洞。OpenVAS 支持多种报告格式,如下所示:
- 匿名 XML
- 汪
- 客户终端设备(Customer Premise Equipment 的缩写)
- CSV 主机
- CSV 结果
- 超文本标记语言
- 重复测试生成程序
- 乳液
- 近带边
- 便携文档格式
- 拓扑 SVG
- 文本文件(textfile)
- ISM Verinices
- ITG Verinices
- 可扩展置标语言
要生成所需格式的报告,进入扫描➤报告,从下拉菜单中选择格式,点击旁边的向下箭头下载报告,如图 2-31 所示。
图 2-31
导出扫描结果
该报告包含详细的漏洞信息,如图 2-32 所示。
图 2-32
OpenVAS HTML 扫描报告
对于每个已识别的漏洞,报告包含以下详细信息:
- 摘要
- 漏洞检测结果
- 影响
- 解决办法
- 受影响的软件/操作系统
- 漏洞洞察
- 漏洞检测方法
- 产品检测结果
- 参考
摘要
本章为您提供了 OpenVAS 的基本概述,从它的设置到使用它执行漏洞评估。下一章将向您介绍通用的 Metasploit 框架,并帮助您理解 NMAP 和 OpenVAS 如何与 Metasploit 集成。
自己动手做练习
- 在 VirtualBox 或 VMware 中设置 OpenVAS。
- 使用 OpenVAS 扫描一台 Windows 主机和一台基于 Unix 的主机。
- 生成 HTML 和 PDF 格式的漏洞报告。
三、渗透测试指南
前两章介绍了 NMAP 和 OpenVAS,您可以使用它们来执行信息收集、枚举和漏洞评估。接下来,本章将介绍 Metasploit 的基础知识,这将帮助您完成渗透测试生命周期的剩余阶段。具体来说,本章包括以下内容:
- Metasploit 简介
- Metasploit 结构概述
- 基本命令和配置
- 从 Metasploit 调用 NMAP 和 OpenVAS 扫描
- 使用 Metasploit 扫描服务
- 仪表首选基础
Metasploit 简介
Metasploit 发布于 2003 年,当时 H.D Moore 用 Perl 开发了一个可移植的网络工具。在 2007 年,使用 Ruby 对其进行了修订。当 Rapid 7 在 2009 年收购 Metasploit 项目时,该项目获得了商业认可和普及。
Metasploit 不仅仅是一个工具。这是一个完整的框架。它非常健壮和灵活,有大量的工具来执行各种简单和复杂的任务。它有一种独特的能力来执行渗透测试生命周期中几乎所有的任务。通过使用 Metasploit,您不需要重新发明轮子;您只需要关注渗透测试的目标,所有的支持行为都可以使用框架的不同组件来执行。
虽然 Metasploit 功能强大,但是您需要清楚地了解它的结构和组件,以便有效地使用它。
Metasploit 有三个可用版本。
- metasploit pro
- Metasploit 社区
- Metasploit 框架
对于本书的范围,我们将使用 Metasploit 框架版本。
元质体的解剖和结构
在开始实际的框架命令之前,首先需要理解 Metasploit 的结构。了解整个 Metasploit 结构的最好和最简单的方法就是浏览它的目录。在 Kali Linux 中,Metasploit 默认位于/usr/share/metasploit-framework
,如图 3-1 所示。
图 3-1
Metasploit 目录结构
您可以看到 Metasploit 有一个定义良好的结构,将它的各种组件分成不同的类别。
在高层次上,Metasploit 可以被可视化,如图 3-2 所示。
图 3-2
Metasploit 的各种组件
助动词
辅助是使 Metasploit 如此灵活的模块。Metasploit 辅助只不过是专门为执行任务而编写的一段代码。例如,您可能想要检查特定的 FTP 服务器是否允许匿名访问,或者您的 web 服务器是否容易受到 heartbleed 攻击。对于所有这些任务,都有一个辅助模块。
事实上,Metasploit 有 1000 多个辅助模块,分为 19 个类别。以下是 Metasploit 中可用的辅助类别:
| 管理 | 分析 | Bnat 公司 |
| 客户 | 爬行者 | 文档 |
| 两个 | 文件格式 | 福尔扎尔斯!福尔扎尔斯!福尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔扎尔 |
| 聚集 | 句法分析程序 | 可移植文档格式文件的扩展名(portable document format 的缩写) |
| 扫描仪 | 计算机网络服务器 | 嗅探器 |
| 愚弄 | 炒 | (同 VoiceoverInternetProtocol)网络电话 |
| 汉化版 | | |
有效载荷
您已经了解到,漏洞是用来攻击易受攻击组件的一段代码。漏洞利用代码可能会成功运行,但是一旦漏洞利用成功,您希望发生什么是由有效负载定义的。简单来说,有效载荷是在执行一个漏洞利用后需要执行的动作。例如,如果您想为您的系统创建一个反向 shell,那么您需要为此选择适当的 Metasploit 有效负载。Metasploit 大约有 42 个有效负载,分为以下类别:
| 挑选 | 陌生人 | 阶段 |
利用
漏洞是 Metasploit 极其重要的一部分。该框架的整个目的是为各种漏洞提供利用。漏洞利用是将在目标系统上执行以利用漏洞的实际代码。Metasploit 在 17 个类别中有超过 1,800 个漏洞。
以下是 Metasploit 中可用的各种攻击类别:
| [计]高级交互执行程序(Advanced Interactive Executive) | 机器人 | 苹果公司 |
| bs 迪 | 拨号上网 | 火狐浏览器 |
| 操作系统 | 问题 | 伊里克斯 |
| Linux 操作系统 | 主机 | 多(前缀) |
| novell 公司出的网络操作系统 | 系统 | 操作系统 |
| Unix 操作系统 | Windows 操作系统 | |
编码器
Metasploit 帮助您生成各种各样的负载,您可以通过多种方式将这些负载发送到目标。在此过程中,您的有效负载很可能会被目标系统上的防病毒软件或任何安全软件检测到。这就是编码器能有所帮助的地方。编码器使用各种技术和算法来混淆有效载荷,使其不被防病毒软件检测到。Metasploit 有大约 40 个编码器,分为十类,如下所示:
| 煤矿管理局 | 一般的 |
| 米普斯贝 | 简单的 |
| 服务器端编程语言(Professional Hypertext Preprocessor 的缩写) | 告别… |
| 红宝石 | 平流层过程及其在气候中的作用 |
| X64 | X86 |
开采后活动(Post)
一旦您使用任何可用的漏洞获得了对目标系统的基本访问权限,您就可以使用 post 模块来进一步渗透目标系统。这些模块可帮助您完成所有开发后活动,包括以下内容:
- 将用户权限提升至 root 或管理员
- 正在检索系统凭据
- 窃取 cookies 和保存的凭据
- 捕获目标系统上的击键
- 执行自定义 PowerShell 脚本以执行其他任务
- 使访问持久
Metasploit 有大约 311 个开发后模块,分为以下 11 个类别:
| [计]高级交互执行程序(Advanced Interactive Executive) | 机器人 |
| 加拿大白鲑 | 火狐浏览器 |
| 五金器具 | 杜松 |
| Linux 操作系统 | 多(前缀) |
| 系统 | 操作系统 |
| Windows 操作系统 | |
基本命令和配置
现在您已经了解了 Metasploit 的基本结构和剖析,可以开始使用它的接口了。要访问 Metasploit,打开终端,键入命令msfconsole
,如图 3-3 所示。
图 3-3
MSFconsole 的初始屏幕
帮助
一旦你打开了 MSFconsole,你就可以使用help
命令获得所有基本命令的信息,如图 3-4 所示。
图 3-4
MSFconsole 中 help 命令的输出
版本
漏洞很快就会被发现,相应的漏洞利用代码通常也会很快发布。因此,Metasploit 保持最新并拥有最新的漏洞利用代码集是非常重要的。为了确保框架版本是最新的,可以使用version
命令,如图 3-5 所示。然后,您可以将这个版本与 Metasploit Git 存储库中可用的版本进行比较。
图 3-5
MSFconsole 中 version 命令的输出
渗透测试快速启动指南(全)(4)https://developer.aliyun.com/article/1525468