Skip to content

Latest commit

 

History

History
445 lines (236 loc) · 33.2 KB

File metadata and controls

445 lines (236 loc) · 33.2 KB

一、构建您的 AWS 环境

亚马逊网络服务AWS)是一家成长中的云技术提供商,许多公司使用它来帮助存储数据。AWS 于 2006 年底起源于华盛顿州西雅图市,正在稳步成为最著名的服务提供商。由于其可用性和用户友好的界面,AWS 被超过 800000 家公司使用,占云基础设施空间的 65%或更多。它的一些更知名的服务,如 S3、Lambda 和 EC2,将在本书中经常讨论,并且是现实世界中常用的服务。

本章将介绍 AWS 的基础知识,并介绍如何设置 AWS 帐户。重要的是,我们要学习配置和准备 AWS 帐户的基础知识,以便在设置帐户后不需要任何额外的内务管理。在建立一个帐户之后,我们将浏览并设置几个具有各种操作系统风格的 EC2 实例,并查看这些操作系统中易受攻击的服务。值得鼓励的是,在完成本章之后,您将考虑使用其他操作系统为您的环境构建更多 EC2 实例。

在本章中,我们将通过以下主题探讨 AWS:

  • 探索 Amazon Web 服务
  • 了解测试环境
  • 配置环境
  • 探索易受攻击的服务
  • 攻击漏洞
  • AWS 命令行界面

技术要求

要遵循本章中的说明,您需要以下内容:

查看以下视频以查看代码的运行:https://bit.ly/3kPrVkh

探索亚马逊网络服务(AWS)

AWS 是由亚马逊西雅图科技公司提供的云服务。AWS 的全面和易于使用的设置使其对小型初创企业和大型公司非常有吸引力。它的工作原理是允许公司和企业在亚马逊的外部和物理资源内建立基础设施。这种类型的服务称为基础设施即服务,提供云计算作为一种整体服务。在本书中,随着我们建立实验室,您将看到在 AWS 中实现自动化和构建是多么容易。但是,您也会注意到一些通常被忽略的问题,例如安全性。

AWS 不对公司的数据和安全负全部责任。事实上,亚马逊已经推出了一个共享责任模式,以确保双方了解他们在客户数据方面的权利和责任。毕竟,亚马逊是一家被称为“顾客至上”的公司。

AWS 安全和渗透测试

当你通读这本书时,你会接触到一些以前可能没有讨论过的不同概念。这是因为 AWS pentesting 是一门相对较新的学科,在信息技术的安全领域越来越受欢迎。这样做的好处是,它允许主题专家帮助创建 AWS 周围的 pentesting 文化,并为如何在 AWS 和系统安全中执行渗透测试提供了更新的想法。

接下来,您将深入 AWS 并创建自己的帐户。之后,我们将开始创建我们自己的 CloudPentest 游乐场,在那里我们将设置一个可稍后测试的易受攻击主机。

了解我们的测试环境

在本书中,了解我们将要部署的所有系统以及它们的使用非常重要。建立实验室有利于安全研究,因为它可以让你执行与真正的黑客相同的战术和技术,而不必担心违反任何法律。对于我们的实验室,我们将设置各种模拟现实生活系统的主机,您将看到这些系统整合到企业中。唯一的区别是我们将使用一些更旧版本的软件和操作系统。使用旧系统的目的是因为它们通常比其最新版本更容易受到攻击,这使得学习 pentesting 更容易——也更有趣!

我们希望确保每件事都能学到一点,因此我们将同时使用基于 Windows 和 Unix 的操作系统。这些系统的构建方式截然不同,但它们是在现实生活中你将面临的 pentesting 情况下的系统。

此外,我们将使用名为“Kali Linux”的操作系统作为我们的黑客操作系统。Kali Linux 是 pentesting 社区中使用的一种非常流行的黑客操作系统,主要原因是它预装了各种黑客工具套件,并由攻击性安全维护。

配置您的环境

配置您的环境是本书最重要的任务。没有它,你将没有任何东西来测试你的技能!构建环境将教会您如何配置实例、向实例添加资源以及连接实例。

设置 ac 计数

