admin 管理员组

文章数量: 887006

原文:annas-archive/md5/AE7D7A4055A552F39A0E268CF613AE56

译者:飞龙

协议:CC BY-NC-SA 4.0

前言

即时渗透测试:建立测试实验室的方法是一本实用指南,将帮助您全面地处理实验室建设过程,并节省您练习和获取有用技能的时间。您将学习如何规划实验室架构,以及如何使用节省成本的解决方案轻松实现。

本书涵盖了什么

*理解渗透测试(必须知道)*展示了什么是渗透测试以及通常如何进行。

*规划实验室环境(应该知道)*展示了如何规划您的实验室环境。

*设置网络安全实验室(必须知道)*描述了设置实验室进行全面渗透测试的必要步骤。

*设置 WebApp 实验室(应该知道)*描述了设置实验室进行 Web 应用程序渗透测试的必要步骤。

*设置 Wi-Fi 实验室(高级)*描述了设置实验室进行 Wi-Fi 渗透测试的必要步骤。

*审查在线实验室门户(高级)*提供了在线渗透测试实验室的快速审查。

你需要为这本书做些什么

以下是所需软件的列表:

  • 虚拟化软件:

  • VMware Workstation 8

  • Windows 服务器:

  • Microsoft Windows Server 2008

  • Microsoft Windows Server 2003

  • Windows 工作站:

  • Microsoft Windows XP

  • Microsoft Windows 7

  • Linux 服务器:

  • Ubuntu Server 12.04LTS

  • 杂项工具:

  • XAMMP for Windows

  • Mozilla Firefox(旧版本)

  • Google Chrome(旧版本)

  • 苹果 Safari(旧版本)

  • Damn Vulnerable Web Application(DVWA)

以下表格提供了我们可以下载这些软件的 URL:

软件名称URL
VMwarewww.vmware
Microsoftwww.microsoft
Ubuntuwww.ubuntu/
XAMMPwww.apachefriends/en/xampp-windows.html
Mozilla Firefoxwww.mozilla/en-US/firefox/
Google Chromewww.google/chrome
DVWAwww.dvwa.co.uk/

以下是所需硬件的列表:

  • 基于具有两个或更多核心和至少 4GB RAM 的 CPU 的 PC

  • ASUS WL-520gc(或类似)无线路由器

  • 任何笔记本电脑作为攻击者的主机

  • 任何支持 Wi-Fi 的移动设备

这本书是为谁准备的

即时渗透测试:建立测试实验室的方法是为那些刚开始学习渗透测试并希望找到正确的开始和有效提高技能的人而写的。

惯例

在本书中,您会发现一些文本样式,用于区分不同类型的信息。以下是一些这些样式的示例,以及它们的含义解释。

文本中的代码词显示如下:“默认情况下,它是admin:admin。”

代码块设置如下:

# Limit access to localhost
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 127.0.0.1
</Limit>

任何命令行输入或输出都写成如下形式:

sudo apt-get –yu install vsftpd

新术语重要单词以粗体显示。您在屏幕上看到的单词,例如菜单或对话框中的单词,会在文本中显示为:“单击应用。”

注意

警告或重要提示会以这样的方式显示在框中。

提示

提示和技巧看起来像这样。

第一章:即时渗透测试:建立测试实验室的方法

欢迎来到即时渗透测试:建立测试实验室的方法。本方法包含了进行所有准备工作和建立自己的实验室来练习基础设施、网络和 Wi-Fi 渗透测试所需的必要信息和基本步骤。

了解渗透测试(必知)

这一部分包含了渗透测试的简要概述(它是什么,有哪些类型的渗透测试,典型的工作流程,以及你应该记住什么)。

让我们从定义渗透测试开始,快速回顾一下它的主要必知细节。根据NIST SP 800-115信息安全测试和评估技术指南,它的定义如下:

渗透测试是安全测试,评估者模拟真实世界的攻击,以识别绕过应用程序、系统或网络安全功能的方法。它通常涉及对使用攻击者常用的工具和技术的真实系统和数据发起真实攻击。

一般来说,渗透测试主要有两种类型:

  • 外部:这些测试是从测试区域(通常是网络)的外部进行的,并模拟潜在的外部威胁。

  • 内部:这些测试是从网络内部进行的,模拟潜在的内部入侵者,可能是一个能够连接到办公网络的访客(授权或未授权)或一个不忠诚的员工。

值得一提的是,外部渗透测试可以根据不同的标准进一步分为几种类型,有时是基于目标:

  • VPN 渗透测试

  • Web 应用程序渗透测试

  • Wi-Fi 渗透测试

重要的是要说,渗透测试的目标也可能各不相同。一些公司可能想要检查他们的网络漏洞,其他一些可能想要测试他们的安全解决方案的有效性,比如 IPS,还有一些可能需要测试他们的安全流程,比如监控和事件响应。此外,也有一些渗透测试是为了符合法规要求而必要的;例如 PCI DSS。这些目标决定了渗透测试的一般条件。渗透测试通常被分类如下:

  • 黑盒:渗透测试人员在测试之前没有任何关于目标的信息

  • 灰盒:渗透测试人员对目标基础设施有一些基本信息

  • 白盒:渗透测试人员拥有他所需的所有信息,并且能够在测试过程中向客户询问额外的信息

如何做…

每个人都应该知道,渗透测试工作流程包括以下四个阶段:

  • 规划

  • 发现

  • 攻击

  • 报告

规划和报告阶段通常在项目期间只进行一次,但发现和攻击阶段根据其结果可以进行多次迭代。以下是渗透测试工作流程的图表:

  1. 在规划阶段开始时,所有组织问题都会得到协商,所有批准都会得到,工作时间和日期都会确定,其他管理工作也会完成。渗透测试人员将在报告阶段使用所有这些信息。

  2. 发现是目标网络和系统数据挖掘的过程(IP 地址、开放端口、网络服务和版本、操作系统等),并根据获得的信息识别漏洞。数据挖掘是通过分析目标主机对外部交互的反应和响应来进行的。这种交互通常被称为枚举,可以通过自动化工具(扫描)或手动进行。

  3. 在发现阶段枚举之后的下一步是漏洞识别。与枚举过程类似,这一步可以是自动化的、非自动化的,或者在大多数情况下是混合的。自动化方法假定使用专门的软件工具,而非自动化方法意味着将在枚举过程中获得的目标软件版本与漏洞数据库进行比较,并分析数据输入后目标的行为。

一般来说,在发现阶段同时使用不同类型的扫描,如果没有避免入侵检测系统的目标。

  1. 实际上,下一个阶段是渗透本身,通过对目标系统上披露的漏洞进行不同类型的攻击来执行。成功利用后,您可以获得到达以前无法访问的其他系统的新路径。在这种情况下,渗透测试人员将返回到发现阶段,并为新获得的目标重复该过程。因此,发现和攻击阶段可能根据渗透测试人员和客户之间的范围和协议进行多次迭代。

  2. 最后,在报告阶段,渗透测试人员编制最终报告,其中包括所有组织项目细节,发现阶段收集的所有数据,以及攻击阶段的描述和获得的结果。

还有更多…

以下是一些重要的事项需要记住。

建立自己的实验室的常见原因

在开始规划和设置实验室之前,做一些准备工作并确定自己需要实验室的原因是个好主意。通常,渗透测试人员和信息安全专家有多种原因来建立自己的实验室,但在这里我想给你最常见的原因:

  • 这是练习专业渗透测试技能和获取更多关于测试的知识的最佳方式

  • 您在实验室中的所有练习都是合法的,因为您拥有并控制它,无需首先获得授权函LOA),因此没有违法风险

  • 这是一个完全受控的环境,其参数和配置可以以不同的方式进行更改,以尝试不同的工具和技术

  • 实验室可以用于准备工作环境;也就是,在笔记本电脑中配置软件工具和不同的模板,以用于渗透测试

  • 使用完全受控的实验室是发现和研究新软件漏洞的最佳方法之一

  • 信息安全机制和解决方案的有效性和性能也可以在实验室中进行研究和评估

重要的是要说,不同类型的渗透测试需要使用不同的方法和方法来执行特定任务。这就是为什么渗透测试人员必须逐步制定所有基本方法,不断控制实验室环境内发生的一切,并分析环境的反应。这就是为什么不断练习和学习是每个想成功执行项目的专业渗透测试人员所必需的两个过程。您可以使用实验室,既用于初始学习和技能练习,也用于后续对特定技术进行渗透测试,或者学习工具的新模式或功能。通过在实验室中设置所有适当的技术,可以实现后者。

