利用Azure构建红队C2基础设施:从虚拟机部署到连接实战

本文详细介绍了如何在Microsoft Azure云平台上构建红队操作的C2基础设施,包括创建Azure订阅、资源组、配置虚拟机作为命令控制服务器,以及通过SSH连接虚拟机的完整流程。文章通过分步指南展示了如何利用云平台实现可扩展且隐蔽的红队基础设施部署。

红队系列:使用Azure构建C2基础设施

部署C2虚拟机的分步指南

构建强大的基础设施对红队操作的成功至关重要。云平台为红队成员提供了弹性、可扩展且易于部署的基础设施,使他们能够高效操作,同时最小化暴露风险。

在本指南中,我们将利用Microsoft Azure云平台构建C2基础设施,包括设置虚拟机作为命令控制服务器、安装Mythic C2框架,以及配置Azure CDN重定向器以在与目标网络交互时隐藏C2流量。

本指南分为四个部分。在第一部分中,我们将概述Azure平台以及如何创建将作为C2服务器的虚拟机。

目录

  • Azure入门
    • Azure账户选项
    • Azure订阅
  • 导航Azure门户
    • 创建Azure订阅
    • 创建资源组
    • 成本管理
  • 启动虚拟机(VM)
  • 连接到VM
    • 原生SSH
    • 使用Azure CLI进行SSH
  • 资源

Azure入门

开始使用Azure的第一步是通过访问https://portal.azure.com/创建账户。首次登录门户时,通常会出现三个账户选项供选择:

Azure账户选项

  1. 从Azure免费试用开始:此订阅在头30天内提供200美元的免费积分用于Azure服务。
  2. 管理Microsoft Entra ID:此订阅以前称为Azure Active Directory(Azure AD)。它是一种身份和访问管理(IAM)解决方案,允许用户管理用户身份并控制对其应用程序、数据和资源的访问。
  3. 访问学生福利:此订阅需要学生邮箱才能访问带有免费Azure积分的开发者工具。

我们将从免费服务开始,选择“从Azure免费试用开始”,稍后升级。免费试用提供的200美元足以创建本实验系列所需的基础设施。

要开始免费试用,我们需要提供一些必要信息,如电子邮件地址和电话号码。电话号码用于账户验证目的。

此外,我们需要使用有效的信用卡来验证身份。重要的是要注意,Azure不接受虚拟或预付卡,因为这可能导致欺诈活动和不一致的计费。

试用结束后,我们将被要求注册以下订阅之一以继续使用Azure服务。免费积分用完后不会自动收费。

Azure订阅

  • 按需付费:允许用户按消费为基础支付Azure服务费用。这意味着您为使用的资源付费,没有前期成本或终止费用。
  • 企业协议(EA):允许组织承诺一定金额的支出并获得折扣费率。

导航Azure门户

完成注册过程后,我们将被重定向到一个确认页面,显示“您已准备好开始使用Azure”。当我们点击“转到Azure门户”时,将看到Azure服务,如图3所示。

为了开始使用任何Azure服务,必须创建订阅,即使在使用试用期时也是如此。这将确保试用结束后,用户将被提示升级到前一节提到的选项之一。

Azure订阅包括创建并与之关联的所有资源,如虚拟机(VM)、内容分发网络(CDN)和Active Directory(AD)服务。用户可以根据负担能力创建任意数量的订阅,但免费试用只允许一个订阅。

创建Azure订阅

要创建新订阅,请导航到主仪表板,点击订阅图标,并提供订阅的名称和标签,如下所示。

标签就像可以附加到任何Azure服务的标签,帮助您管理和跟踪资源成本。它们也是可搜索的。虽然标签是可选的,但通常建议使用它们,因为这是一种良好的实践。

创建后,我们可以点击它查看更多详细信息,如订阅ID、其状态(活动或禁用)、重命名选项以及与订阅下资源相关的成本。

创建资源组

设置订阅后,我们创建一个资源组。该组充当所有相关Azure资源(如虚拟机、数据库、CDN等)的容器。

我们可以为资源组指定任何名称,但建议使用清晰简明的名称,如项目代码或名称,以便以后在向客户计费时轻松跟踪运营费用。

要创建新的资源组,只需在主仪表板或侧边菜单上点击“资源组”选项卡,然后点击“创建资源组”按钮。

在项目详细信息中,我们选择要添加资源的订阅,并提供一个组名,如red-ops。我们还需要选择资源将托管的地域。如果我们正在设置红队操作,建议使用与测试客户相同的地域。这样,我们操作生成的流量与他们的常规预期流量混合在一起。

