Skip to content

Latest commit

 

History

History
1278 lines (832 loc) · 74.2 KB

File metadata and controls

1278 lines (832 loc) · 74.2 KB

一、渗透测试即时入门:如何建立测试实验室

欢迎来到即时渗透测试:建立测试实验室如何。本指南包含了必要的信息和必要的步骤,这些信息和步骤是完成所有准备工作和建立自己的实验室以进行基础设施、web 和 Wi-Fi 渗透测试所必需的。

了解渗透测试(必须知道)

本节包含渗透测试的简要概述(渗透测试是什么,存在哪些类型的渗透测试,典型的工作流程,以及您应该记住的内容)。

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

渗透测试是一种安全测试,在这种测试中,评估人员模拟真实世界的攻击,以确定规避应用程序、系统或网络安全功能的方法。它通常涉及使用攻击者常用的工具和技术对真实系统和数据发起真实攻击。

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

  • 外部:这些测试是在测试区域(通常是网络)之外进行的,模拟潜在的外部威胁。
  • 内部:这些测试从网络内部执行,模拟潜在的内部入侵者,可能是能够连接到办公网络的访客(授权或非授权)或不忠诚的员工。

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

  • VPN 渗透测试
  • Web 应用程序渗透测试
  • Wi-Fi 渗透测试

重要的是,渗透测试的目标也可能有所不同。一些公司可能希望检查其网络漏洞,其他公司可能希望测试其安全解决方案(如 IPS)的有效性,一些公司可能需要测试其安全流程(如监控和事件响应)。此外,为了符合要求,还需要进行渗透测试;例如,PCI DSS。这些目标确定了渗透测试的一般条件。渗透测试最广泛的分类如下:

  • 黑匣子:渗透测试人员在测试之前没有任何关于其目标的信息
  • 灰盒:渗透测试仪有一些目标基础设施的基本信息
  • 白盒:渗透测试人员拥有他所需要的所有信息,并且能够在测试过程中向客户询问更多信息

怎么做。。。

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

  • 计划
  • 发现
  • 袭击
  • 报告

计划和报告阶段通常在项目期间进行一次,但发现和攻击阶段可能会重复多次,具体取决于结果。以下是渗透测试工作流程图:

How to do it...

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

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

  3. The next step after enumeration in the discovery phase is vulnerability identification. Similar to the enumeration process, this step could be automated, non-automated or, in most cases, mixed. The automated approach supposes the use of specialized software tools, while non-automated means comparing the targets' software versions gained during the enumeration process with vulnerability databases and analyzing the targets' behavior after data input.

    通常,如果没有避免 ID 的目标,则在发现阶段会同时使用不同类型的扫描。

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

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

还有更多。。。

这里有一些重要的事情要记住。

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

在开始规划和建立实验室之前,最好先做一些准备工作,并确定自己需要实验室的原因。通常,渗透测试人员和信息安全专家都有几个理由来建立自己的实验室,但在这里,我想告诉您最常见的理由:

  • 这是练习专业渗透测试技能和获得更多测试知识的最佳方式
  • 您在实验室的所有执业都是合法的,因为您拥有并控制它,无需先获得授权书LOA),因此没有违法的风险
  • 这是一个完全受控的环境,其参数和配置可以以不同的方式更改,以便尝试不同的工具和技术
  • 实验室可用于准备工作环境;也就是说,在笔记本电脑中配置用于渗透测试的软件工具和不同模板
  • 使用完全受控的实验室是发现和研究新软件漏洞的最佳方法之一
  • 信息安全机制和解决方案的有效性和性能也可以在实验室进行研究和评估

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

同时,如果您是与客户合作的渗透测试人员,您可以遇到客户网络中使用的各种不同的软件和技术,对您来说,熟悉这些软件和技术并知道如何操作是极其重要的。此外,在渗透测试期间,您可能会遇到新的技术、机制或软件。所以,很明显,你必须在一个安全的实验室学习和练习黑客攻击,而不是在客户的生产系统上。

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

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

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

  1. 安装需要研究的感兴趣的软件。
  2. 使用特殊技术发现漏洞;例如,模糊化。
  3. 使用调试器或其他技术研究漏洞并确定其参数。
  4. 了解漏洞利用的可能影响。
  5. 为该漏洞创建并测试概念证明PoC,以公开证明其可被利用。

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

你应该记住什么

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

  • 为了避免任何法律问题,您应该始终获得客户的批准。LOA 是一种权威许可,使渗透测试合法化。LOA 应由适当的机构发布,特别是渗透测试的范围(实际上,测试内容),并且必须包含客户的确认,客户真正拥有范围内的所有资产。
  • 与每次信息安全审计或评估一样,在开始渗透测试项目之前,您还应与客户协商保密协议保密协议。本协议限制了双方的信息披露,因此客户有信心保存其信息的机密性,并且您对您的方法隐私有信心。
  • 重要的是协商组织细节,如特定测试窗口(确切日期和时间)、必要的联系人以及意外目标系统故障时的事件响应程序。

附加读数

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

  • NIST SP 800-115信息安全测试与评估技术指南
  • 黑客攻击暴露了 7 个:网络安全秘密&解决方案,作者为斯图尔特·麦克卢尔乔尔·斯坎布雷乔治·库尔茨2012
  • http://www.pentest-standard.org

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

这一部分揭示了如何逐步规划您的实验室环境,并展示您在实验室规划过程中应该考虑的内容。

准备好了吗

为了在建立实验室后获得最好的结果,你首先应该做好计划。您的实验室将用于练习某些渗透测试技能。因此,为了正确地规划你的实验室环境,你应该首先考虑你想练习的技能是基于在理解测试(必须知道)T1 T1 配方中列出的想法和原因。虽然你也可能有不常见甚至独特的理由来建立一个实验室,但我可以为你提供一份可能需要练习的技能的平均清单:

  • 基本技能

    • 发现技术
    • 枚举技术
    • 扫描技术
    • 网络漏洞利用
    • 权限提升
    • OWASP 十大漏洞发现与利用
    • 密码和散列攻击
    • 无线攻击
  • 附加技能

    • 修改和测试漏洞
    • 隧道
    • 模糊化
    • 漏洞研究
    • 记录渗透测试过程