同时,如果您是与客户合作的渗透测试人员,您可能会遇到客户网络中使用的各种不同软件和技术,对您来说熟悉它们并知道该怎么做是非常重要的。此外,在渗透测试期间,您可能会遇到对您来说是新的技术、机制或软件。因此,您显然需要在安全的实验室中学习和练习对它们进行黑客攻击,而不是在客户的生产系统上进行。

另一方面,如果您是一名信息安全官员或内部渗透测试人员,将在雇主公司的企业网络内执行测试,那么您必须测试渗透测试方法并计划其对目标系统和整个网络的影响(通过使用工具进行培训和研究),同时不会干扰或降低任何系统功能或性能。根据这种培训的结果,渗透测试人员通常可以调整特定工具或选择以最有效的方式与目标环境一起工作的工具。

更重要的是,整个渗透测试过程的速度和效果往往取决于渗透测试笔记本电脑中工具的设置有多好和舒适。然而,仅仅安装所有必要的工具是不够的 - 笔记本电脑的调整和加固是准备进行渗透测试的另一个重要活动。因此,实验室对于编写大多数常见脚本、配置代理和框架、识别网络连接参数等非常有用。

我还提到使用自己的实验室也是发现和研究新软件漏洞的好方法。许多信息安全研究人员出于这个原因使用他们自己的实验室。一般来说,研究过程通常包括以下步骤:

  1. 安装需要研究的感兴趣的软件。

  2. 使用特殊技术来发现漏洞;例如,模糊测试。

  3. 使用调试器或其他技术来研究漏洞并确定其参数。

  4. 了解漏洞利用的可能影响。

  5. 创建和测试概念验证PoC)以公开证明该漏洞是可利用的。

我想要提到设置自己的实验室的最后一个原因是评估信息安全机制和解决方案的有效性和性能。在这种情况下,实验室是有用的,因为您可以通过顺序应用不同的攻击技术和变化配置参数来研究安全设施的行为。使用实验室进行此类评估的一个重要优势是能够合法和安全地对信息系统和安全设施进行压力测试。

您应该记住的事情

在进行渗透测试时,您应该始终记住几条重要规则,以避免侵犯法律:

  • 为了避免任何法律问题,您应该始终获得客户的批准。LOA 是一种权威的许可,使渗透测试合法化。LOA 应由适当的当局发放,非常明确地界定了渗透测试的范围(实际上是什么要测试),并且必须包含来自客户的确认,他真正拥有范围内的所有资产。

  • 就像在每次信息安全审计或评估中一样,您还应该在开始渗透测试项目之前与客户协商保密协议NDA)。该协议限制了双方的信息披露,因此客户可以放心地保存其信息的机密性,而您则可以确保您的方法的隐私性。

  • 重要的是要协商组织细节,如特定的测试时间窗口(确切的日期和时间)、必要的联系人以及在意外目标系统故障的情况下的事件响应程序。

额外阅读

如果您想深入了解渗透测试过程及其细节,可以查看以下内容:

  • NIST SP 800-115信息安全测试和评估技术指南

  • Hacking Exposed 7: Network Security Secrets & Solutions,作者Stuart McClureJoel ScambrayGeorge Kurtz2012

  • www.pentest-standard

规划实验室环境(应该知道)

本节揭示了如何逐步规划您的实验室环境,并显示了在实验室规划过程中应考虑的内容。

准备工作

为了在设置实验室后获得最佳结果,您应该首先进行适当的规划。您的实验室将用于练习特定的渗透测试技能。因此,为了正确规划您的实验室环境,您应该首先考虑根据*了解渗透测试(必须知道)*食谱中列出的想法和原因,您想要练习哪些技能。尽管您也可能有非常规或甚至独特的原因来建立实验室,但我可以为您提供一个平均技能清单,您可能需要练习:

  • 基本技能

  • 发现技术

  • 枚举技术

  • 扫描技术

  • 网络漏洞利用

  • 特权升级

  • OWASP 十大漏洞发现和利用

  • 密码和哈希攻击

  • 无线攻击

  • 额外技能

  • 修改和测试利用

  • 隧道

  • Fuzzing

  • 漏洞研究

  • 记录渗透测试过程

所有这些技能都应用于现实生活中的渗透测试项目,取决于其深度和渗透测试人员的资质。以下技能可以在三种实验室类型或它们的组合中进行练习:

  • 网络安全实验室

  • Web 应用实验室

  • Wi-Fi 实验室

我应该提到,列出的三种实验室类型的实验室规划过程由相同的四个阶段组成:

  1. 确定实验室环境要求:这个阶段帮助您真正理解您的实验室应该包括什么。在这个阶段,应列出所有必要的实验室环境组件,并评估它们对练习不同渗透测试技能的重要性。

  2. 确定实验室环境规模:应该在这个阶段定义各种实验室环境组件的数量。

  3. 确定所需资源:这个阶段的重点是选择哪些硬件和软件可以用于构建具有指定参数的实验室,并使其与您实际拥有或能够获得的内容相匹配。

  4. 确定实验室环境架构:这个阶段设计网络拓扑和网络地址空间。

如何做到…

现在,我想逐步描述如何使用以下四阶段方法规划前一节列出的所有三种实验室类型的常见实验室:

  1. 确定实验室环境要求

为了达到我们的目标并练习特定的技能,实验室应包含以下组件:

练习的技能必要的组件
发现技术具有各种操作系统的几个不同主机防火墙 IPS
枚举技术
扫描技术
网络漏洞利用
OWASP 十大漏洞发现和利用Web 服务器 Web 应用数据库服务器 Web 应用防火墙
密码和哈希攻击工作站服务器域控制器 FTP 服务器
无线攻击无线路由器 Radius 服务器笔记本电脑或任何其他带有 Wi-Fi 适配器的主机
修改和测试利用任何主机易受攻击的网络服务调试器
特权升级任何主机
隧道几个主机
Fuzzing任何主机易受攻击的网络服务调试器
漏洞研究
记录渗透测试过程专业软件

现在,我们可以列出我们的组件清单,并定义每个组件对我们实验室的重要性(重要性范围在不太重要,附加,和最重要,必要):

组件重要性
Windows 服务器重要
Linux 服务器重要
FreeBSD 服务器额外
域控制器重要
Web 服务器重要
FTP 服务器重要
网站重要
Web 2.0 应用程序重要
Web 应用程序防火墙额外
数据库服务器重要
Windows 工作站重要
Linux 工作站额外
笔记本电脑或任何其他带有 Wi-Fi 适配器的主机重要
无线路由器重要
半径服务器重要
防火墙重要
IPS额外
调试器额外
  1. 确定实验室环境规模

在这一步中,我们应该决定我们实验室中每个组件的实例数量。我们只会计算必要和重要组件的数量,所以让我们排除所有额外的组件。这意味着我们现在有以下数量:

组件数量
Windows 服务器2
Linux 服务器1
域控制器1
Web 服务器1
FTP 服务器1
网站1
Web 2.0 应用程序1
数据库服务器1
Windows 工作站2
带有 Wi-Fi 适配器的主机2
无线路由器1
半径服务器1
防火墙2
  1. 确定所需资源

现在,我们将讨论所需的资源:

  • 服务器和受害者工作站将是基于 VMWare Workstation 8.0 的虚拟机。为了无需任何麻烦地运行虚拟机,您需要具有基于具有两个或更多核心的 CPU 和至少 4GB RAM 的适当硬件平台。

  • Windows 服务器操作系统将在 Microsoft Windows 2008 Server 和 Microsoft Windows Server 2003 下运行。

  • 我们将使用 Ubuntu 12.04 LTS 作为 Linux 服务器操作系统。工作站将在 Microsoft Windows XP SP3 和 Microsoft Windows 7 下运行。

  • ASUS WL-520gc 将用作 LAN 和 WLAN 路由器。

  • 任何笔记本电脑作为攻击者的主机。

  • 三星 Galaxy Tab 作为 Wi-Fi 受害者(或其他支持 Wi-Fi 的设备)。

我们将使用免费软件作为 Web 服务器、FTP 服务器和 Web 应用程序,因此不需要任何硬件或财务资源来满足这些要求。

  1. 确定实验室环境架构

现在,我们需要设计我们的实验室网络并绘制一个方案:

地址空间参数:

  • DHCP 服务器:192.168.1.1

  • 网关:192.168.1.1

  • 地址池:192.168.1.2-15

  • 子网掩码:255.255.255.0

工作原理…