要开始创建您自己的 AWS 帐户的过程,请遵循以下步骤:

  1. Please open a browser of your choice and go to the AWS home page located at https://aws.amazon.com/.

    您将看到一个登录页面,并将看到一个标题为创建免费帐户的按钮。只需点击创建免费账户即可开始创建您的个人资料:

    Figure 1.1 – AWS account creation

    图 1.1–AWS 帐户创建

  2. After clicking the button, you'll see how to create an AWS account. Fill out the information accordingly. If you use a student email address, you can get access to extra goodies:

    Figure 1.2 – Account creation form

    图 1.2–账户创建表单

  3. 填写完表格后,单击继续,您将收到一封电子邮件,提示您问候并欢迎您加入 AWS:

Figure 1.3 – Email from AWS after account creation

图 1.3–账户创建后来自 AWS 的电子邮件

祝贺您,您现在有了自己的帐户,可以在本书的其余部分使用。在继续之前,请随时了解 AWS 中所有可用的资源。AWS 提供了丰富的资源和信息,可供您使用。准备好后,进入下一节,学习如何创建自己的 EC2 实例。

重要提示

设置帐户时,请使用。edu地址,如有可能。您可以使用 AWS 帐户获得其他好处。有关学生福利的更多信息,本章末尾将提供一个链接。

下一节将讨论如何在新的 AWS 帐户中创建自己的 EC2 实例。

设置 EC2 实例

EC2弹性计算云实例通过在亚马逊云内提供可伸缩计算,基本上取代了对硬件的需求。将 EC2 实例视为没有操作系统的计算机。这是有益的,因为它允许组织在几乎没有开销的情况下扩展其系统!然而,虽然有这样一个简单的解决方案是一个好处,但缺点可能是管理不善。部署一个 EC2 实例非常容易,因为管理员不会注意到它。但那台电脑是你租的其他人的电脑。请记住,计算机只是一台计算机,因此您需要在其上放置一个操作系统。

在我们开始讨论我们正在创建的实例之前,让我们先简要介绍一下为什么要设置这些实例。作为一个五旬斋的一部分是理解事情是如何安排的。通常,pentesters 来自利用和系统管理员背景,对系统如何工作有基本的了解。我们正在设置各种操作系统,并第一手了解如何在 EC2 实例和操作系统中实现常见问题。让我们看看我们将在本章中创建什么。

我们将创建三个带有各种图像的 EC2 实例。这样做将使我们能够使用工具并了解访问每个系统与访问其他系统的不同之处。我们要安装的第一个操作系统将是CentOS 7

CentOS 是一种非常流行的基于 Unix 的操作系统,它将使我们能够更深入地探索 Linux 文件系统的工作方式。在学习渗透测试时,我们必须接触各种系统,因为在现场,你可以有各种各样的目标,这些目标将在渗透测试的范围内。

使用 CentOS 设置 EC2 实例

如果您尚未登录,请继续登录您的 AWS 帐户。登录帐户后,您将进入AWS 管理控制台。我们将从这里开始为本章创建 EC2 实例。以下步骤重点介绍了如何部署 EC2 实例:

  1. From the main console, you will see EC2 under the word Compute. Click on it to begin the process of creating an EC2 instance:

    Figure 1.4 – AWS Management Console

    图 1.4–AWS 管理控制台

  2. 点击后,您将在左下角看到一个标有启动实例的按钮。左侧下拉窗格中还有实例选项。点击启动实例开始构建您的第一个 EC2 实例:

Figure 1.5 – EC2 launch

图 1.5–EC2 发布

单击启动实例后,需要在 EC2 实例中配置主机操作系统。在本练习中,我们将为主机操作系统选择最低限度的 CENTOS 7 安装。这个操作系统将成为 EC2 实例中的“生命”。