根据渗透测试的深度和渗透测试人员的资质,所有这些技能都应用于实际渗透测试项目中。以下技能可在三种实验室类型或其组合中练习:

  • 网络安全实验室
  • 网络应用实验室
  • 无线网络实验室

我应该提到的是,列出的三种实验室类型的实验室规划过程都包括相同的四个阶段:

  1. 确定实验室环境要求:此阶段帮助您实际了解实验室应包括哪些内容。在此阶段,应列出所有必要的实验室环境组件,并评估其对实践不同渗透测试技能的重要性。
  2. 确定实验室环境规模:本阶段需要定义各种实验室环境组件的数量。
  3. 确定所需资源:此阶段的重点是选择哪些硬件和软件可用于构建具有指定参数的实验室,并使其与您实际拥有或能够获得的相匹配。
  4. 确定实验室环境架构:本阶段设计网络拓扑和网络地址空间。

怎么做。。。

现在,我想一步一步地描述如何使用以下四个阶段的方法,结合上一节列出的所有三种实验室类型,规划一个通用实验室:

  1. Determine the lab environment requirements:

    为了符合我们的目标并练习特定技能,实验室应包含以下组成部分:

    |

    实践技能

    |

    必要组件

    | | --- | --- | | 发现技术 | 多个不同的主机和不同的 OSs 防火墙 IPS | | 枚举技术 | | 扫描技术 | | 网络漏洞利用 | | OWASP 十大漏洞发现和利用 | 网络服务器 Web 应用程序数据库服务器 Web 应用防火墙 | | 密码和散列攻击 | 工作站服务器域控制器 FTP 服务器 | | 无线攻击 | 无线路由器 Radius 服务器笔记本电脑或任何其他带有 Wi-Fi 适配器的主机 | | 修改和测试漏洞利用 | 任何主人易受攻击的网络服务调试器 | | 特权升级 | 任何主人 | | 隧道 | 几位主持人 | | 起毛 | 任何主人易受攻击的网络服务调试器 | | 脆弱性研究 | | 记录渗透测试过程 | 专用软件 |

    现在,我们可以制作我们的组件列表,并为我们的实验室定义每个组件的重要性(重要性范围介于不太重要、**附加、**和最重要、基本之间):

    |

    组件

    |

    重要性

    | | --- | --- | | Windows 服务器 | 本质的 | | Linux 服务器 | 重要的 | | FreeBSD 服务器 | 附加的 | | 域控制器 | 重要的 | | 网络服务器 | 本质的 | | FTP 服务器 | 重要的 | | 网站 | 本质的 | | Web 2.0 应用程序 | 重要的 | | Web 应用防火墙 | 附加的 | | 数据库服务器 | 本质的 | | Windows 工作站 | 本质的 | | Linux 工作站 | 附加的 | | 笔记本电脑或任何其他带有 Wi-Fi 适配器的主机 | 本质的 | | 无线路由器 | 本质的 | | Radius 服务器 | 重要的 | | 防火墙 | 重要的 | | IPS | 附加的 | | 调试器 | 附加的 |

  2. Determine the lab environment size:

    在这一步中,我们应该决定在实验室中需要每个组件的实例数量。我们将只计算基本和重要组件的数量,因此让我们排除所有其他组件。这意味着我们现在得到了以下数字:

    |

    组件

    |

    数字

    | | --- | --- | | Windows 服务器 | 2. | | Linux 服务器 | 1. | | 域控制器 | 1. | | 网络服务器 | 1. | | FTP 服务器 | 1. | | 网站 | 1. | | Web 2.0 应用程序 | 1. | | 数据库服务器 | 1. | | Windows 工作站 | 2. | | 带有 Wi-Fi 适配器的主机 | 2. | | 无线路由器 | 1. | | Radius 服务器 | 1. | | 防火墙 | 2. |

  3. Determine required resources:

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

    • 服务器和受害者工作站将是基于 VMWare Workstation 8.0 的虚拟机。要顺利运行虚拟机,您需要有一个基于 CPU 的适当硬件平台,该 CPU 具有两个或更多内核和至少 4 GB RAM。
    • Windows 服务器 OSs 将在 Microsoft Windows 2008 Server 和 Microsoft Windows Server 2003 下工作。
    • 我们将使用 Ubuntu12.04LTS 作为 Linux 服务器操作系统。工作站将在 Microsoft Windows XP SP3 和 Microsoft Windows 7 下工作。
    • ASUS WL-520gc 将用作 LAN 和 WLAN 路由器。
    • 将任何笔记本电脑作为攻击者的主机。
    • 三星 Galaxy Tab 作为 Wi-Fi 受害者(或其他支持 Wi-Fi 的设备)。

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

  4. Determine the lab environment architecture:

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

    How to do it...

    地址空间参数:

    • DHCP 服务器:192.168.1.1
    • 网关:192.168.1.1
    • 地址池:192.168.1.2-15
    • 子网掩码:255.255.255.0