在第一步中,我们通过确定可以用于练习以下技能的内容来发现我们需要哪些类型的实验室组件:

  • 所有操作系统和网络服务都适用于练习发现、枚举和扫描技术,也适用于网络漏洞利用。我们还需要至少两个防火墙 - Windows 内置软件和路由器内置防火墙功能。

  • 防火墙对于学习不同的扫描技术和防火墙规则检测知识是必要的。此外,您可以使用任何 IPS 来练习规避技术。

  • Web 服务器、网站和 Web 应用程序对于学习如何揭露和利用 OWASP TOP 10 漏洞是必要的。虽然Web 应用程序防火墙WAF)不是必需的,但它有助于提高 Web 渗透测试技能到更高的水平。

  • FTP 服务理想情况下用作练习密码暴力破解的方式。微软域服务是必要的,以了解和尝试 Windows 域密码和哈希攻击,包括中继。这就是为什么我们至少需要一个具有远程密码验证的网络服务,以及至少一个具有两个 Windows 工作站的 Windows 域控制器。

  • 无线接入点对于执行各种无线攻击是必要的,但最好将 LAN 路由器和 Wi-Fi 接入点合并在一个设备中。因此,我们将使用一个带有多个 LAN 端口的 Wi-Fi 路由器。半径服务器对于练习具有 WPA-Enterprise 安全性的 WLAN 上的攻击是必要的。

  • 笔记本电脑和平板电脑配备任何 Wi-Fi 适配器将作为无线攻击中的攻击者和受害者。

  • 隧道技术可以在任何两台主机上进行实践;无论我们使用 Windows 还是其他操作系统都无所谓。

  • 测试和修改漏洞利用以及模糊和漏洞研究需要在易受攻击的主机上安装调试器。

  • 为了正确记录渗透测试过程,可以使用任何测试处理器软件,但也有一些专门的软件解决方案,可以让事情变得更加舒适和简单。

在第二步,我们确定了可以用作所选组件类型实例的软件和硬件,并根据初级和中级专业水平渗透测试的常见实验室设置了它们的重要性。

在第三步,我们了解了哪些解决方案适合我们的任务以及我们能负担得起什么。我尝试选择更便宜的选项,这就是为什么我要使用虚拟化软件。ASUS WL-520gc 路由器将 LAN 路由器和 Wi-Fi 接入点结合在同一设备中,因此比使用专用设备更便宜和更舒适。笔记本电脑和平板电脑也被选择用于练习无线攻击,但这并不是最便宜的解决方案。

在第四步,我们基于确定的资源设计了我们的实验室网络。我们选择将所有主机放在同一个子网中,以更轻松地设置实验室。子网有自己的 DHCP 服务器,可以动态分配网络地址给主机。

还有更多…

让我给你介绍一下规划实验室环境细节的替代方法。

实验室环境组件变化

不必使用笔记本电脑作为攻击者机器和平板电脑作为受害者 - 您只需要两台带有连接的 Wi-Fi 适配器的 PC 来执行各种无线攻击。

作为虚拟机的替代方案,笔记本电脑、平板电脑或旧的未使用的计算机(如果有的话)也可以用作硬件主机。只有一个条件 - 它们的硬件资源应足够支持计划中的操作系统工作。

IPS 可以是软件或硬件,但硬件系统更昂贵。对于我们的需求,使用任何免费的互联网安全软件,包括防火墙和 IPS 功能,就足够了。

在本章中选择与我选择的相同操作系统并不是必要的;您可以使用任何其他支持所需功能的操作系统。关于网络服务也是如此 - 不必使用 FTP 服务;您可以使用任何其他支持网络密码身份验证的服务,如 telnet 和 SSH。

如果需要,您还需要在受害者工作站中额外安装任何调试器,以测试新的或修改的漏洞利用并进行漏洞研究。

最后,您可以使用任何其他支持 LAN 路由和 Wi-Fi 接入点功能的硬件或虚拟路由器。连接的专用 LAN 路由器和 Wi-Fi 接入点也适用于实验室。

选择虚拟化解决方案 - 优缺点

在这里,我想以表格形式列出不同虚拟化解决方案的优缺点:

解决方案优点缺点
VMWare ESXi
  • 企业解决方案

  • 强大的解决方案

  • 在同一台物理服务器上轻松支持大量虚拟机作为单独的分区

  • 无需安装操作系统

|

  • 成本非常高

  • 需要强大的服务器

  • 需要处理器虚拟化支持

|

VMWare 工作站
  • 易于操作

  • 用户友好的图形界面

  • 易安装

  • 虚拟*nix系统运行速度快

  • 与虚拟图形更好地配合

|

  • 共享软件

  • 在 Windows 7 上有时会遇到 USB Wi-Fi 适配器的问题

  • 对系统资源要求高

  • 不支持 64 位客户操作系统

  • 虚拟 Windows 系统运行缓慢

|

VMWare 播放器
  • 免费软件

  • 用户友好的图形界面

  • 易安装

|

  • 无法创建新的虚拟机

  • 功能较差

|

微软虚拟 PC
  • 免费软件

  • 与 Microsoft 系统的兼容性和稳定性很好

  • 良好的 USB 支持

  • 易于安装

|

  • 仅在 Windows 上工作,且仅与 Windows 配合使用。

  • 不支持许多与并发解决方案相同的功能

|

Oracle Virtual Box
  • 免费软件

  • 虚拟 Windows 系统运行速度快

  • 用户友好的 GUI

  • 易于安装

  • 在 Mac OS 和 Solaris 上以及在 Windows 和 Linux 上都可以使用

  • 支持“传送”技术

|

  • 付费 USB 支持

  • 虚拟*nix系统运行缓慢

|

在这里,我只列出了我认为是虚拟化市场领导者。从历史上看,我大多习惯于 VMWare Workstation,但当然,您可以选择任何其他您喜欢的解决方案。

您可以在virt.kernelnewbies/TechComparison找到更多比较信息。

设置网络安全实验室(必须知道)

本节旨在为一般渗透测试设置实验室环境。您可以通过此类型的实验室练习以下技能:

  • 基本技能

  • 发现技术

  • 枚举技术

  • 扫描技术

  • 网络漏洞利用

  • 权限提升

  • 密码和哈希攻击

  • 额外的技能

  • 修改和测试利用

  • 隧道

  • 模糊测试

  • 漏洞研究

  • 记录渗透测试过程

准备就绪

在设置网络安全实验室环境之前,让我们做一些准备工作。我们需要清楚地了解我们的实验室网络拓扑结构。由于需要调整当前实验室的需求,它将与*规划实验室环境(应知道)*食谱中给出的拓扑结构有所不同。在本食谱中,其他组件是必需的:

  • 路由器

  • 域控制器(Windows 2008)

  • FTP 服务器(Ubuntu)

  • 两个工作站(Windows 7 专业版和 Windows XP 专业版)

  • 攻击者工作站

您可以在以下图表中看到当前任务的网络拓扑:

![准备就绪](img/4124_03_01.jpg)

由于我们决定使用虚拟机,我们需要清楚地了解当前实验室环境的架构(物理和逻辑)。一个物理 PC 将用作虚拟机的主机工作站。它可以是同一台 PC,也可以用作攻击者工作站。另一个物理组件是路由器;所有其他组件将是虚拟机,通过主机工作站网络接口桥接到路由器。所述的网络安全实验室架构如下图所示:

![准备就绪](img/4124_03_02.jpg)

在继续设置实验室之前,您应准备以下软件的路由器和发行版:

  • VMware Workstation 8(安装程序)

  • Microsoft Windows Server 2008(.iso安装程序光盘映像)

  • Ubuntu 服务器 12(.iso安装程序光盘映像)

  • Windows 7(.iso安装程序光盘映像)

  • Windows XP(.iso安装程序光盘映像)

除了 VMware Workstation 外,最好使用没有服务包的软件版本,因为它们包含更多公开宣布的漏洞,您可以利用这些漏洞在实验室中练习您的技能。

如何做…

我们需要首先配置我们的路由器。在我的示例中,我使用了 ASUS WL-520GC,但家用路由器之间的差异并不显著:

  1. 将电源适配器和 Internet 连接电缆插入路由器。 Internet 连接电缆应插入 WAN 端口。

  2. 现在,将托管虚拟机(主机工作站)的计算机的 LAN 适配器与路由器的任何 LAN 端口用网络电缆连接起来。

  3. 路由器前面板上的电源指示灯、WAN 端口指示灯和一个 LAN 端口指示灯必须亮起绿灯。

  4. 在主机工作站上打开浏览器,转到地址192.168.1.1,并输入路由器的用户名和密码。默认情况下是admin:admin

  5. 在左侧面板中,点击 IP config链接,并在相应的字段中输入您的 WAN 设置(从您的 ISP 获取)。将 LAN IP 设置保留为默认值(IP:192.168.1.1,子网掩码:255.255.255.0)。点击应用

  6. DHCP 服务器页面上,启用集成 DHCP 服务器,并将 IP 池的设置从192.168.1.2更改为192.168.1.15。点击应用

  7. 转到 Internet 防火墙部分,启用Internet 防火墙,并禁用来自 WAN 的 Web 访问。所有其他设置保持默认。点击完成,然后点击保存并重新启动

  8. 路由器将重新启动,这表示它已经准备好供我们使用。