现在我们已经建立了 AWS 帐户,我们将逐步分解构建 EC2 实例所需的过程。如前所述,EC2 实例是我们的操作系统的宿主。我建议您熟悉这个过程,因为您将在本书中构建大量实例。要开始设置某些实例,请按照提供的步骤开始。这些步骤是按照构建 EC2 实例的顺序进行的。如果您错过了一步,请确保在继续之前返回并覆盖该步:

  1. Choose an Amazon Machine Image: Go to Amazon Marketplace and search for an image to install on your EC2 instance. As stated, we will use CentOS 7 for this example:

    Figure 1.6 – EC2 operating system

    图 1.6–EC2 操作系统

  2. 选择实例类型:确保使用免费层以避免收费。如果你真的忘记了,亚马逊将每月向你支付超出你计划的任何使用费。但是,如果您愿意,可以随意使用付费层。对于这个练习,我们将使用 free 层,因为它已经足够了。

  3. After that, you'll want to create a new virtual private cloud (VPC) network that your EC2 instance can live in. The VPC acts as a network that allows secure communications between other instances within the VPC. It also allows connections outside of the VPC via a VPN:

    Figure 1.7– Creating a VPC

    图 1.7–创建专有网络

  4. After that, you'll need to create a subnet that your hosts can connect to. Make sure you remember the VPC and the subnet for later when setting up other instances:

    Figure 1.8 – Creating a VPC part 2

    图 1.8–创建专有网络第 2 部分

  5. Next, you'll be prompted about storage for the OS. The storage that is allocated will suffice for the exercise:

    Figure 1.9 – Storage setup

    图 1.9–存储设置

  6. Next, we will be configuring routes for the instance. Routes are going to allow and disallow traffic to and from the host on certain ports of your instances. For this exercise, please set up the following routes as illustrated:

    SSH:TCP:22:ANYWHERE//允许通过端口 22进行任何连接

    自定义 UDP:UDP:0-65535:ANYWHERE//允许所有 UDP 端口的任意连接

    自定义 TCP:TCP:0-65535:ANYWHERE//允许通过任何 TCP 端口进行任何连接

    以下屏幕截图突出显示了我们正在进行和输入的更改:

    Figure 1.10 – Creating a security group

    图 1.10–创建安全组

  7. You're going to need to create a key pair that you can use to connect to your instance. Make sure that you save the key pair in a place where you won't lose it. You're going to need to use that key to access the instance. The following screenshot illustrates naming the key AWS Pentest. Feel free to call yours whatever you like:

    Figure 1.11 – Creating a key pair

    图 1.11–创建密钥对

  8. Once you name the key pair, download it and save it in a safe place. It's important to make sure you save the key and even make a copy of it in case the original key becomes lost. You won't be able to retrieve the key from your instance.

    Figure 1.12 – Dashboard for running EC2 instances

    图 1.12–运行 EC2 实例的仪表板

  9. 完成后,单击运行实例检查您的实例。我们将在本书后面讨论如何通过 SSH 连接到它。

您现在已经设置了第一个实例!如果连接到它时遇到问题,例如权限错误,不要感到压力;确保为实例的密钥设置了正确的权限。右键点击实例,点击连接按钮,提示如何设置权限。稍后我们将讨论连接到实例。现在,了解 AWS 控制台中的可用功能。我们将要讨论的内容很多,但看一看并了解它并没有什么坏处。准备好后,转到 next 部分。

设置 Windows 主机

下一节将讨论如何在 AWS 中设置 Windows 主机。设置主机将与设置 CentOS 7 服务器非常相似,只是有一些不同。了解 Windows 系统如何工作以及如何在 AWS 中设置它们是很重要的。在渗透测试过程中,您会发现许多企业在其 AWS 环境和现场设备中使用 Windows。