💡重要的是要注意,我们为此资源组创建的所有其他服务,如CDN和VM,必须与资源组位于同一地域。

接下来,我们添加一个标签,查看输入的信息,然后点击“查看 + 创建”。

成本管理

Azure中的计费部分提供有关资源使用情况和成本的详细信息。要跟踪Azure 200美元积分,请转到“成本管理 + 计费”并点击“摘要”。

启动虚拟机(VM)

要创建新的虚拟机,请转到主仪表板,点击“虚拟机”,然后选择“Azure虚拟机”。如果您使用免费账户,这可能适用于您的免费积分。请确保在不使用时暂停VM以节省资金。

接下来,我们需要选择先前创建的订阅和资源组,“infrastructure”和“red-ops”。在实例详细信息部分,我们将指定虚拟机的名称;我将其命名为“mythicC2”,因为它将作为Mythic C2框架的主机。

我们将保留可用性区域和安全类型的默认配置,分别为区域1和可信启动。

要选择机器规格,我们可以选择具有8GB内存的标准选项;如果使用试用版本,可用选项可能不同。

至于管理员账户部分,我们需要选择SSH密钥进行身份验证,然后创建一个新的SSH密钥对,稍后可用于访问VM。

默认情况下,除端口22(SSH)外,所有入站连接都被阻止。

接下来,对于OS磁盘大小,我们将选择默认的30GB选项,不加密,因为当前测试不需要它。

如果您想使用加密,需要在订阅上启用该功能才能使用。以下是Microsoft关于“主机级加密”文档的链接以获取更多信息。

对于网络接口,我们将保留允许SSH端口公开打开的默认配置。

管理部分也是如此;我保留了默认设置。管理部分处理VM配置,包括身份管理、备份配置和基于证书的身份验证。

此外,在监控部分,我没有对默认设置进行任何更改。但是,您可以选择自定义警报规则以接收有关VM重要事件的通知。

此外,您可以使用其他功能,如诊断来排除启动故障,以及健康监控以确保基础设施的可用性和性能。

高级部分提供了超出基本配置的更全面选项和设置。它包括扩展,允许将其他软件模块添加到VM以提供特定功能;以及策略,为VM强制执行规则,如安全策略、资源分配限制和来宾配置限制。

由于我们不需要为VM修改此部分,我们可以继续下一部分。

在向VM添加标签后,我们查看信息并点击“查看 + 创建”。然后我们输入电子邮件和电话号码以接收有关已创建资源的通知。

最后,我们将被提示下载私钥,以便在部署后访问机器。

如下面的图21所示,我们的机器已部署并准备使用。

连接到VM

VM部署后,我们检查VM是否活动并点击“连接”。如果不活动,我们启动VM。

连接仪表板提供了连接到机器的选项,具体取决于VM的操作系统;在我们的案例中,我们有一个Ubuntu机器,可用的选项是原生SSH或浏览器中的Azure CLI。

原生SSH

选择原生SSH选项时,侧边窗格将显示建立到VM的SSH连接所需的步骤和命令。第一步是确保防火墙规则中TCP/22端口开放,我们在创建VM时已经允许了。

下一步是使用命令chmod 400更改私钥文件的权限。此命令将私钥文件的文件权限设置为仅所有者可读。

之后,您可以连接到机器。如果您不熟悉SSH命令,可以简单地粘贴SSH私钥的名称,它将生成访问机器所需的命令。

1
2
chmod 400 ~/.ssh/privatekey.pem
ssh -i privatekey.pem azureuser@PublicIP

如下所示,我们成功SSH到机器。

使用Azure CLI进行SSH

第二个选项使用Azure CLI,这是一个集成在Azure门户中的基于浏览器的shell。它预装了Azure CLI和其他工具,允许我们运行PowerShell和Bash命令。

首次连接时,验证过程可能需要几秒钟来准备一切。一旦准备就绪,我们将被提示通过勾选复选框来确认我们理解策略,然后点击“配置和连接”。

然后,我们将被要求选择使用Bash还是Powershell shell连接,并创建新的存储。如下面的图26所示,我使用bash终端连接到了VM。

我们已经到达今天文章的结尾。在本文中,我们涵盖了Microsoft Azure平台的基础知识并创建了一个虚拟机。

接下来,我们将重点放在设置和配置Mythic C2服务器上,该服务器作为我们红队操作的中央管理枢纽,以及实施Azure CDN重定向器以掩盖我们的C2流量并保持隐蔽。

资源

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计