现在,我们需要安装虚拟化软件;在我的情况下,是 VMware Workstation 8(安装过程对于旧版本是类似的):

  1. 通过执行分发文件开始设置过程。

  2. 选择自定义安装类型,然后点击下一步查看设置选项:

  3. 我使用了默认设置,这对我们的任务已经足够了,但如果您需要启用更多 VMware 功能或者想要将其安装到其他目录中,您可以更改这些设置。选择您的设置后,点击下一步

  4. 在下一个屏幕上选择启动时检查产品更新复选框,然后点击下一步

  5. 如果您希望让 VMware Workstation 软件将调试信息发送到 VMware 公司服务器进行进一步分析,请在下一个屏幕上选择帮助改进 VMware Workstation复选框。然后点击下一步

  6. 选择您想要放置 VMware Workstation 快捷方式的位置,然后点击下一步

  7. 点击继续开始安装过程。安装程序及其组件的安装可能需要一段时间。

  8. 在提示时输入您的许可密钥,并完成安装。

现在,我们需要将 VMware Workstation 软件更新到最新版本:

  1. 运行 VMware Workstation。

  2. 帮助下拉菜单中,点击软件更新

  3. 在打开的软件更新窗口中,点击检查更新按钮。

  4. 通过选择它们并点击下一步来安装可用的更新。

现在,VMware Workstation 已经准备就绪,我们可以继续进行其他实验组件的工作。

首先,我们应该安装服务器。让我们从 Windows Server 2008 开始,它将是我们的 DC。

  1. 在 VMware Workstation 的文件下拉菜单中选择新虚拟机…,或按下Ctrl + N

  2. 在打开的向导中,选择新虚拟机的典型配置,然后点击下一步

  3. 在下一个窗口中,选择安装程序磁盘映像文件(iso),然后浏览到 Windows Server 2008 的安装程序映像的路径,点击下一步

  4. 在下一个窗口中,如果您有产品密钥,请输入;如果没有,可以跳过,选择Windows Server 2008 企业版,输入用户名(我这里使用lab),然后点击下一步

如果您没有提供产品密钥,将会出现一个新的对话框窗口,询问您是否要在没有产品密钥的情况下继续。点击

  1. 在下一个窗口中,为这个虚拟机输入名称(我使用默认名称)。选择虚拟机路径的文件位置,然后点击下一步

  2. 在虚拟机的系统卷磁盘大小窗口中设置大小(最好不少于 40 GB),然后选择将虚拟磁盘分割成多个文件,然后点击下一步

  3. 在下一个窗口中点击自定义硬件按钮手动设置虚拟机硬件参数。

  4. 在新窗口中,设置不少于 1 GB 的内存,但最好设置为 2 GB 或更多。将基本参数设置为以下值:

参数
内存2 GB
处理器1
网络适配器桥接(无物理网络连接状态复制)
USB 控制器
显示使用主机设置的监视器
  1. 单击关闭

  2. 选择创建后启动此虚拟机,然后单击完成

  3. 现在,您的虚拟机已准备好安装操作系统。此过程将在打开虚拟机后自动开始,并将持续一段时间。

  4. 在安装 Windows 2008 服务器后,VMware Workstation 将自动开始安装 VMware 工具;等待此过程结束。

  5. 重新启动客户系统并登录。您应该看到初始配置对话框。

  6. 单击设置时区链接,设置您的时间、日期和时区。

  7. 在初始配置窗口中使用链接提供计算机描述和名称。

  8. 使用以下顺序打开本地连接属性窗口:配置网络 | 本地连接 | 属性。除了 TCP/IPv4 之外,将所有属性保留为默认设置。将 TCP/IPv4 属性的值设置如下截图所示:

现在,您应该有一个类似以下截图的初始配置窗口:

  1. 现在,我们需要为服务器分配域控制器角色。在初始配置窗口中,单击添加角色链接,然后单击下一步以打开服务器角色分配对话框。选择活动目录域服务复选框,并通过单击下一步安装按钮开始安装角色:

  2. 角色安装完成后,打开开始菜单,在搜索字段中键入dcpromo。启动dcpromo

  3. 在打开的对话框中继续单击下一步,直到到达选择部署配置对话框,选择在新林中创建新域,然后单击下一步

  4. 输入您的实验室域名(FQDN),例如lab.local,然后单击下一步

  5. 现在,我们需要为域林选择功能级别。选择您系统中的最新版本(对我来说是Windows Server 2008),然后单击下一步

  6. 在下一个屏幕中,我们必须为我们的域控制器启用DNS 服务器角色,以使其正常工作:

  7. 当向导提示您是否与现有 DNS 基础设施集成时,单击

  8. 在下一个对话框中,将数据库日志SYSVOL文件夹保留为默认设置,然后单击下一步

  9. 设置目录服务恢复模式管理员帐户密码,然后单击下一步

  10. 检查摘要信息,单击下一步,等待向导安装活动目录域服务,并重新启动系统。

  11. 在域控制器虚拟机成功安装和初始配置后,拍摄一个快照。选择拍摄快照菜单项,在对话窗口中输入快照名称和注释,然后单击拍摄快照按钮:

创建域控制器后,继续安装 Ubuntu Server:

  1. 在 VMware Workstation 中按下Ctrl + N,按照屏幕上的说明创建一个新的 Ubuntu 虚拟机。这个过程类似于创建 Windows Server 2008 虚拟机,所以您不应该遇到任何问题。确保您在此过程中输入的 root 密码,并将网络连接设置为桥接。

  2. 在完成虚拟机创建后,Ubuntu 安装将自动开始。它还将自动安装 VMware 工具。这将根据您计算机的性能和虚拟机属性而有所不同,需要几分钟。

  3. 安装完成后,您应该能够看到一个标准的 Ubuntu 服务器控制台,邀请您登录:

  4. 登录并输入不带参数的ifconfig命令以查找您的网络接口的名称。在我的情况下,它是eth0

  5. 现在,通过执行以下命令配置您的网络接口:

sudo ifconfig eth0 192.168.1.14 netmask 255.255.255.0 broadcast 192.168.1.255

您将需要输入 root 密码来执行该命令。之后,检查网络接口设置是否符合我们的要求,方法是再次输入ifconfig命令,但不带任何参数:

  1. 现在,我们需要添加一个默认网关的路由,以便让我们的服务器访问互联网。执行以下命令来完成这一步:
sudo route add default gateway 192.168.1.1
  1. 现在,执行不带任何参数的route命令,并尝试ping www.google

  2. 现在让我们安装 FTP 服务器。我选择了vsftpd作为安装和设置的简便解决方案。输入以下命令:

sudo apt-get –yu install vsftpd

安装将以自动模式完成。

  1. 要配置vsftp守护程序,请执行以下命令使用 Nano 编辑器打开/etc/vsftpd.conf文件:
sudo nano /etc/vsftpd.conf
  1. 取消vsftpd.conf文件中的以下行的注释:
local_enable=YES
write_enable=YES
  1. 然后,按下Ctrl + X退出。回答Y以保存更改,并选择相同的文件保存/etc/vsftpd.conf

  2. 现在,我们需要创建至少一个用户,他将拥有 FTP 访问权限到他的主目录。最简单的方法是使用adduser命令,它将提示您输入所有所需的数据,并自动创建用户的主目录:

  3. 通过执行以下命令重新启动 FTP 守护程序:

sudo /etc/init.d/vsftpd restart
  1. 拍摄您的新虚拟 Ubuntu 服务器的快照。

现在,我们需要安装和设置虚拟 Windows 工作站。让我们从 Windows XP 开始:

  1. 在 VMware Workstation 中,按下Ctrl + N,按照屏幕上的说明创建一个带有自定义参数的新虚拟机。不要忘记为虚拟机设置网络接口为bridged。创建虚拟机后,Windows XP 安装过程会自动启动。

  2. 如果您之前没有输入 Windows 产品密钥,您将被提示输入。输入有效的产品密钥(您可以在互联网上找到很多试用密钥)。具有 SP3 的 Windows XP 允许您在安装过程中跳过输入产品密钥的步骤。

  3. 由于我们在实验室中使用虚拟机,性能对我们很重要。我们可以通过以下方式提高 Windows XP 的性能:

  4. 开始菜单打开控制面板,切换到经典视图。

  5. 双击系统图标。

  6. 转到高级选项卡,然后单击性能部分的设置按钮。

  7. 选择调整为最佳性能选项,然后单击应用和确定

  1. 由于这台工作站将用于练习渗透测试技能,因此它应该具有一些漏洞。这就是为什么我们需要关闭自动更新 - 转到自动更新选项卡,选择关闭自动更新,然后单击应用,然后单击确定

  2. Windows XP 工作站的网络连接默认配置为获取动态 IP 地址,因此它必须已经设置好。但是,您需要手动将域控制器 IP 设置为主 DNS 服务器地址:

  3. 打开控制面板,双击网络连接图标。

  4. 打开本地连接及其属性。

  5. 选择Internet Protocol (TCP/IP),然后单击属性按钮。

  6. 设置以下属性并返回到控制面板

  1. 现在,我们需要将 Windows XP 工作站加入我们的实验室域:

  2. 确保域控制器已打开。

  3. 双击系统图标。

  4. 转到计算机名称选项卡,在系统属性对话框中。

  5. 单击**更改…**按钮。

  6. 将计算机名称设置为WinXP

  7. 成员部分,选择单选按钮,并在其下方的文本字段中输入实验域名。在我的情况下,它是lab.local,然后单击确定

  8. 您将被提示输入域凭据。输入域管理员的凭据,您应该会看到欢迎窗口。

  9. 重新启动 Windows XP 虚拟机并对其进行快照。