让我们设置主机:

  1. 让我们回到 AWS 管理控制台,选择启动实例调出另一个实例,就像我们之前做的那样。

  2. Go to AWS Marketplace and select Windows Server 2008 R2 Base.

    重要提示

    我们希望使用旧版本,而不是新的更新版本,因为在旧版本中更容易利用安全问题。由于本书的目的是学习,我们希望能够轻松地利用旧版本中常见的已知问题,而不是试图利用经过强化的新操作系统。确保您选择的专有网络设置与以前相同。这样做可确保所有虚拟机(如 CentOS 7 和 Windows 主机)位于同一网络上。这将有助于我们以后练习 pentesting,因为我们将在同一个虚拟网络上工作,使实例之间的通信更加容易。

    以下是市场上的情况:

    Figure 1.13 – Windows 2008 EC2

    图 1.13–Windows 2008 EC2

  3. Just as before, we need to ensure we have the correct ports open. Take note that RDP is open on the host. The next screenshot highlights that port 3389 is open. Port 3389 is the port that is associated with RDP. Having this set correctly ensures that you can connect to the Windows host later on:

    Figure 1.14 – Windows 2008 EC2 open ports

    图 1.14–Windows 2008 EC2 开放端口

  4. 现在主机已经准备就绪,我们需要连接到它。由于这是一个 Windows 主机,我们将无法像传统上使用其他主机那样使用 SSH 连接到它。这是因为主机在端口3389上使用远程桌面协议,而不是在端口22上使用 SSH。我们需要获取存储在 Windows 主机上的密码,而不是获取密钥。

  5. To get the password, simply right-click on your Windows instance and select Get Windows Password. If you just set up your Windows host, it could take up to 4 minutes for you to be able to decrypt the password:

    Figure 1.15 – Windows 2008 EC2 password retrieval

    图 1.15–Windows 2008 EC2 密码检索

  6. Decrypt the password by entering the encrypted password as illustrated. Once you have put the password in the field, click on Decrypt Password:

    Figure 1.16 – Decrypting Windows passwords

    图 1.16–解密 Windows 密码

  7. 完成后,系统会提示您输入用户名密码以访问您的主机。与前面一样,请确保将这些凭据保存在安全的地方,以免丢失。但是,只要您拥有加密的密码,就可以恢复它们。存储加密密码就像将其存储在密码保险库中一样简单,或者将其存储在云存储空间(如 S3 存储桶)中。确保只有您可以访问存储它的位置。为了获得最佳结果,请对文件系统实施基于用户的访问控制:

Figure 1.17 – User name and Password

图 1.17–用户名和密码

要测试连接,请打开主机上的远程桌面客户端,并使用 EC2 实例的公共 DNS。如果一切顺利,那么你应该能够登录到桌面!

攻击者设置–设置 Kali 实例

对于这个部分,我们将设置一个Kali Linux映像,它可以充当我们的攻击主机。Kali Linux 是安全专业人员用来测试系统和应用程序的一种流行操作系统。这主要是由于操作系统预装了可帮助枚举和利用的工具!在我们阅读本书时,Kali Linux 将被用作我们的主要主机之一,并将成为您在 pentesting 工作中使用的工具!

因为我们已经知道如何设置 EC2 实例,所以我们将只关注如何使用名为PuTTY的工具连接我们的 Kali 主机。PuTTY 是一种允许管理员远程访问其系统的工具,我们将在本章后面介绍。在设置 Kali 计算机时,请确保使用与其他计算机相同的 VPC 和子网设置:

  1. To start, go to AWS Marketplace and retrieve an instance of Kali Linux. Then proceed to create the EC2 instance as you did with the previous exercises:

    Figure 1.18 – Kali Linux EC2 instance

    图 1.18–Kali Linux EC2 实例

    与前面一样,请确保使用新名称创建新密钥对。

    重要提示

    最好为每个实例创建新密钥,不要在实例之间共享密钥。在现实世界中,如果一个密钥被泄露,并且所有主机都使用相同的密钥,则假定所有主机都被泄露。这将是所有主机之间的“共享秘密”。

    这是窗户的样子:

    Figure 1.19 – Kali secret key

    图 1.19–卡利密钥

  2. Now that we have the key pair, we need to connect to the Kali machine. Right-click on the instance from your console and follow the connection instructions to your instance:

    $chmod 400“Kali-AWS-Pentest.pem”

    $ssh-i“Kali-AWS-Pentest.pem”ec2 用户@<AWS 实例>

    以下屏幕截图显示了有助于理解这些命令的作用的步骤及其含义:

    Figure 1.20 – Kali information

    图 1.20–Kali 信息

    正如您在屏幕截图中所看到的,在我们访问 EC2 实例之前,提示会突出显示一些内务处理步骤。

  3. 打开 SSH 客户端。在我们的例子中,我们将使用腻子进行连接,并将在下一节中介绍如何连接。

  4. 找到。我们刚刚保存的pem文件。.pem文件作为密钥,允许您对 EC2 实例进行身份验证。

  5. 我们需要使用chmod命令更改密钥的权限。

  6. 分配给实例的公共 DNS 名称是用于连接实例的资源名称。

  7. 最后,该命令向我们展示了如何使用预先安装在 Linux 机器上的 SSH 命令,使用密钥和用户名root连接到云资源。

接下来,我们将了解如何使用 PuTTY 连接 instance。

用腻子连接