它是如何工作的。。。

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

  • 所有 OSs 和网络服务都适合于实践发现、枚举和扫描技术,也适合于网络漏洞攻击。我们还需要至少两个防火墙——windows 内置软件和路由器内置防火墙功能。
  • 学习不同的扫描技术和防火墙规则检测知识需要防火墙。此外,您可以使用任何 IP 来练习规避技巧。
  • web 服务器、网站和 web 应用程序是学习如何披露和利用 OWASP 前 10 个漏洞所必需的。虽然不需要web 应用防火墙WAF),但它有助于将 web 渗透测试技能提升到更高的水平。
  • 理想情况下,FTP 服务是一种练习密码强制的方式。了解和尝试 Windows 域密码和哈希攻击(包括中继)需要 Microsoft 域服务。这就是为什么我们需要至少一个具有远程密码身份验证的网络服务和至少一个具有两个 Windows 工作站的 Windows 域控制器。
  • 无线接入点对于执行各种无线攻击至关重要,但最好将 LAN 路由器和 Wi-Fi 接入点组合在一个设备中。因此,我们将使用带有多个 LAN 端口的 Wi-Fi 路由器。radius 服务器对于使用 WPA Enterprise security 对 WLAN 实施攻击是必要的。
  • 带有任何 Wi-Fi 适配器的笔记本电脑和平板电脑将成为无线攻击的攻击者和受害者。
  • 隧道技术可在任意两台主机上实施;不管我们使用的是 Windows 还是其他操作系统。
  • 测试和修改漏洞利用以及模糊和漏洞研究需要在易受攻击的主机上安装调试器。
  • 为了正确地记录渗透测试过程,可以使用任何测试处理器软件,但是有几种专门的软件解决方案,这使事情变得更加舒适和容易。

在第二步中,我们确定可以使用哪些软件和硬件作为所选组件类型的实例,并根据基础和中级专业级渗透测试仪的通用实验室设置其重要性。

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

在第四步中,我们根据确定的资源设计了实验室网络。我们选择将所有主机放在同一子网中,以便以更简单的方式设置实验室。子网有自己的 DHCP 服务器,可以为主机动态分配网络地址。

还有更多。。。

让我向您介绍规划实验室环境细节的其他方法。

实验室环境成分变化

没有必要将笔记本电脑用作攻击机器,将平板电脑用作受害者–您只需要两台连接了 Wi-Fi 适配器的电脑即可执行各种无线攻击。

作为虚拟机的替代品,笔记本电脑、平板电脑或旧的未使用电脑(如果有)也可以用作硬件主机。只有一个条件——他们的硬件资源应该足以让计划中的操作系统工作。

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

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

如果需要,您还必须在受害者的一个工作站上安装任何调试器,以便测试新的或修改的漏洞利用,并执行漏洞研究。

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

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

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

|

解决方案

|

赞成的意见

|

欺骗

| | --- | --- | --- | | VMWare ESXi |

  • 企业解决方案

  • 强大的解决方案

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

  • 无需安装操作系统

|

  • 成本非常高
  • 需要强大的服务器
  • 需要处理器虚拟化支持

| | VMWare 工作站 |

  • 用户友好桂
  • 轻松安装
  • 虚拟 *nix系统运行速度快
  • 与虚拟图形更好地协同工作

|

  • 共享软件
  • 视窗 7
  • 对系统资源的要求
  • 不支持 64 位来宾操作系统
  • 虚拟窗户系统运行缓慢

有时会遇到 USB Wi-Fi 适配器问题 | | VMWare 播放器 |

  • 免费软件
  • 用户友好桂
  • 易于安装

|

  • 无法创建新虚拟机
  • 功能差

| | 微软虚拟 PC |

  • 免费软件
  • 与微软系统具有良好的兼容性和稳定性
  • 良好的通用串口总线支持
  • 易于安装

|

  • 仅适用于窗户,且仅适用于窗户
  • 不支持并行解决方案所具有的许多功能

| | Oracle 虚拟箱 |

  • 免费软件
  • 虚拟窗户系统运行速度快
  • 用户友好型桂
  • 易于安装
  • 适用于苹果操作系统和 Solaris 以及窗户和 Linux
  • 支持“远程传送”技术

|

  • 付费通用串口总线支持
  • 虚拟 *nix系统运行缓慢

|

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

您可以在找到更多的比较信息 http://virt.kernelnewbies.org/TechComparison

建立网络安全实验室(必须知道)

本节旨在建立一个实验室环境,以便进行渗透测试。您可以在此类实验室中练习的技能如下:

  • 基本技能

    • 发现技术
    • 枚举技术
    • 扫描技术
    • 网络漏洞攻击
    • 权限提升
    • 密码和哈希攻击
  • 附加技能

    • 修改和测试漏洞
    • 隧道
    • 模糊化
    • 漏洞研究
    • 记录渗透测试过程

准备好了吗

在设置网络安全实验室环境之前,让我们做一些准备。我们需要清楚地了解此任务的实验室网络拓扑。它将不同于*规划实验室环境(应知道)*配方中给出的拓扑,因为针对当前实验室需求进行了调整。在本配方中,其他成分是必需的:

  • 路由器
  • 域控制器(Windows 2008)
  • FTP 服务器(Ubuntu)
  • 两个工作站(Windows 7 Pro 和 Windows XP Pro)
  • 攻击者工作站

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

Getting ready

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

Getting ready

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

  • VMware Workstation 8(安装程序)
  • Microsoft Windows Server 2008(.iso 安装程序磁盘映像)
  • Ubuntu 服务器 12(.iso安装程序磁盘映像)
  • Windows 7(.iso安装程序磁盘映像)
  • Windows XP(.iso安装程序磁盘映像)

除了 VMware Workstation 之外,没有 service Pack 的软件版本更可取,因为它们包含更多公开发布的漏洞,您可以利用这些漏洞在实验室中练习技能。

怎么做。。。