最后一个实验组件是 Windows 7:

  1. 在 VMware Workstation 中,按下Ctrl + N,并按照屏幕上的说明创建一个具有自定义参数的新虚拟机。不要忘记为虚拟机设置网络接口为桥接。创建虚拟机后,Windows 7 安装过程会自动启动。

  2. Windows 7 安装后会自动启动。

  3. 登录并在系统属性对话框中设置性能设置为为最佳性能而调整;它可以在控制面板 | 所有控制面板项目 | 系统 | 高级系统设置中找到。

  4. 转到计算机名称选项卡,并以与我们为 Windows XP 做的方式相同,将此工作站加入实验室域。

  5. 重新启动系统并拍摄快照。

最后,我们已经完成了安装和配置任务,并可以检查一些组件,看看它们是否正常工作:

  1. 通过将 Windows 工作站加入域,我们已经检查了实验域是否正常工作。

  2. 现在,以以下方式检查 FTP 服务器:

  3. 在 Windows XP 的开始菜单中,找到运行命令并输入cmd

  4. 在命令行中,输入ftp并按Enter

  5. 输入命令open 192.168.1.14并按Enter

  6. 如果 FTP 服务器正常工作,您应该会看到类似以下代码的内容:

       Connected to 192.168.1.14.
       220 (vsFTPd 2.3.5)
       User (192.168.1.14:(none)):
  1. 输入用户名和密码。

  2. 登录后,输入ls命令,如果一切正常,ftp用户目录列表应该被执行。

  3. 尝试从每个主机 ping 所有主机。

工作原理…

让我们探索刚刚讨论的基本步骤。

在路由器配置过程中,我们需要限制互联网用户从外部网络(WAN)对我们的实验路由器进行路由,因此我们应该禁用路由器的 Web 访问,并激活防火墙。

当您启动 VMware Workstation 软件时,它会指示是否有可用的更新,并询问是否要安装它们。有些更新需要先卸载 VMware Workstation,然后安装新版本。如果您单击,它将自动完成。强烈建议安装 VMware Workstation 的软件更新,因为这是修复 VMware 软件中已知错误和安全漏洞的一种方式。

但是,我们不需要为我们的虚拟系统进行任何软件更新,因为我们需要它们具有漏洞,以便我们可以练习渗透测试技能。这就是为什么我建议您关闭所有虚拟系统上的自动更新。

我们在虚拟机中使用桥接网络接口,以便它们可以像物理主机一样与路由器通信。如果我们设置 NAT,那么我们的系统将使用 VMware Workstation 作为软件 DHCP 服务器,并且将在与路由器不同的子网中工作。

我故意没有输入 Windows 产品密钥,因为我只是用它进行演示,不到 30 天。但如果您想使用更长时间,我建议您购买许可证。

域控制器以及 DNS 服务器都应该有一个静态 IP 地址才能正常运行。所以,让它是192.168.1.15。给服务器分配静态 IP 也是一个好的做法;这就是为什么我们的 Ubuntu 服务器也有一个静态 IP。

域基础设施需要一个 DNS 服务器,这就是为什么我们使用dcpromo将 DNS 服务器角色安装到域控制器上以维护活动目录。

在域控制器配置过程中,我只设置了两个角色(域服务DNS 服务器),但您可以根据任何培训目的随时添加或删除其他角色。

默认情况下,vsftpd配置为仅允许匿名下载。在安装过程中,会创建一个带有主目录/home/ftp的 FTP 用户。这是默认的 FTP 目录。但是我们想要练习使用 FTP 服务器的密码猜测技术,所以我们需要创建不同的 FTP 用户。我已经向您展示了如何创建 FTP 用户,现在您可以轻松地创建任意数量的用户。

还有更多…

成为专业的渗透测试人员意味着始终超越所给出的信息,不断提高自己的知识。这对于专业的渗透测试人员和真正的黑客都是常见的,这也是检查下一段的原因。

替代解决方案和配置

您必须明白,描述的建立网络安全实验室的方式并不是唯一的或正确的方式 - 可能有很多变化和不同的解决方案,从小型个人实验室到企业虚拟化集群。

让我给您一些选择:

  • 如果您打算研究漏洞并修改或编写自己的利用程序,设置带有 Visual Studio 插件的 VMware Workstation 以进行调试可能会很有用。它提供了虚拟机和 Microsoft Visual Studio 之间的接口。

  • 您可能需要添加其他主机并安装其他附加网络服务,以练习特定的技能。这并不难,您总是可以在互联网上找到适当的手册。

  • 您还可以用旧的未使用的物理计算机替换一些或所有虚拟机,并将它们连接到具有路由器或交换机的网络中。

  • 如果您不想手动安装和配置所有虚拟系统,可以在互联网上找到已安装操作系统的虚拟机。您还可以使用专门制作的易受攻击的虚拟机。例如,用于实验目的的最佳易受攻击的机器之一是Metasploitable

额外的提示

在这里,我想告诉您一些更有用的东西:

  • 设置实验室并对所有虚拟机进行快照后,您将开始对它们执行不同类型的技术和攻击。完成基本的发现和枚举攻击后,您可能希望将自己的技能提升到下一个水平,并测试自己对不同安全解决方案的反应。在这种情况下,在目标虚拟机上安装和设置集成的主机防病毒防火墙入侵防止系统HIPS),并进行新的快照。这将让您练习不同的防火墙规则枚举技术,称为firewalking,以及不同的 IDS 规避技术。您可以随时将系统从任何状态还原到您的任何快照中,以比较在不同系统状态上执行不同技术的结果。

  • 我在渗透测试项目中经常使用的最有用的技术之一是隧道技术。这是一种通过已由您控制(成功攻击)的主机传递流量的技术。这意味着您可以访问不可路由的主机和网络。这就是为什么我强烈建议您在实验室中学习和练习它,如果您想要充分利用您的渗透测试技能。

  • 在实验室中尝试新的技术和软件,以便更好地理解它们。

  • 尝试不同的渗透测试发行版,如 BackTrack,并选择最适合您的版本。

  • 我总是对我的虚拟系统进行快照。快照是虚拟机的保存状态,可以让您返回到之前保存的任何时间点。这意味着您有很好的机会对虚拟机进行任何想做的事情,而不必担心完全错误配置或丢失它们。所以,不要忘记拍摄快照。

额外信息

要获取更多信息,您可以查看以下资源:

  • technet.microsoft

  • www.ubuntu

  • www.offensive-security和www.offensive-security/metasploit-unleashed/Metasploitable

  • www.backtrack-linux

  • pentestlab.wordpress

设置 Web 应用实验室(应该知道)

本节旨在为练习 Web 应用程序渗透测试设置实验室环境。您可以使用这种类型的实验室练习以下技能:

  • 基本技能

  • 枚举技术

  • 扫描技术

  • OWASP TOP 10 漏洞发现和利用

  • 特权升级

  • 额外技能

  • 模糊测试

  • 漏洞研究

  • 记录渗透测试过程

准备就绪

首先,我们必须确定 Web 应用程序实验室的拓扑和架构。在这个实验中,我们将只使用对 Web 应用程序渗透测试至关重要的组件,而不包括其他组件。以下实验室组件对我们当前的任务是必要的:

  • 路由器

  • Web 服务器

  • 受害者 Web 客户端工作站

  • 攻击者工作站

您可以在以下图表中看到当前任务的网络拓扑:

我们的实验室拓扑和物理架构将不同于我们将在虚拟机上构建实验室。我们将使用一个物理路由器和一个物理 PC(也将是攻击者主机)来托管一个虚拟 Web 服务器,以及一个具有桥接网络接口的虚拟客户端工作站。