PuTTY 是一种工具,允许用户从各种端口连接到主机。与终端或命令行不同,PuTTY 提供了一个界面,允许用户通过单击鼠标与主机交互,而不必连接终端。我们必须了解连接实例的各种方法,PuTTY 是在真实环境中连接 EC2 实例的常用资源。

我们可以使用 PuTTY 或 SSH 连接到我们在自己的实验室中设置的任何实例。本节的目的是引导您完成从分配给 EC2 实例的私钥创建 SSH 密钥的步骤:

  1. 首先,确保计算机上安装了 PuTTY。您可以在此处下载合适的客户端(https://www.chiark.greenend.org.uk/~sgtatham/putty/。安装后,继续转换私钥。

  2. Start a program called PuTTY Generator. PuTTY Gen is a key generator used for converting keys into various formats. After starting the program, click Load and put the private key to your instance in the generator. The private key you assign to your instance is the .pem file. We created .pem files with our CentOS 7 instance before as well. Once you load the key into PuTTY Gen, assign a password phrase and click Generate. This will create a different key with the extension .ppk:

    Figure 1.21 – PuTTY key generator

    图 1.21–腻子键生成器

  3. 现在您已经创建了一个**.ppk文件,是时候启动 PuTTY 并测试您的连接了。转到连接**>SSH>身份验证并加载您在上一步中创建的新密钥:

Figure 1.22 – PuTTY key configuration

图 1.22–腻子键配置

一旦键准备就绪,就可以输入启动实例连接所需的特定数据了。以下步骤将指导您完成此过程:

  1. 返回到油灰中的会话选项卡。进入会话选项卡后,输入要连接到的实例的主机名。主机名是您可以在 AWS 控制台中找到的公共 DNS 记录。您也可以在您的实例上点击连接,获得公共 DNS 名称。

  2. Once the hostname is configured, ensure that the port is set to 22 for SSH:

    Figure 1.23 – PuTTY connection

    图 1.23–油灰连接

  3. Now we're ready to connect to our instance. Click Open and a PuTTY terminal will greet you asking for a passphrase. The passphrase is the password you set when you were creating the .ppk file:

    Figure 1.24 – PuTTY terminal

    图 1.24–油灰端子

  4. Now you're being logged in as the user ec2-user. This user doesn't have very high privileges, so feel free to alter them by switching into the root account using the following command:

    $sudo su

这些权限允许用户在基于 Linux 的操作系统上更改、读取和执行任何文件。这些高权限用户可以在文件路径**/etc/sudoers**中找到。祝贺您,您现在已使用 PuTTY 成功连接到实例。

很好完成这一部分!现在,您应该熟悉在 AWS 中设置 EC2 实例,并熟悉配置各种操作系统的基础知识。如上所述,了解这些差异非常重要,因为在进行 pentesting 时,您将接触到许多操作系统,例如基于 Windows 和 Unix 的系统。

接下来,我们将继续研究易受攻击的服务,以及我们如何利用我们的知识在 pentesting 环境中建立易受攻击的服务。

探索易受攻击的服务

如果不进行修补,易受攻击的服务可能是系统的致命弱点。这意味着,如果漏洞未修补,将在公司系统中留下一个严重弱点,允许恶意黑客访问。在系统中,如果一个漏洞被分类为一个问题,如果不固定,如果它成为攻击向量,则会引起大的问题。漏洞有多种变体,可能以过时的操作系统、开放端口、未经授权的访问等形式出现。为了修复已知漏洞并保护系统免受攻击,必须相应安装补丁和更新。这样做有助于解决您将看到的大多数主要问题。

发现易受攻击的服务

既然我们知道了什么是漏洞,让我们来谈谈 pentesting 发现漏洞的典型方式:

  1. 确保您有一个目标列表。目标被分类为主机–我们可以将 EC2 实例视为主机。
  2. 一旦有了主机列表,就需要扫描它们并从中枚举信息。扫描可以与各种工具一起使用,我们将在第 9 章中更多地使用这些工具,以及使用 Metasploit 的现实生活 Pentesting 等等!
  3. 然后创建与扫描和枚举时发现的漏洞相关的风险。风险通常被标记为临界——其中临界影响最大。
  4. 你也可以在扫描时找到“低垂的果实”。低挂果实很容易利用漏洞,使您能够快速利用目标。
  5. 应立即报告发现的漏洞,以便正确修补。通常,会指派另一个团队来修复这些问题,并将修补程序应用于系统。

这是如何在 pentesting 环境中发现漏洞的基础。现在,让我们从管理员的角度来看易受攻击的服务是如何创建的。

创建易受攻击的服务

对于这个简短的示例,我们将安装vsftpd并在 CentOS 7 机器上启用匿名登录。匿名登录是许多 FTP 客户端的默认功能,允许任何人使用以下凭据连接到 FTP:

  • 用户名:匿名
  • 密码:匿名

正如您已经假设的,允许任何人如此轻松地访问您的服务器会带来巨大的安全风险。我们将学习如何将服务器设置为易受攻击,然后将学习一些安全控制,我们可以设置这些安全控制来锁定 FTP 服务器:

  1. ssh进入我们设置的 CentOS 7 服务器。您需要以用户ec2 用户身份登录,而不是root身份登录。

  2. Once logged into the server, run the following commands to update your server and install the vsftp service:

    $sudo yum 更新

  3. Follow this by running the following:

    $sudo yum 安装 vsftpd

    如果由于权限和特权较少而出现问题,请运行命令sudo su切换到 root 用户帐户。这将允许您以 root 用户身份运行所有命令。

  4. Verify the service is running by typing sudo service vsftpd status. Now that vsftpd is installed, we need to ensure that anonymous login is enabled. Run the following command to access the vsftpd configuration file:

    匿名 _ 启用=是

    它将如以下屏幕截图所示:

Figure 1.25 – Installing Metasploit

图 1.25–安装 Metasploit

现在您的服务器设置为匿名登录。在本书后面的第 3 章中,我们将探讨 Pentesting 和 AWS中,我们将讨论如何从环境中的其他实例本地和远程扫描和连接服务。

我们现在对什么是脆弱性以及如何自己复制它们有了一些了解。理解本书中我们将要做的全部技术属性是很重要的。关于漏洞,请注意发现漏洞与攻击漏洞并不相同。发现漏洞时,您将被指派发现、评估和评估发现的任何漏洞。Pentesting 通过手动和自动攻击并利用这些漏洞,进一步执行此类测试。

让我们继续讨论攻击 vu 的可行性需要什么。

攻击漏洞

攻击漏洞是网络安全中更有趣的方面之一。发现并修补一个你可能已经发现的问题是一回事,但真正开始攻击它会将你的技能提升到另一个水平!攻击漏洞将渗透测试与其他安全职业区分开来。虽然大多数安全职位只发现和补救,但 pentesting 攻击和漏洞利用发现了问题。这样做有助于了解系统的安全态势可能真实,也可能不真实。您将听到的一个更流行的工具叫做 Metasploit。

勘探变质碎屑

pentesting 社区中一个流行的工具是一个称为Metasploit framework的框架。也被称为Metasploit,该自动化软件预装在 Kali Linux 上,具有可在易受攻击主机上配置和启动的漏洞和有效负载。它还提供了适用于各种操作系统的漏洞利用,以及各种类型的有效负载。这些漏洞被称为模块,在Ruby中创建。

更常见的漏洞之一是漏洞利用/多重/处理程序。多处理程序充当侦听器,在特定服务的端口上查找传入连接。例如,基于 web 的攻击可能使用更常见的服务,如 HTTPS,该服务在端口443上运行。侦听器可以设置为在端口443上侦听,并在执行 web 攻击后建立连接。我们将在第 9 章中了解更多使用 Metasploit 的方法,以及使用 Metasploit 的现实生活 Pentesting 等等!

在运行之前,我们需要学会走路,所以现在让我们来看看在我们的 KALI Linux 主机上设置 Meta ASP。下一部分将为您提供一个练习,让 Metasploit 启动并运行。

对于本练习,我们只需要连接到 Kali Linux 主机并更新 Metasploit。新的漏洞不断上传到 Metasploit,因此经常更新很重要:

  1. 下面是我们将如何更新 Metasploit。使用前面的 PuTTY 方法连接到您在本章前面设置的 Kali 实例。如果需要,请查看要连接的部分。一旦连接,您将需要切换到用户。root用户将授予您在机器上读取、写入和执行任何内容的权限。要切换到根目录,请键入命令sudo su

  2. Now that you are the root user, let's update Metasploit to the current version. We want to ensure that Metasploit is updated with the most recent exploits and modules for testing. To update the tool, type the following command:

    $apt 安装 metasploit 框架

    屏幕截图显示了在我们的 Kali Linux 终端中执行的命令:

    Figure 1.26 – Installing Metasploit

    图 1.26–安装 Metasploit

  3. Once connected, you'll be able to start Metasploit with a fresh new database full of exploits. In previous years, you would have had to start up a database in the background before launching Metasploit. However, now, the following command will start Metasploit with a database running in the background:

    $msfdb 运行

您可以随意使用 Metasploit。有大量的资源可以学习关于这个流行的 pentesting 工具的所有知识。在本书中,我们将大量使用该工具,因此,如果您不想在互联网和书籍中搜寻更多信息,请不要担心。

在本节中,我们了解了什么是易受攻击的服务以及如何设置它。我们还简要介绍了攻击这些漏洞的意义,并了解了一点 Metasploit——pentesting 社区中非常流行的工具。

接下来,我们将学习 AWS 命令行界面以及 we 如何安装和使用它。

AWS 命令行界面(CLI)

AWS CLI 是一个很棒的命令行工具,它允许您与 AWS 技术(如 S3 bucket)进行接口,与 EC2 实例和其他实例进行交互。我们将在第 4 章中更深入地了解实现 AWS CLI 的实际用例,利用 S3 bucket。AWS CLI 是学习和熟悉使用类似终端的界面的好方法,因为它允许您与 AWS 环境中的一切进行交互。对于 pentesting,使用命令行和/或终端总是很舒服的,因为你永远不知道 GUI 什么时候做不到这一点。假设处于渗透测试的中间,工具界面冻结,或者应用程序前端抛出错误,停止工作。这就是理解命令行被证明是有益的地方。

安装 AWS CLI

现在我们需要继续前进,在我们的 Kali Linux 机器上安装 AWS CLI。这将是我们在本书中用来与 AWS 环境交互的命令行:

  1. To begin, let's check and see if the AWS CLI is already installed on our machines:

    $aws——版本

  2. If you have an old version, you should see what version you have. If you haven't used it in a while, it's best to go ahead and reinstall it:

    $apt get remove awscli-y

    $apt 获取安装 awscli-y

  3. 再次运行**--version**开关,仔细检查以确保您的命令行界面安装成功。

现在您的主机已设置为与 AWS 中的资源交互,并涵盖本书中的内容。您可以随意使用命令行界面。这是你在阅读本书并在现实世界中与 AWS 互动时需要习惯的东西。

探索 AWS CLI 的基本命令

现在我们将了解一些基本的 AWS CLI 命令,现在已经对 AWS CLI 是什么以及它是如何工作的有了大致的了解。下面显示了贯穿本书的几个命令。这些命令用于与各种服务交互,如 S3、EC2 和 Lambda。

配置 AWS CLI 后,使用以下命令获取命令列表:

$aws 帮助

以下命令用于描述 EC2 服务器的属性:

$aws ec2 描述实例

下一个命令将列出 S3 环境中的存储桶:

$aws s3 ls s3://

我们将提到的最后一个命令用于列出具有 Lambda 的函数:

$aws lambda 列表函数–区域<>

如您所见,有许多服务可以通过 AWS CLI 进行交互。随着我们在本书中继续进行更多练习,您将越来越熟悉与这些服务的交互。现在我们已经讨论了本章的最后一个主题,让我们总结一下!

总结

在本章中,我们学习了如何创建 AWS 帐户,该帐户将允许我们为创建主机设置一个环境,并在本书后面对其进行测试。我们必须了解如何在 AWS 中创建实验室,这主要是因为这是我们在本书中执行测试的唯一方式,以及在现实生活中您将如何进行测试。我们了解了什么是 EC2 实例,以及如何使用各种操作系统设置实例,帮助我们理解在实际的 pentesting 环境中看到的各种操作系统的重要性。我们了解了如何在主机内设置易受攻击的服务,以及在 pentesting 和 AWS 安全方面需要哪些漏洞。最后,我们学习了如何快速设置 AWS CLI,以便与 AWS 资源交互。

在下一章中,我们将开始更多地了解 Kali Linux,它的一些历史,以及在本书中我们将如何使用它,以及它与 pentesting 的关系。

进一步阅读