我们需要在第一步中配置路由器。例如,我使用了华硕 WL-520GC,但家庭路由器之间的差异并不显著:

  1. 将电源和互联网连接电缆插入路由器。互联网连接电缆应插入 WAN 端口。
  2. 现在,用网线将计算机的 LAN 适配器连接到任何路由器 LAN 端口,该适配器将承载虚拟机(主机工作站)。
  3. 路由器前面板上的电源指示灯、WAN 端口指示灯和其中一个 LAN 端口指示灯必须亮起绿灯。
  4. 在主机工作站上打开浏览器,进入地址192.168.1.1,输入路由器的用户名和密码。默认为admin:admin
  5. 在左侧面板中,单击 IP配置链接,并将您的 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. Choose the custom setup type and click on Next to view the setup options:

    How to do it...

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

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

  5. 如果要让 VMware Workstation 软件将调试信息发送到 VMware 公司服务器进行进一步分析,请选中下一屏幕上的帮助改进 VMware Workstation复选框。点击下一步

  6. 选择要为 VMware Workstation 设置快捷方式的位置,然后单击下一步

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

  8. 在系统提示时输入许可证密钥,然后完成安装。

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

  1. 运行 VMware Workstation。
  2. 在下拉菜单帮助中,点击软件更新
  3. 在打开的软件更新窗口中,点击检查更新按钮。
  4. 选择可用更新并点击下一步安装可用更新。

现在,VMware 工作站已准备就绪,我们可以继续使用其他实验室组件。

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

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

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

  3. In the next window, select Installer disk image file (iso), and browse through the path to the installer image of Windows Server 2008, and click on Next:

    How to do it...

  4. In the next window, type in a product key if you have one or skip it, select the Windows Server 2008 Enterprise version, type in the user name (I use lab here), and click on Next:

    How to do it...

    如果您没有提供产品密钥,将出现一个新的对话框窗口,要求您确认,以便在没有产品密钥的情况下继续。点击

  5. In the next window, type in the name for this virtual machine (I used the default one). Choose the file location for the virtual machine path and click on Next:

    How to do it...

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

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

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

    |

    参数

    |

    价值

    | | --- | --- | | 记忆力 | 2GB | | 处理器 | 1。 | | 网络适配器 | 桥接(无物理网络连接状态复制) | | USB 控制器 | 没有一个 | | 陈列 | 使用监视器的主机设置 |

  9. 点击关闭

  10. 创建后,在此虚拟机上选择电源****,点击完成**。**

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

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

  13. 重新启动来宾系统并登录。您必须看到“初始配置”对话框。

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

  15. 使用初始配置窗口中的链接提供计算机说明和名称。

  16. Open the Local area connection properties window using the following sequence: Configure networking | Local area connection | Properties. Leave all properties to the default setting except TCP/IPv4. Set the values for the TCP/IPv4 properties as shown in the following screenshot:

![How to do it...](img/4124_03_07.jpg)

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

![How to do it...](img/4124_03_08.jpg)
  1. Now, we need to assign a Domain Controller role to our server. In the initial configuration window, click on the Add roles link and then Next to open the Server Roles assigning dialog window. Select the Active Directory Domain Services checkbox and start the role installation by clicking on the Next and Install buttons:
![How to do it...](img/4124_03_09.jpg)
  1. When the role installation will be finished, open the Start menu and type in dcpromo in the Search field. Launch dcpromo:
![How to do it...](img/4124_03_10.jpg)
  1. Continue clicking on Next in the opened dialog window until you get to the Choosing deployment configuration dialog box, select Create a new domain in a new forest, and click on Next:
![How to do it...](img/4124_03_11.jpg)
  1. Type in your lab domain name (FQDN), for example lab.local, and click on Next:
![How to do it...](img/4124_03_12.jpg)
  1. Now, we need to choose the functional level for the domain forest. Choose the latest version in your system (for mine, it is Windows Server 2008) and click on Next:
![How to do it...](img/4124_03_13.jpg)
  1. In the next screen, we must enable a DNS server role for our domain controller in order for it to work correctly:
![How to do it...](img/4124_03_14.jpg)
  1. 当向导提示您与现有 DNS 基础设施集成时,单击
  2. 在下一个对话框中,将DatabaseLogSYSVOL文件夹保留为默认文件夹,然后单击下一步
  3. 设置目录服务还原模式管理员帐户密码,点击下一步
  4. 检查摘要信息,单击下一步,等待向导安装 active directory 域服务,然后重新启动系统。
  5. Take a snapshot of the domain controller virtual machine after its successful installation and initial configuration. To take a snapshot, select the Take Snapshot menu item, type in a snapshot name and comments in the dialog window, and click on the Take Snapshot button:
![How to do it...](img/4124_03_15.jpg)

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

  1. 在 VMware Workstation 中,按Ctrl+N并按照屏幕上的说明创建新的 Ubuntu 虚拟机。此过程类似于创建 Windows Server 2008 虚拟机,因此您不会遇到任何问题。确保您没有忘记在此过程中输入的根密码,并将网络连接设置为桥接。

  2. Ubuntu 安装将在完成虚拟机创建后自动启动。它还将自动安装 VMware 工具。这将需要几分钟的时间,具体取决于计算机的性能和虚拟机属性。

  3. After the installation, you should be able to see a standard Ubuntu Server console with a login invitation:

    How to do it...

  4. 登录并键入不带参数的ifconfig命令以查找网络接口的名称。就我而言,它是eth0

  5. Now, configure your network interface by executing the following command:

    sudo ifconfig eth0 192.168.1.14 netmask 255.255.255.0 broadcast 192.168.1.255
    

    您必须输入 root 密码才能执行该命令。在此之后,再次输入ifconfig命令,但无任何参数,检查网络接口设置是否符合我们的要求:

    How to do it...

  6. 现在,我们需要添加一个通过默认网关的路由,以便让我们的服务器访问 Internet。通过执行以下命令来完成:

    sudo route add default gateway 192.168.1.1
    
  7. Now, execute the route command without any arguments and try ping www.google.com:

    How to do it...

  8. Let us install the FTP server now. I have chosen vsftpd as the solution for an easy way to install and setup. Type in the following command:

    sudo apt-get –yu install vsftpd
    

    安装将在自动模式下完成。

  9. 要配置vsftp守护进程,请通过执行以下命令使用 Nano 编辑器打开/etc/vsftpd.conf文件:

    sudo nano /etc/vsftpd.conf
    
  10. 取消注释vsftpd.conf文件中的以下行:

```
local_enable=YES
write_enable=YES
```
  1. 然后按Ctrl+X退出。回答Y关于保存更改的问题,并选择相同的文件保存/etc/vsftpd.conf
  2. Now, we need to create at least one user who will have FTP access to his home directory. The easiest way to do it is to use the adduser command, which will prompt you with all the needed data and automatically create the user's home directory:
![How to do it...](img/4124_03_19.jpg)
  1. 通过执行以下命令重新启动 FTP 守护程序:
```
sudo /etc/init.d/vsftpd restart
```
  1. 拍摄新虚拟 Ubuntu 服务器的快照。

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

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

  2. 如果在上一步中未输入 Windows 产品密钥,系统将提示您输入该密钥。输入有效的产品密钥(您可以在 Internet 上找到许多试用密钥)。带 SP3 的 Windows XP 允许您在安装过程中跳过产品密钥输入步骤。

  3. As long as we use virtual machines for our lab, performance is important for us. We can improve the performance of Windows XP in the following ways:

    1. 开始菜单中打开控制面板,切换到经典视图。
    2. 双击系统图标。
    3. 进入高级选项卡,点击性能部分的设置按钮。
    4. 选择调整至最佳性能选项,点击应用并确定

    How to do it...

  4. 由于该工作站将用于实践渗透测试技能,因此它应该存在一些漏洞。这就是我们需要关闭自动更新的原因-进入自动更新选项卡,选择关闭自动更新,点击应用,然后点击确定

  5. The network connection for the Windows XP workstation is configured to acquire the dynamic IP address by default, so it must be already set. But, you need to manually set the domain controller IP as the primary DNS server address:

    1. 打开控制面板双击网络连接图标。
    2. 打开局部区域连接及其属性。
    3. 选择互联网协议(TCP/IP)并点击属性按钮。
    4. 设置以下属性并返回控制面板

    How to do it...

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

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

    2. 双击系统图标。

    3. 进入系统属性对话框中的计算机名选项卡。

    4. 点击**更改…**按钮。

    5. 将计算机名设置为WinXP

    6. 在部分的成员中,选择单选按钮,并在其下方的文本字段中键入实验室域名。在我的例子中,它是lab.local,点击确定**:

      How to do it...**

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

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

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

  1. 在 VMware Workstation 中,按Ctrl+N并按照屏幕上的说明创建具有自定义参数的新虚拟机。不要忘记将虚拟机的网络接口设置为bridged。Windows 7 安装过程在创建虚拟机后立即自动启动。
  2. Windows 7 在安装后自动启动。
  3. 登录并在系统属性对话框窗口中将性能设置设置为调整为最佳性能;可在控制面板所有控制面板项目系统****高级系统设置中找到。
  4. 转到计算机名选项卡,并以与 Windows XP 相同的方式将此工作站加入实验室域。
  5. 重新启动系统并拍摄快照。

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

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

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

    1. 在 Windows XP启动菜单中,找到运行命令,输入cmd

    2. 在命令行中,键入ftp并按回车

    3. 键入命令open 192.168.1.14并按回车

    4. 如果 FTP 服务器工作,您应该会看到类似以下代码:

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

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

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

它是如何工作的。。。

让我们探讨一下刚才介绍的基本步骤。

在路由器配置过程中,我们需要限制 Internet 用户在实验室路由器上生根,因此我们应该禁用从外部网络(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 服务器角色安装到域控制器以维护 active directory。

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

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

还有更多。。。

作为一名专业的渗透测试人员,意味着要不断深入了解更多信息,并不断提高自己的知识水平。这对于专业渗透测试人员和真正的黑客来说都很常见,这也是检查下一段的原因。

备选方案和配置

您必须了解,所描述的构建网络安全实验室的方法并不是唯一或正确的方法——从小型个人实验室到公司虚拟化集群,可能有很多不同的变体和不同的解决方案。

让我给你一些选择:

  • 如果您要研究漏洞并修改或编写自己的漏洞攻击,那么使用 Visual Studio 插件设置 VMware Workstation 以进行调试可能会很有用。它提供了虚拟机和 Microsoft Visual Studio 之间的接口。
  • 为了练习特定技能,您可能需要添加其他主机并安装其他附加网络服务。这并不难,你总能在网上找到合适的手册。
  • 您还可以使用旧的未使用的物理计算机替换部分或全部虚拟机,并使用路由器或交换机将它们连接到网络中。
  • 如果不想手动安装和配置所有虚拟系统,可以在 Internet 上找到已安装 OSs 的虚拟机。您还可以使用巧尽心思构建的易受攻击的虚拟机。例如,实验室中最易受攻击的机器之一是Metasploitable

额外提示

在这里,我想告诉你一些更有用的事情:

  • 在建立实验室并拍摄所有虚拟机的快照之后,您将开始对它们执行各种技术和攻击。完成基本的发现和枚举攻击后,您可能希望将技能提高到下一个级别,并针对不同的安全解决方案测试自己。在这种情况下,在目标虚拟机上安装并设置集成的主机防病毒防火墙入侵防御系统HIPS)并拍摄新快照。这将让您练习不同的防火墙规则枚举技术,即所谓的firewalking和不同的 IDS 规避技术。您始终可以将系统从任何状态恢复到任何快照,以便比较在不同系统状态下使用不同技术的结果。
  • 在渗透测试项目中,我通常使用的最有用的技术之一是隧道。这是一种通过主机传递流量的技术,主机已经由您控制(成功攻击)。这意味着您可以访问不可路由的主机和网络。这就是为什么我强烈建议你在实验室里学习和实践它,如果你想充分利用你的渗透测试技能的话。
  • 始终在实验室尝试新技术和软件,以便更好地理解它们。
  • 尝试不同的渗透测试发行版,如 BackTrack,并选择最适合您的。
  • 我总是拍摄虚拟系统的快照。快照是虚拟机的已保存状态,允许您返回到以前保存的任何点。这意味着您有一个很好的机会来使用虚拟机做任何您想做的事情,而不必担心完全错误配置或丢失它们。因此,不要忘记拍摄快照。