所描述的网络安全实验室架构如下图所示:

在我们继续设置实验室之前,您应该准备好路由器和以下软件的分发版:

  • VMware Workstation 8(安装程序)

  • Microsoft Windows Server 2003(.iso安装盘映像)

  • Windows XP(.iso安装盘映像)

  • XAMPP Apache 分发版(Windows 安装程序可从www.apachefriends/en/xampp-windows.html下载)

  • Mozilla Firefox(离线安装程序,版本越旧越好)

  • Google Chrome(离线安装程序,版本越旧越好)

  • Apple Safari(离线安装程序,版本越旧越好)

除了 VMware Workstation 外,较旧的软件版本和无服务包更可取,因为它们包含更多公开宣布的漏洞,您可以利用这些漏洞来在实验室中练习您的技能。

我建议找到离线浏览器安装程序,否则安装程序将尝试下载并安装带有修复错误的最新版本。

如何做…

和往常一样,我们的初始步骤应该是配置路由器,并以与*设置网络安全实验室(必须知道)*食谱中描述的方式安装 VMware Workstation 8。

更新 VMware Workstation 后,您可以从路由器断开 WAN 电缆,因为我们不再需要互联网连接。

现在,我们可以继续设置 Web 客户端工作站和托管易受攻击的 Web 应用程序的 Web 服务器。让我们从工作站开始。它将是安装了几个 Web 浏览器的 Windows XP 工作站:

  1. 在 VMware Workstation 中,按下Ctrl + N并按照屏幕上的说明创建具有自定义参数的新虚拟机。不要忘记为虚拟机设置网络接口为桥接。创建虚拟机后,Windows XP 安装过程将自动启动。

  2. 如果您在上一步骤中尚未完成,将提示您输入 Windows 产品密钥。输入有效的产品密钥(您可以在互联网上找到很多试用密钥)。Windows XP SP3 允许您在安装过程中跳过输入产品密钥的步骤。

  3. 只要我们在实验室中使用虚拟机,性能对我们很重要。我们可以通过以下方式改善 Windows XP 的性能:

  4. 通过开始菜单打开控制面板并切换到经典视图。

  5. 双击系统图标。

  6. 转到高级选项卡,并在性能部分单击设置按钮。

  7. 选择调整为最佳性能选项,然后单击应用确定

  1. 由于这台工作站将用于练习渗透测试技能,因此它应该具有一些漏洞。这就是为什么我们需要关闭自动更新;转到自动更新选项卡,选择关闭自动更新选项,然后单击应用,然后单击确定

  2. Windows XP 工作站的网络连接默认配置为获取动态 IP 地址,因此必须已经设置好。但是,您需要手动将域控制器 IP 设置为主 DNS 服务器地址:

  3. 打开控制面板,双击网络连接图标。

  4. 打开本地连接及其属性。

  5. 选择Internet Protocol (TCP/IP)并单击属性按钮。

  6. 设置以下属性并返回到网络连接窗口:

  1. 在安装浏览器之前,我们需要关闭网络接口,以便它们不会下载和安装最新版本。右键单击本地连接,然后选择禁用

网络连接图标应变为灰色,表示接口处于非活动状态。

  1. 通过运行安装程序并按照屏幕上的说明安装 Google Chrome 浏览器(对于 Web 应用实验室的需求,我使用 Chrome v.14)。

  2. 现在,我们需要关闭 Google Chrome 的自动更新。在开始菜单中单击运行,然后输入regedit命令。

  3. 在注册表编辑器中找到HKEY_LOCAL_MACHINE\SOFTWARE\Policies键。

  4. 创建子键\Google\Update\

  5. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\中,创建一个 DWORD 参数AutoUpdateCheckPeriodMinute,并将其值设置为0

  6. 关闭注册表编辑器并运行 Mozilla Firefox 安装程序(对于 Web 应用实验室的需求,我使用 Firefox v8)。

  7. 按照屏幕上的说明选择标准安装

  8. 安装 Mozilla Firefox 浏览器后运行。

  9. 在提示时选择不从其他浏览器导入任何数据的选项。

  10. 工具下拉菜单中,选择选项

  11. 转到选项窗口的高级选项卡。

  12. 打开子选项卡更新并取消所有复选框。对于 Firefox 8,它看起来类似于以下截图:

对于最新版本的 Firefox,例如 15,更新选项子选项卡已更改,您需要选择从不检查更新,如下截图所示:

  1. 关闭 Mozilla Firefox 并继续安装 Apple Safari 浏览器。

  2. 运行 Apple Safari 安装程序(对于 Web 应用实验室的需求,我使用 Safari v4),并按照屏幕上的说明进行操作。

  3. 苹果 Safari 允许您在安装过程中选择自动更新选项,因此在提示时取消选择自动更新 Safari 和其他苹果软件复选框,并完成安装。

  4. 现在,从控制面板打开网络连接窗口,并通过右键单击其图标并选择启用来启用本地连接

  5. 我们需要对 Windows XP 虚拟机进行快照。

  6. 在 VMware Workstation 的 VM 下拉菜单中,选择快照 | 拍摄快照…,并为新快照输入名称和描述:

我们的网络客户端工作站现在已准备好进行实验,我们可以通过安装基于 Windows 2003 的 Web 服务器来进一步进行。

  1. 在 VMware Workstation 中,按下Ctrl + N,并按照屏幕上的指示创建具有自定义参数的新虚拟机。不要忘记为虚拟机设置网络接口为桥接

  2. 根据 Windows Server 2003 的发行版,安装程序可能会提示您要安装哪种类型的 Windows 2003。我们需要选择Windows 2003 Server 标准版(选项B):

  3. 之后,Windows Server 2003 的安装过程开始。

  4. 在安装过程中,将提示输入产品密钥。如果有许可证,可以输入在互联网上找到的任何试用密钥,或者输入有效的密钥。

  5. 安装 Windows Server 2003 后,等待直到安装 VMware Tools 并重新启动系统。

  6. 现在,我们需要设置网络连接属性。打开本地连接属性,并使用其他 IP 设置设置静态 IP192.168.1.13,如*设置网络安全实验室(必须知道)*中所述。

  7. 现在,将 XAMPP 安装程序复制到 Windows 2003 Server 虚拟机并运行它。

  8. 按照屏幕上的指示,当提示时将 XAMPP 路径保持默认为C:\xampp\!操作步骤…

  9. 此外,我们应该将 Apache 和 MySQL 安装为服务,因此在安装过程中选择以下复选框:

  10. 单击安装,等待安装结束。

  11. 安装后,Apache 服务器和 MySQL 服务器将自动启动。

  12. 现在,在XAMPP目录中找到htdocs目录(在我的情况下,它是C:\xampp\htdocs),并删除该目录中的所有默认内容:

  13. 现在,将解压缩的 Damn Vulnerable Web Application 文件夹dvwa复制到空的htdocs目录中。

  14. 转到dvwa目录并找到.htaccess文件。

  15. 用记事本打开它进行编辑。

  16. 找到代码的下一部分:

# Limit access to localhost
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 127.0.0.1
</Limit>
  1. 用以下内容替换它:
# Limit access to localhost
<Limit GET POST PUT>
order deny,allow
#deny from all
#allow from 127.0.0.1
allow from all
</Limit>
  1. 保存文件并关闭记事本。

  2. 现在,让我们通过减少一些 PHP 安全设置来简化攻击者的任务。转到 XAMPP 控制面板,单击 Apache 的配置按钮,并选择**PHP (php.ini)**以打开 PHP config文件:

  3. php.ini文件中找到allow_url_fopen参数,并将其值设置为off

  4. 找到allow_url_include参数,并将其值设置为off

  5. 现在,我们需要重新启动 Apache 服务器以应用新的设置。单击 Apache 的停止按钮:

您可以在状态日志区域看到它,停止按钮应更改其标题为启动

  1. 通过单击启动按钮启动 Apache 服务器。

  2. 现在,让我们检查对 Damn Vulnerable Web Application 的网络访问。如果 Windows XP 虚拟机已停止,则启动它并运行任何网络浏览器。

  3. 在地址栏中键入192.168.1.13/dvwa/。您应该看到以下截图:

  4. 下一步是创建数据库。打开浏览器窗口中看到的链接,您将被重定向到 DVWA 控制页面:

  5. 点击创建/重置数据库按钮。

  6. 在 DVWA 控制页面的左下角,您将能够看到 DVWA 安全级别设置为高:

  7. 让我们将其更改为低级别。点击页面左侧的DVWA 安全按钮。

  8. 在 DVWA 登录页面,输入用户名为admin,密码为password

  9. 再次点击页面左侧的DVWA 安全按钮。

  10. 在下拉菜单中选择安全级别:

  11. 然后,点击提交按钮。

  12. 现在,拍摄一个快照;我们的 Web 服务器和易受攻击的 Web 应用程序已准备好用于练习 Web 渗透测试技能。

它是如何工作的…

让我解释一下基本步骤。

首先,我们需要配置路由器,以便为我们的实验室提供网络功能。然后,我们的虚拟化软件,将支持虚拟机的安装。之后,我们可以安装和设置我们的虚拟服务器和工作站。

为了真正模拟现实世界的情景,不同的人使用各种 Web 浏览器访问 Web 应用程序,我们需要在虚拟 Web 客户端机器上安装几种 Web 浏览器。我选择了 Google Chrome,Mozilla Firefox 和 Apple Safari 作为受害者客户端浏览器,因为它们在现实生活中最受欢迎,您应该至少使用这三种浏览器练习每种客户端攻击。此外,我应该提到,某些类型的客户端攻击在某些浏览器上效果更好,而在其他浏览器上,不同的漏洞利用针对不同的浏览器,这就是为什么我们需要在受害者 Web 客户端工作站上安装几种 Web 浏览器,以免将我们的培训设施限制在仅有限的攻击性能列表上。

为了留下更多的利用机会,我们需要在 Web 浏览器中尽可能多地存在漏洞(越多越好)。完全打补丁的浏览器需要使用最新的漏洞利用,这些漏洞利用很难找到和使用,因为在大多数情况下,您将需要自行修改和调试它们。因此,为了成功和高效的培训,我们需要更多旧版本的漏洞,这就是为什么我们安装了旧版本的 Web 浏览器并关闭了自动更新的原因。

选择 XAMPP 软件包是因为它已经包含了 Apache 服务器、MySQL 服务器和 PHP 配置在一起工作。它很容易安装,因此我们不需要执行任何额外的配置来运行 Web 服务器。

但是我们需要额外配置 DVWA 访问设置,以允许外部客户端访问,而不仅仅是本地主机连接。这就是为什么我们以相关方式编辑了.htaccess文件的原因。

此外,我们需要在 DVWA 中创建一个数据库,以使其正常工作。

对于那些已经具有高级 Web 渗透测试技能的读者,建议使用高 DVWA 安全级别,因为他们了解所有基本技术,并需要练习高级欺骗攻击技能。但对于初学者,我建议使用低 DVWA 安全级别学习基本的攻击和利用技术,以逐步提升您的知识。

还有更多…

Web 应用程序渗透测试是最快速变化的安全问题,任何想要拥有最新知识的渗透测试人员都需要不断学习和训练。本节为您提供了在哪里寻找更多信息的建议。

备选实验室选项

让我展示一些构建 Web 应用程序渗透测试实验室的备选选项。

因此,首先,不需要使用硬件路由器。使用内置的 VMware Workstation NAT 功能就足够了,但是我们需要硬件路由器用于其他类型的实验室,所以为什么不在这个实验室中也使用它呢。此外,使用硬件路由器对实验室性能有更好的影响。

此外,您不必在 Windows 机器上安装 Web 服务器。如果您有适当的知识,可以轻松使用基于 Linux 的服务器。我还应该提到,DVWA 是平台无关的,因此您不应该在基于 Linux 的 Web 服务器上安装它时遇到任何问题。

Web 客户端工作站也可以是基于 Linux 的系统。除此之外,最好同时拥有基于 Windows 和 Linux 的客户端工作站,以便有更大的实验空间。

备选的易受攻击的 Web 应用程序包

Damn Vulnerable Web Application 并不是您可以在实验室环境中用于培训的唯一易受攻击的 Web 应用程序。

互联网上有许多准备好的易受攻击的 Web 应用程序,可以使用整个虚拟服务器映像来安装易受攻击的 Web 应用程序。以下是其中一些的列表:

  • OWASP 破损 Web 应用程序项目(www.owasp/index.php/OWASP_Broken_Web_Applications_Project)

  • NOWASP(Mutillidae)Web 渗透测试实践应用程序(sourceforge/projects/mutillidae/)

  • SQLol (github/SpiderLabs/SQLol)

  • Hackxor (sourceforge/projects/hackxor/)

  • Bodgeit (code.google/p/bodgeit/)

额外信息

以下是一些额外的信息资源:

  • www.dvwa.co.uk/

  • www.apachefriends/en/xampp.html

  • www.owasp/index.php/Web_Application_Firewall

  • www.owasp/index.php/Category:OWASP_Testing_Project

  • www.owasp/index.php/OWASP_Top_Ten_Project

建立 Wi-Fi 实验室(成为专家)

本节描述了如何设置一个实验室,以练习具有基本无线网络保护机制的 Wi-Fi 渗透技能。

您可以使用此类型实验室练习的技能如下:

  • 基本技能

  • 发现技术

  • 枚举技术

  • 密码和哈希攻击

  • 无线攻击

  • 额外技能

  • 记录渗透测试过程

准备就绪

首先,我们必须确定 Wi-Fi 实验室的拓扑和架构。在本章中,我们将仅使用对 Wi-Fi 渗透测试至关重要的组件,而不包括其他组件。以下实验室组件对我们当前的任务是必要的:

  • 无线路由器

  • LAN 工作站

  • 受害者 Wi-Fi 客户端(工作站,笔记本电脑,智能手机或平板电脑)

我们将在 LAN 工作站和路由器之间使用直接的 LAN 连接,以及在受害者 Wi-Fi 客户端和无线路由器之间使用无线连接。该网络的拓扑类似于以下图表:

如何做…

我们将建立两种不同类型的 Wi-Fi 网络。初始路由器设置对两种类型都是相同的,因此在描述安全机制设置之前,我只会给出一次说明。我将使用 ASUS WL-520GC 路由器,并且我的所有示例都将针对此型号的路由器进行说明。

我想首先建立一个受 WEP 保护的网络:

  1. 使用 LAN 电缆将您的工作站连接到路由器。

  2. 在 LAN 工作站上打开浏览器,转到地址192.168.1.1

  3. 使用默认登录 ID 和密码admin:admin登录路由器控制面板,然后转到无线部分。

  4. 在相应的字段中设置无线网络名称(SSID);例如,将其设置为wifilab

  5. 频道无线模式设置保留为自动

  6. 认证方法设置为共享密钥

  7. 设置密码短语的值;它将成为连接到无线网络的关键。使用简单而不复杂的密钥值,可以通过字典猜测。

  8. 将此页面上的所有其他设置保留为它们的默认值。

现在,您应该有类似以下的设置:

  1. 现在,转到无线 | 高级部分,并将隐藏 SSID选项设置为,将此页面上的所有其他设置保留为它们的默认值:

  2. 单击完成,然后保存并重新启动

  3. 路由器重新启动后,转到系统设置 | 设置管理,并将当前路由器设置保存到文件中备份。

  4. WEP 受保护的网络现在已经准备好运行了。

配置路由器后,您需要将受害者 Wi-Fi 客户端设备连接到wifilab网络。根据您的设备类型和其操作系统,连接到无线网络可能有不同的方式,但一般的基本步骤是相同的:

  1. 输入无线网络名称(SSID)- 在我们的情况下是wifilab

  2. 输入您在路由器配置过程中设置的无线网络密码短语。

  3. 单击连接,或确定,或系统提供的任何按钮以连接到无线网络。

设置了 WEP 受保护的无线网络后,我们可以继续设置更安全的 WPA-PSK 受保护的网络:

  1. 登录到路由器控制面板,然后转到无线部分。

  2. 在相应的字段中设置无线网络名称(SSID);例如,再次将其设置为wifilab

  3. 频道无线模式设置保留为自动

  4. 认证方法设置为WPA-Personal

  5. 现在,设置WPA 预共享密钥的值。使用简单而不复杂的密钥值,可以通过字典猜测。

  6. 您的设置应该类似于以下内容:

  7. 现在,转到无线 | 高级,并将隐藏 SSID选项设置为,将此页面上的所有其他设置保留为它们的默认值:

  8. 单击完成,然后保存并重新启动

  9. 路由器重新启动后,转到系统设置 | 设置管理,并将当前路由器设置保存到文件中备份。

  10. WPA-PSK 受保护的网络现在已经准备好运行了。

现在,您需要以与*规划实验室环境(应该知道)*食谱中描述的方式将受害者 Wi-Fi 客户端设备连接到wifilab网络。

它是如何工作的…

我想给你一些关于本节描述步骤的解释。

我选择了基于真实渗透测试场景的网络拓扑。我们至少需要一个连接到无线网络的无线客户端,因为大多数攻击都需要通信的无线接入点和客户端。我们还需要一个局域网工作站,以便通过 WLAN 进行 LAN 的渗透练习。

我建议在练习无线攻击时使用简单和易猜测的 WEP 和 WPA 密码短语值,以便于密码猜测。