其他信息

要获取其他信息,您可以查看以下资源:

建立网络应用实验室(应该知道)

本节旨在为实践 web 应用程序渗透测试建立一个实验室环境。您可以使用这种类型的实验室练习以下技能:

  • 基本技能

    • 枚举技术
    • 扫描技术
    • OWASP 十大漏洞发现与利用
    • 权限提升
  • 附加技能

    • 模糊化
    • 漏洞研究
    • 记录渗透测试过程

准备好了吗

首先,我们必须确定 web 应用程序实验室的拓扑结构和体系结构。在此配方中,我们将只使用 web 应用程序渗透测试所必需的组件,而不包括其他组件。以下实验室组件是我们当前任务所必需的:

  • 路由器
  • 网络服务器
  • 受害者 web 客户端工作站
  • 攻击者工作站

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

Getting ready

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

下图提供了所述的网络安全实验室体系结构:

Getting ready

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

  • VMware Workstation 8(安装程序)
  • Microsoft Windows Server 2003(.iso安装程序磁盘映像)
  • Windows XP(.iso 安装程序磁盘映像)
  • XAMPP Apache 发行版(Windows 安装程序可从下载)http://www.apachefriends.org/en/xampp-windows.html
  • Mozilla Firefox(离线安装程序,版本越旧越好)
  • Google Chrome(离线安装程序,版本越旧越好)
  • Apple Safari(离线安装程序,版本越旧越好)

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

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

怎么做…

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

更新 VMware 工作站后,您可以断开 WAN 电缆与路由器的连接,因为我们不再需要 Internet 连接。

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

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

  2. 如果在上一步中未输入 Windows 产品密钥,系统将提示您输入该密钥。输入有效的产品密钥(您可以在 Internet 上找到许多试用密钥)。带有 SP3 的 Windows XP 允许您在安装过程中跳过产品密钥输入步骤。

  3. So long as we use virtual machines for our lab, performance is important for us. We can improve the performance of Windows XP in the following way:

    1. 通过开始菜单打开控制面板,切换到经典视图。
    2. 双击系统图标。
    3. 进入高级选项卡,点击性能部分的设置按钮。
    4. 选择调整至最佳性能选项,点击应用并确定

    How to do it…

  4. 由于该工作站将用于练习渗透测试技能,因此它应该存在一些漏洞。这就是为什么我们需要关闭自动更新;进入自动更新页签,选择关闭自动更新选项,点击应用,然后点击确定

  5. The network connection for the Windows XP workstation is configured to acquire a dynamic IP address by default, so it must be already set. But, you need to manually set the domain controller IP as the primary DNS server address:

    1. 打开控制面板双击网络连接图标。
    2. 打开局部区域连接及其属性。
    3. 选择互联网协议(TCP/IP)并点击属性按钮。
    4. 设置以下属性并返回到网络连接窗口:

    How to do it…

  6. We need to turn the network interface off before installing browsers so they do not download and install the latest versions. Right-click on Local Area Connection and select Disable:

    How to do it…

    网络连接图标应变为灰色,这意味着接口处于非活动状态。

  7. 通过运行安装程序并按照屏幕上的说明安装 Google Chrome 浏览器(出于 web app lab 的需要,我使用 Chrome v.14)。

  8. 现在,我们需要关闭谷歌浏览器的自动更新。在开始菜单中点击运行并输入regedit命令。

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

  10. 创建子项\Google\Update\

  11. In HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\, create a DWORD parameter AutoUpdateCheckPeriodMinute, and set its value to 0:

![How to do it…](img/4124_04_07.jpg)
  1. 关闭注册表编辑器并运行 Mozilla Firefox 安装程序(出于 web app lab 的需要,我使用 Firefox v8)。
  2. 按照屏幕上的说明,选择标准安装
  3. 安装后运行 Mozilla Firefox 浏览器。
  4. 在出现提示时,选择不从其他浏览器导入任何数据的选项。
  5. 工具下拉菜单中,选择选项
  6. 进入选项窗口中的高级选项卡。
  7. Open the sub-tab Update and deselect all the checkboxes. For Firefox 8, it looks similar to the following screenshot:
![How to do it…](img/4124_04_08.jpg)

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

![How to do it…](img/4124_04_09.jpg)
  1. 关闭 Mozilla Firefox 并继续安装 Apple Safari 浏览器。
  2. 运行 Apple Safari 安装程序(出于 web app lab 的需要,我使用 Safari v4),并按照屏幕上的说明进行操作。
  3. Apple Safari 允许您在安装过程中选择自动更新选项,因此在提示时取消选中自动更新 Safari 和其他 Apple 软件复选框,并完成安装。
  4. Now, open the Network Connections window from Control Panel and enable Local Area Connection by right-clicking on its icon and selecting Enable:
![How to do it…](img/4124_04_10.jpg)
  1. 我们需要对 Windows XP 虚拟机做的最后一件事是拍摄快照。
  2. In the VM dropdown menu of VMware Workstation, select Snapshot | Take Snapshot…, and input a name and a description for the new snapshot:
![How to do it…](img/4124_04_11.jpg)

我们的 web 客户端工作站现在已经准备好进行实验室实验,我们可以通过安装基于 Windows 2003 的 web 服务器进一步进行。
  1. 在 VMware Workstation 中,按Ctrl+N,按照屏幕上的说明创建一个具有自定义参数的新虚拟机。不要忘记将虚拟机的网络接口设置为bridged
  2. Depending on the Windows Server 2003 distribution, the installer can prompt you with which type of Windows 2003 you want to install. We need to choose Windows 2003 Server Standard (option B):