我还建议保存路由器配置备份,以便在不必重复所有配置步骤的情况下轻松将路由器恢复到所需状态。

每次更改路由器配置后,都需要重新启动路由器以应用新设置。

还有更多…

通常,如果您不想仅限于给定的步骤,那么在以下部分中还有更多信息可帮助您选择下一步。

提高你的黑客技能

高级黑客必须成为各种安全性的专家,包括 Wi-Fi WPA-Enterprise 保护。因此,如果您想成为高度合格的 Wi-Fi 渗透测试专家,我建议您在实验室网络中另外设置一个 Radius 服务器,并将路由器连接到该服务器,以练习 WPA-Enterprise 保护黑客技术。

最好使用虚拟 Linux 机器和 free-radius 软件。您需要安装一个虚拟 Linux 主机,并配置桥接网络接口以使用静态 IP 地址。带有 Radius 服务器的网络拓扑将类似于以下图表:

创建虚拟 Linux 机器后,您需要安装 free-radius 软件。最简单的方法是使用apt-get命令:

sudo apt-get install -yu free-radius

或者:

sudo apt-get install -yu free-radius-wpe

free-radius-wpefree-radius的修改版本,主要用于黑客目的,但您也可以仅用于创建 Radius 服务器。

安装完成后,您需要编辑一些配置文件,以设置连接密钥,路由器将使用该密钥与 Radius 服务器进行通信,并设置帐户设置,以便用户通过 WPA-Enterprise 连接到无线网络。

最后,您需要在路由器设置中设置 Radius 服务器 IP 地址、端口号和连接密钥。重新启动路由器。

提示

大多数 Wi-Fi 路由器支持 WPS 协议(Wi-Fi Protected setup:www.wi-fi/knowledge-center/articles/wi-fi-protected-setup%E2%84%A2),这使我们能够轻松地将设备连接到无线网络。但最近,WPS 已被破解,现在被认为是不安全的。此外,WPS 密钥可以在不到 30 小时内被猜出。

您可以在www.ehacking/2012/01/reaver-wps-wpawpa2-cracking-tutorial.html学习如何做到这一点。

通常需要使用字典来猜测 WPA 密钥,但使用大字典进行此类过程需要很长时间。这就是为什么我建议使用云服务来轻松快速地测试具有大字典的哈希。例如,我使用这项服务:www.cloudcracker

另一件值得一提的事情是攻击者机器上具有数据包注入功能的无线接口,这对于成功的无线攻击至关重要。它可以是基于 Atheros 或 Prism 芯片组的 Wi-Fi 卡。例如,我使用 ALFA Network AWUS036NH 无线 USB 适配器。

额外信息

我建议您查看以下书籍,以提高您的 Wi-Fi 渗透测试技能到高级水平:

  • Johnny Cache, Vincent Liu. Hacking Wireless Exposed: Wireless Security Secrets & Solutions, Second Edition

  • Andrew Vladimirov, Konstantin V. Gavrilenko, Andrei A. Mikhailovsky. Wi-Foo: The Secrets of Wireless Hacking

  • Rob Flickenger, Roger Weeks. Wireless Hacks: Tips & Tools for Building, Extending, and Securing Your Network, Second Edition

如果您要成为 Wi-Fi 渗透测试专家,您应该确保查看以下网络资源:

  • Aircrack-Ng 无线攻击工具集:www.aircrack-ng/

  • 无线渗透测试方法:wirelessdefence/Contents/Wireless%20Pen%20Test%20Framework.html

审查在线实验室门户网站(成为专家)

在本节中,我将简要介绍互联网上由第三方举办的公共在线渗透测试实验室。

准备工作

现在,有很多这样的在线渗透测试实验室门户可用,它们提供了大量适用于几乎任何培训任务和需求的各种网络服务和实验室环境拓扑。但是,它们至少有一个共同点对于任何初级渗透测试人员来说很重要——您不需要自己安装、设置和维护任何硬件或软件;这些都已经为您完成了。

值得一提的是,您无法更改所有实验室组件的设置,这就是它们不适用于某些需要配置特定实验室环境参数的特定任务的原因。

要开始使用在线渗透测试实验室进行培训,您将需要以下内容:

  • 一台有互联网访问权限的计算机

  • 一个网络浏览器

  • 一个仅用于使用在线渗透测试实验室门户的电子邮件地址,不会连接到您的其他电子邮件帐户

  • BackTrack 5R3 虚拟机

如何做…

让我们来看看一些在线实验室门户及其简短描述。我们将从检查“Hacking-Lab”开始——这是最有趣的在线黑客门户之一,它为您提供各种在线黑客挑战,包括 OWASP 十大培训:

  1. 打开浏览器,输入地址www.hacking-lab/。您应该看到以下页面:

  2. 在主页左侧单击远程安全实验室,然后单击拓扑,查看Hacking Lab门户由两个逻辑部分组成:公共 Web 门户VPN 保护实验室网络

要开始使用 Hacking Lab 程序,您需要注册并使用您的帐户登录。

  1. 单击网页左侧的**现在创建免费帐户!**并注册。

  2. 单击事件链接以查看当前有哪些事件:

  3. 选择事件,然后在状态列中单击立即注册。在我的情况下,是OWASP 十大

  4. 返回事件页面,单击您选择的事件,然后从打开的列表中选择挑战以阅读详细信息。

一些事件需要与实验室建立 VPN 连接。让我向您展示如何在OWASP 十大事件#1 - OWASP A1 - 盲 SQL 注入攻击中建立连接。请记住,只有在注册了需要连接的事件之一时,您才能建立连接。

  1. 单击网页左侧的下载链接,然后选择LiveCD

  2. 选择最新版本并下载VMware8 Appliance

  3. 现在,运行 VMware Workstation,然后在文件菜单中选择打开,在新的对话框中选择LiveCD VMware8 Appliance

  4. 导入虚拟机对话框中,设置虚拟机名称目录,然后单击导入

  5. 运行 LiveCD 虚拟机:

  6. 单击右上角的旗帜图标,将键盘布局更改为US

  7. 现在,在键盘布局旁边右键单击 VPN 连接图标,然后选择连接密码。将打开以下窗口:

  8. 输入您的 Hacking-Lab ID(电子邮件)和初始密码,然后单击确定。如果一切正确,右上角的 VPN 连接图标应该变成绿色。

  9. 现在,打开浏览器并输入易受攻击的应用程序 URL:glocken.hacking-lab/12001/inputval_case2/inputval2/index.html

  10. 开始解决挑战!

现在,让我们看看另一个名为 Hack-a-Server 的门户。

该门户不仅被白帽黑客和渗透测试人员用来提高他们的技能,还被系统管理员和真实服务器的所有者用来测试其安全性,并愿意为漏洞披露付费。您可以在其主页上找到该门户的主要理念。

  1. 打开浏览器,输入地址为www.hackaserver/

  2. 点击页面右上角的注册

  3. 输入您的昵称、电子邮件、密码,然后点击注册

  4. 检查您的电子邮件;您将收到来自 Hack-A-Server 门户的包含您的帐户激活链接的消息。点击链接。

在这一步中,只有培训和考试竞技场对您可用。但是,值得一提的是,Hack-A-Server 是一家商业初创公司,这就是为什么它允许您在游乐场竞技场上披露和利用漏洞来赚钱。

但是,在您可以访问游乐场竞技场并赚钱之前,您必须通过考试。

  1. 点击网页顶部的培训竞技场链接,查看可用于练习渗透测试技能的内容:

  2. 选择任何目标,点击**黑吧!**查看目标详细信息。

  3. 门户将要求您下载证书包(连接包)以创建到培训竞技场的 VPN 连接。

  4. 下载证书包并解压缩。

  5. 启动 BackTrack 5R3 虚拟机。

  6. 将解压缩的连接包复制到您的虚拟 BackTrack 5R3 机器中。

  7. 打开终端,将工作目录更改为证书包目录。

  8. 运行以下命令:

openvpn client.conf
  1. 现在,打开一个新的终端窗口,通过跟踪路由和 ping 其 IP 地址(您可以在目标详细信息网页上找到)来检查与目标的连接:

  2. 现在开始黑吧!

要通过考试,您将需要在考试竞技场找到尽可能多的漏洞,并提交报告给 Hack-a-Server 团队进行审核。如果您通过了考试,您将被允许进入游乐场竞技场,您可以在那里获得报酬。

还有更多…

如果您有兴趣尝试尽可能多的在线黑客游乐场,您也应该绝对检查以下内容:

  • try2hack.nl

  • www.hackthissite

  • www.dareyourmind

  • www.hackquest/

  • www.root-me

  • hax.tor.hu

本文标签: 入门 测试