![How to do it…](img/4124_04_12.jpg)
  1. 在此之后,Windows Server 2003 安装过程开始。
  2. 在安装过程中,系统将提示您输入产品密钥。输入在 Internet 上找到的任何试用密钥,如果您有许可证,请输入有效密钥。
  3. 安装 Windows Server 2003 后,请等待 VMware Tools 安装完毕,然后重新启动系统。
  4. 现在,我们需要设置网络连接属性。打开局域网连接属性并使用其他 IP 设置设置静态 IP192.168.1.13,如*设置网络安全实验室(必须知道)*配方中所述。
  5. 现在,将 XAMPP 安装程序复制到 Windows 2003 Server 虚拟机并运行它。
  6. Follow the on-screen instructions and leave the XAMPP path by default as C:\xampp\ when prompted:
![How to do it…](img/4124_04_14.jpg)
  1. Also, we should install Apache and MySQL as services, so select the following checkboxes during installation:
![How to do it…](img/4124_04_15.jpg)
  1. 点击安装并等待安装结束。
  2. Apache 服务器和 MySQL 服务器将在安装后自动启动。
  3. Now, find the htdocs directory in the XAMPP directory (in my case, it is C:\xampp\htdocs), and delete all the default content from that directory:
![How to do it…](img/4124_04_16.jpg)
  1. 现在,将解压缩的 Web 应用程序文件夹dvwa复制到空的htdocs目录中。
  2. 进入dvwa目录,找到.htaccess文件。
  3. 用记事本打开它进行编辑。
  4. 查找代码的下一部分:
```
# 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. Let us now simplify the attacker's task by reducing some PHP security settings. Go to the XAMPP control panel, click on Apache's Config button and select PHP (php.ini) to open the PHP config file:
![How to do it…](img/4124_04_24.jpg)
  1. php.ini文件中找到allow_url_fopen参数,并将其值设置为off
  2. 找到allow_url_include参数并将其值设置为off
  3. Now, we need to restart the Apache server to apply the new settings. Click on Apache's Stop button:
![How to do it…](img/4124_04_17.jpg)

您可以在状态日志区域看到它,**停止**按钮应将其标题更改为**开始**:

![How to do it…](img/4124_04_18.jpg)
  1. 点击启动按钮启动 Apache 服务器。
  2. 现在,让我们检查对这个该死的易受攻击的 Web 应用程序的网络访问。如果 Windows XP 虚拟机已停止,请启动它并运行任何 web 浏览器。
  3. Type 192.168.1.13/dvwa/ into the address bar. You should see the following screenshot:
![How to do it…](img/4124_04_19.jpg)
  1. The next step is creating a database. Open the link you see in the browser window and you will be redirected to the DVWA control page:
![How to do it…](img/4124_04_20.jpg)
  1. 点击创建/重置数据库按钮。
  2. In the left-bottom corner of the DVWA control page, you will be able to see that the DVWA security level is set to high:
![How to do it…](img/4124_04_21.jpg)
  1. 让我们把它改成低级别。点击页面左侧的DVWA 安全按钮。
  2. In the DVWA login page, type in the username as admin and the password as password:
![How to do it…](img/4124_04_22.jpg)
  1. 再次点击页面左侧的DVWA 安全按钮。
  2. Select the low security level in the drop-down menu:
![How to do it…](img/4124_04_23.jpg)
  1. 然后点击提交按钮。
  2. 现在,拍一张快照;我们的 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 应用程序包

该死的易受攻击的 Web 应用程序不是唯一一个可以在实验室环境中用于培训的易受攻击的 Web 应用程序。

Internet 上有许多已准备好的易受攻击的 web 应用程序,可以与安装了易受攻击 web 应用程序的整个虚拟服务器映像一起使用。以下是其中一些项目的列表:

其他信息

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

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

本节介绍如何建立一个实验室,通过基本的无线网络保护机制练习 Wi-Fi 渗透技能。

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

  • 基本技能

    • 发现技术
    • 枚举技术
    • 密码和散列攻击
    • 无线攻击
  • 其他技能

    • 记录渗透测试流程

准备好了吗

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

  • 无线路由器
  • 局域网工作站
  • 受害者 Wi-Fi 客户端(工作站、笔记本电脑、智能手机或平板电脑)

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

Getting ready

怎么做…

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

我想从设置 WEP 保护网络开始:

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

  2. 在局域网工作站打开浏览器,进入地址192.168.1.1

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

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

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

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

  7. 设置密码短语设置值;这将是您连接到无线网络的关键。使用一个简单而不复杂的键值,这是字典可以猜到的。

  8. Leave all other settings on this page as their default values.

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

    How to do it…

  9. Now, go to the Wireless | Advanced section and set the Hide SSID option to Yes, leaving all other settings on this page as their default values:

    How to do it…

  10. 点击完成后点击保存&重启

  11. 路由器重启后,进入系统设置****设置管理并将当前路由器设置的备份副本保存到文件中。

  12. 受 WEP 保护的网络已准备就绪,可以开始运行。

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

  1. 输入无线网络名称(SSID)——在本例中为wifilab
  2. 输入在路由器配置过程中设置的无线网络密码短语。
  3. 点击连接确定,或您的系统提供的任何按钮连接到无线网络。

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

  1. 登录路由器控制面板,进入无线部分。

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

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

  4. 认证方式设置为WPA 个人

  5. 现在,设置WPA 预共享密钥的值。使用一些简单而不复杂的东西作为键值,一些可以被字典猜到的东西。

  6. You should have settings similar to the following:

    How to do it…

  7. Now, go to Wireless | Advanced, and set the Hide SSID option to Yes, leaving all other settings on this page as their default values:

    How to do it…

  8. 点击完成后点击保存&重启

  9. 路由器重启后,进入系统设置****设置管理,将当前路由器设置的备份副本保存到文件中。

  10. 受 WPA-PSK 保护的网络现已准备就绪。

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

它是如何工作的。。。

我想对本节中描述的步骤进行一些解释。

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

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

我还建议保存路由器配置备份,以便轻松将路由器恢复到所需状态,而无需每次重复所有配置步骤。

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

还有更多。。。

与往常一样,如果您不想将自己局限于给定的步骤,那么下面的部分将提供更多信息,帮助您选择下一步。

提高你的黑客技能

高级黑客必须是各种安全方面的专家,包括 Wi-Fi WPA 企业保护。因此,如果您想成为一名高素质的 Wi-Fi 渗透测试专家,我建议您在实验室网络中另外设置一台 Radius 服务器,并将路由器连接到该服务器上,以实施 WPA 企业保护黑客攻击。

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

Improving your hacker skills

创建虚拟 Linux 机器后,您需要安装免费的 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 保护的设置:http://www.wi-fi.org/knowledge-center/articles/wi-fi-protected-setup%E2%84%A2 ),使我们能够轻松地将设备连接到无线网络。但最近,WPS 遭到破坏,现在被认为是不安全的。此外,WPS 密钥可以在不到 30 小时内猜到。

你可以在学习如何做 http://www.ehacking.net/2012/01/reaver-wps-wpawpa2-cracking-tutorial.html

通常有必要使用字典猜测 WPA 键,但使用大型字典进行此类操作会花费大量时间。这就是为什么我建议使用云服务来轻松快速地使用大型字典测试哈希。例如,我使用这个服务:http://www.cloudcracker.com

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

其他信息

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

  • 强尼·凯奇,刘文森特。黑客无线暴露:无线安全机密&解决方案第二版
  • 安德鲁·弗拉基米罗夫、康斯坦丁诉加夫里连科、安德烈·米哈伊洛夫斯基。Wi-Foo:无线黑客的秘密
  • 罗布·弗林肯格,罗杰·韦克斯。无线黑客:构建、扩展和保护网络的技巧&工具,第二版

如果您打算成为 Wi-Fi 渗透测试专家,您一定要查看以下 web 资源:

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

在本节中,我将简要回顾互联网上由第三方持有的公共在线渗透测试实验室。

准备好了吗

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

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

要开始在线渗透测试实验室的培训,您需要以下内容:

  • 能上网的计算机
  • 网络浏览器
  • 电子邮件地址,仅用于在线渗透测试实验室门户,不会连接到您的其他电子邮件帐户
  • 回溯 5R3 虚拟机

怎么做…

让我们检查一些在线实验室门户,并对每个门户进行简短描述。我们将首先考察“黑客实验室”——一个最有趣的在线黑客门户网站,它为您提供各种在线黑客挑战,包括 OWASP 十大培训:

  1. Open your browser and enter the address as https://www.hacking-lab.com/. You should see the following page:

    How to do it…

  2. Click on Remote Security Lab on the left side of the main page, then click on Topology to see that the Hacking Lab portal consists of two logical parts: Public web portal and VPN-protected lab network:

    How to do it…

    要开始使用黑客实验室程序,您需要注册并使用您的帐户登录。

  3. 点击**立即创建免费账户!**在网页左侧注册。

  4. Click on the Events link to check which events are available at the moment:

    How to do it…

  5. 选择事件,点击状态栏中的立即注册。就我而言,这是OWASP 十大

  6. 返回事件页面,点击您选择的事件,从打开的列表中选择挑战,阅读详情。

有些事件需要 VPN 连接到实验室。让我向您展示如何使用OWASP 十大事件【1-OWASP A1-盲 SQL 注入攻击建立 VPN 连接。请记住,仅当您注册到需要连接的事件之一时,才允许您建立连接。

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

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

  3. 现在,运行 VMware Workstation,在文件菜单中选择打开,在新建对话框窗口中选择LiveCD VMware8 设备

  4. 导入虚拟机对话框窗口中,设置虚拟机名称目录,点击导入

  5. Run the LiveCD virtual machine:

    How to do it…

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

  7. Now, right-click on the VPN connection icon next to keyboard layout and select Connect Password. The following window will be opened:

    How to do it…

  8. 输入您的黑客实验室 ID(电子邮件)和初始密码,然后单击确定。如果一切正常,右上角的 VPN 连接图标应变为绿色。

  9. Now, open the browser and enter the vulnerable application URL: http://glocken.hacking-lab.com/12001/inputval_case2/inputval2/index.html.

    How to do it…

  10. 开始解决挑战吧!

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

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

  1. Open the browser and enter the address as https://www.hackaserver.com/.

    How to do it…

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

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

  4. 检查你的电子邮件;您将从 Hack-a-Server 门户收到一条消息,其中包含您的帐户激活链接。点击链接。

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

但是,在你进入可以赚钱的操场之前,你必须通过考试。

  1. Click on the Training Arena link at the top of the web page and check what is available for practising your penetration testing skills:

    How to do it…

  2. 选择任意目标,点击**破解!**查看目标详细信息。

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

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

  5. 启动回溯 5R3 虚拟机。

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

  7. 打开终端并将工作目录更改为证书捆绑目录。

  8. 运行以下命令:

    openvpn client.conf
    
  9. Now, open a new terminal window and check the connection to the target by trace routing and pinging its IP address (you can find it on the target details web page):

    How to do it…

  10. 现在把它砍掉!

要通过考试,您必须在考试场地上找到尽可能多的漏洞,并向 Hack-a-Server 团队提交报告以供审查。如果你通过考试,你将被允许进入操场竞技场,在那里你可以得到黑客的报酬。

还有更多…

如果你有兴趣尝试尽可能多的在线黑客操场,你一定要检查以下几点: