云中红队系列 | 使用 Azure FrontDoor 混淆 C2 基础设施

news2024/9/30 11:02:11

重定向器是充当 C2 服务器和目标网络之间中间人的服务器。其主要功能是重定向 C2 和受感染目标之间的所有通信。重定向器通常用于隐藏 C2 服务器流量的来源,使防御者更难以检测和阻止 C2 基础设施。

基于云的重定向器提供了一个很好的机会,通过内容分发网络 (CDN) 等全球服务器网络路由 C2 流量,从而掩盖 C2 流量。它们设置起来很简单,如果检测到 C2 通道,红队可以快速创建一个新的重定向器,而不用重建整个基础设施。

在本文,我们将讨论 Azure FrontDoor CDN 服务以及如何将其用作 C2 基础设施的重定向器。

重定向器设置

该设置涉及一个 CDN 重定向器,它通过端口 443 上的 HTTPS 与目标系统进行通信,并通过端口 80 上的 HTTP 在 CDN 和 C2 服务器之间进行通信,如图所示。

此设置可确保来自受感染系统的任何回调都不会直接发送至 C2 服务器,从而隐藏 C2 服务器的实际位置。

图片

先决条件

本节概述了设置 CDN 重定向器所需的关键步骤。这些步骤包括启用Microsoft.CDN提供程序和配置虚拟机防火墙规则。

启用Microsoft.CDN提供程序(Azure 试用版)

如果您当前正在使用 Azure 免费试用服务并想要创建 CDN 配置文件,则必须启用“Microsoft.CDN”提供商。

为此,请搜索您的订阅名称并选择它。导航到左侧菜单并选择“设置”下的“资源提供者” 。

图片

“资源提供商”部分中,搜索Microsoft.Cdn 。如果提供商未注册,您将看到状态为“未注册”。要注册提供商,请单击Microsoft.Cdn ,然后单击“注册”按钮。

图片

注册过程需要几秒钟才能完成。完成后,注册状态旁边将出现一个绿色复选标记。

图片

配置虚拟机防火墙规则

下一步是在托管 C2 服务器的虚拟机上设置防火墙规则。在本指南中,我使用 Azure 托管的虚拟机,并在其上部署了 Mythic C2 框架。

目标是打开端口 80 和 443 以与 CDN 端点和目标系统进行通信。如果你想继续,可以参考之前的文章:

•为 C2 基础设施部署 Azure VM[1]

•在 Azure VM 上安装 Mythic C2[2]

要添加新的防火墙规则,我们需要选择虚拟机,然后单击“网络”部分。目前,我们只添加了一 (1) 条规则,该规则适用于 SSH 的端口 22/TCP。我们将添加另外两 (2) 条规则;第一个将用于端口 80,第二个将用于端口 443。

图片

要创建新规则,请单击“添加入站端口规则”选项。在字段中,我们可以选择要允许入站流量的特定源 IP 地址。这可以是 CIDR 范围形式的 IP 地址范围,或者我们可以使用 Microsoft 服务标记选项,该选项具有代表 IP 地址类别的预定义标识符,例如我们将使用的 Azure FrontDoor 服务。

要设置 HTTP 端口 80 规则,我们将遵循以下配置,然后单击“添加”按钮添加新规则。

** Firewall Rule Configuration for HTTP port 80 **
Source: Service TagSource service tag: AzureFrontDoor.BackendSource port ranges: *Destination: AnyService: HTTPDestination port range: 80Protocol: TCPAction: AllowPriotiry: 310

图片

图片

按照相同的步骤在端口 443 上创建 HTTPS 规则。

** Firewall Rule Configuration for HTTPS port 443**
Source: Service TagSource service tag: AzureFrontDoor.BackendSource port ranges: *Destination: AnyService: HTTPSDestination port range: 443Protocol: TCPAction: AllowPriotiry: 320

图片

图片

完成设置后,我们应该添加三个规则:SSH、HTTP 和 HTTPS。其他规则是在创建 VM 时为负载均衡器和虚拟网络自动生成的。

图片

💡 Microsoft 在其网站上以名为“ServiceTags_Public.json ”的 JSON 文件发布其 Azure IP 范围和服务标签。该文件包含 Public Azure 整体的 IPv4 地址范围,按区域和服务划分。该文件每周更新一次。

图片

配置 Azure Front Door CDN 端点

Microsoft Azure 上有多个可用的 CDN 选项。这些选项的功能有所不同,例如 Web 应用程序防火墙 (WAF)、专用链接、Microsoft 威胁情报和安全分析等附加安全功能。每个选项的定价也有所不同。

为了实现我们的目标,我们将使用 Azure Front Door 产品并选择“快速创建”选项。要创建新的 CDN,请在 Azure 搜索栏中键入 CDN,然后选择“Front Door and CDN profiles”。

图片

在 CDN 仪表板部分中,我们单击“创建”以添加新的 CDN。此仪表板用于列出所有活动的 CDN。

图片

接下来,单击可用产品中的Azure Front Door快速创建,然后单击继续

图片

在 Azure Front Door 配置文件中,我们选择之前创建的订阅和资源组“基础结构”和“red-ops”。之后,命名 CDN 并选择 Tier;我们将其默认设置为“标准”。Tier是指确定检索内容的成本和访问延迟的 Azure 服务功能。

图片

要为 CDN 创建端点,请选中该框并创建一个唯一的名称。设置 CDN 时客户端将看到并连接到此端点。

将 CDN 命名为看起来合法且符合客户常规预期请求的名称非常重要。避免使用粗略的名称,例如“c2基础设施”或“redops”。相反,如果客户从事酒店行业,则将其命名为“availabilitycalendar”或“reservation-api”;如果客户是航空公司,则将其命名为“destinations”或“book-flight”。默认情况下,CDN 的 URL 格式将遵循 {endpoint-name-randomString}.azurefd.net ,但您也可以配置自定义域名。我们将在以后的文章中讨论它。

reservation-api-cqf6eva8a7efdvhp.z02.azurefd.net

图片

Azure 根据需要提供各种Origin 类型选项。以下是常见的:

存储(静态网站)适用于存储在 Azure 存储帐户(Blob、文件、容器)中的内容。

云服务适用于 Azure 云服务。

Web App适用于 Web 应用程序和 API。

自定义源适用于 Azure 或其他地方托管的任何其他可公开访问的源 Web 服务器。

公共IP地址。

在本文中,我们将使用其公共 IP 地址来创建的 Azure VM。另一方面,主机名是虚拟机的名称。

为了防止 C2 payload失败,我们确保取消选中“缓存”选项。如果查询字符串被调用两次,启用缓存可能会导致负载在 CDN 级别被缓存,这可能会导致失败。

对于WAF策略,保留为默认值。

图片

接下来,我们将标签添加到 CDN 配置文件中,然后单击Review + Create 。标签就像可以附加到任何 Azure 服务的标签,以帮助你管理和跟踪资源成本。

图片

然后,检查输入的信息并单击“创建” 。部署 CDN 后,您将看到“您的部署已完成”消息。单击“转到资源” 。

图片

访问端点

在新创建的 CDN 配置文件中,端点“reservation-api”已成功启用和配置。我们将对路线始发地组进行一些更改以实现我们的目标。

图片

路由选项配置

在重定向器设置图中,我们提到客户端到 Azure CDN 的通信是通过端口 443 上的 HTTPS 进行的。原因是 Azure CDN 重定向器需要使用 SSL 进行加密流量。另一方面,CDN通过端口80上的HTTP与C2服务器通信。

图片

现在我们已经创建了 CDN,客户端将在端口 443 上与其通信。但是,为了使 CDN 能够在端口 80 上与 C2 服务器通信,我们需要更新端点的路由设置。

为此,请单击“默认路由”,将转发协议从仅 HTTPS更改为仅 HTTP ,然后单击“更新”

图片

来源组配置

源是从Front Door接收传入请求的服务器。default-origin-group是一组特定的源,用作传送内容的主要源。这是当用户请求内容时 CDN 将尝试联系第一组源。对于我们的重定向器,我们在default-origin-group中有 Azure VM。

图片

在本节中,除了取消选中“Session Affinity”和“Health Probes”选项并单击“Update”按钮之外,我们不会修改任何内容。

图片

图片

💡 Session affinity是一项功能,可确保来自特定用户的请求一致定向到同一后端服务器或实例。如果禁用此功能,传入请求将随机定向到任何可用的后端服务器,而无需在整个客户端会话中保持与特定服务器的一致连接。

💡 禁用健康检查有助于减少 CDN 和 C2 服务器之间的额外流量。

CDN 端点

配置过程完成后,您在尝试通过 Curl 或 Web 浏览器访问端点时可能会遇到 405 HTTP 响应,其中包含一条错误消息,指出“我们的服务现在不可用”。发生这种情况是因为需要建立 HTTP 请求的规则。

然而,对于我们的重定向器目标,我们不需要它。payload将正常连接到 CDN 端点并进行回连。

图片

curl -I https://reservation-api-e7fdfyc9cnfvbgc5.z02.azurefd.net
HTTP/2 405content-length: 22content-type: text/plainx-cache: CONFIG_NOCACHEx-azure-ref: 0yiagZQAAAADpHDPiaxzxRLySP35acrwwTU5aMjIxMDYwNjEyMDM1ADk3ODhmMGY3LWQyNGEtNDMwYi04MTRhLWZkYjFlZGQ5MWI4MA==date: Thu, 11 Jan 2024 17:35:06 GMT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2179455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

万界星空科技MES系统,打造数字化转型小灯塔企业

小灯塔工厂是一个相对的概念,它可能指的是在数字化转型和智能制造方面取得一定成就,但尚未达到全球“灯塔工厂”标准的企业。这些企业可能已经在生产过程中运用了数字化、网络化和智能化的手段,提高了生产效率和质量,降低了制造成…

NASA:ATLAS/ICESat-2 L3 B每月网格动态海洋地形V002

目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATLAS/ICESat-2 L3B Monthly Gridded Dynamic Ocean Topography V002 简介 ATLAS/ICESat-2 L3 B每月网格动态海洋地形V002 该数据集包含了每月网格动态海洋地形(DOT)&#…

EE trade:试金石怎么辨别真假黄金

试金石, 作为一种古老而有效的工具, 在漫长的历史长河中, 一直被人们用于鉴别真假黄金。 它利用黄金的独特物理性质, 通过简单的摩擦测试, 便能快速判断出黄金的真伪。 那么, 试金石究竟是如何帮助我们识别…

【C++掌中宝】类和对象(二):隐藏的this指针

文章目录 引言1. 定义与用法1.1 隐式存在的 this 指针1.2 this 指针的用途与示例 2. 本质3. 特点4. this 指针的作用机制5. 成员函数中的 this 指针6. 空指针与 this 指针的特殊情况7. 注意事项8. 总结结语 引言 在 C 编程中,类是面向对象编程的核心,而…

帆软报表替代产品有哪些?

帆软报表历经十余年的发展,功能极为强大。然而,其用户界面稍显老旧,使用过程也较为繁琐。近几年涌现出了一些相当优秀的报表工具。 1. 积木报表 特点:积木报表 JimuReport,是一款免费的数据可视化报表,含报…

基于SSM的少儿编程网上报名系统 【附源码】

基于SSM的少儿编程网上报名系统(源码L文说明文档) 目录 4 系统设计 4.1 系统的功能结构图 4.2 数据库概念结构设计 4.2.1 数据库E-R图 4.2.2 数据库逻辑结构设计 第五章 系统功能实现 5.1管理员功能模块 5.2用户功能模块 5…

【基础算法总结】分治--快排+归并

目录 一,分治算法介绍二,算法原理和代码实现75.颜色划分912.排序数组-快速排序215.数组中的第k个最大元素(快速选择算法)LCR159.最小的k个数(快速选择算法)912.排序数组-归并排序LCR170.数组中的逆序对315.计算右侧小于当前元素的个数493.翻转对 三&…

POLYGON Nature - Low Poly 3D Art by Synty 树木植物

一个低多边形资源包,包含可以添加到现有多边形风格游戏中的树木、植物、地形、岩石、道具和特效 FX 资源。 为 POLYGON 系列提供混合样式树这一新增功能。弥合 POLYGON 与更传统的层级资源之间的差距。还提供了一组经典的 POLYGON 风格的树木和植被以满足你的需求。 该包还附带…

Mac安装Manim并运行

1.在macOS上创建Python虚拟环境,可以使用venv模块,这是Python自带的库,也可以使用conda。以下是使用venv创建和使用Python虚拟环境的步骤: 打开终端。 创建一个新的目录来存放你的项目,并进入该目录: mk…

Spring Security中自定义cors配置

一、为什么要自定义cors配置 在使用Spring框架时,Spring Security组件提供了简便的cors配置方案,使程序开发者可以快速的实现“同源安全策略”。关于cors,可以参数之前的一篇文章--关于Spring Security的CORS_springsecurity cors-CSDN博客 由…

excel 处理数据的常用场景之考勤表的制作

文章目录 预备知识数据有效性excel的图表知识 考勤表效果图开始制作1. 首先我们去分析这个表格,我们把它分为三个部分如下:2. 开始第一个部分的制作3. 开始制作第二部分。4. 第三部分也是最复杂的,因为会用到几个公式,我这里下面会…

入职2年的程序员,被劝退了!年纪大了,感觉好绝望!

入职2年的程序员,今天被劝退了!年纪大了,感觉好绝望! 我的朋友是一位程序员,毕业后去了BAT企业,前2年去了一家国企,至今刚满2年,刚进去绩效领导给打了C,现在被边缘化&…

详解Java之继承与多态

目录 继承 派生类和基类各部分执行顺序 protected 访问权限总结 final关键字 组合 多态 向上转型 向下转型 动态绑定 静态绑定 方法重载 方法重写 super关键字 super和this的对比 在构造方法中调用重写方法 继承 继承是为了解决多个类具有一些相同的属性和方…

DotNetty ChannelRead接收数据为null

问题:C#使用Dotnetty和Java netty服务器通讯,结果能正确发送数据到服务器,却始终接收不到服务器返回的数据。 解决:一定一定要注意服务器和客户端使用的编码一定要完全一样才行 我先前在客户端添加了StringDecoder,服务器却没有…

AI如此迅猛,你还能跟上吗?快来试试这个对口型新神器!

国庆即将到来,宇航祝大家国庆节快乐!最近感觉有些寒意了,气温忽高忽低的,大家一定要注意,别感冒了。 今天给大家分享一个即梦的新功能 : 对口型,也是最近即梦不声不响新上线的功能。 一、 功能介绍 即梦的…

【C++】多态(上)

个人主页~ 多态 一、多态的概念二、多态的定义以及实现1、多态的构成条件2、虚函数3、虚函数的重写虚函数重写的两个特殊情况①协变② 析构函数的重写 4、C11的override和final(1)final(2)override 5、重载、重写、隐藏的对比 三、…

普中51单片机

参考:51单片机快速入门教程2022(普中51开发板A2新版)--绍兴文理学院元培学院《单片机原理与应用》课程建设_哔哩哔哩_bilibili 1.以管理员启动,破解

【开源免费】基于SpringBoot+Vue.JS校园资料分享平台(JAVA毕业设计)

本文项目编号 T 059 ,文末自助获取源码 \color{red}{T059,文末自助获取源码} T059,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

【抖音矩阵源码开发:短视频矩阵SEO技术深度解析与实践指南】

开发部署短视频矩阵源码的主要步骤如下: 开发和部署短视频矩阵平台涉及一系列精细化的技术步骤,旨在确保系统的高效构建与稳定运行。该流程起始于开发环境的精心部署,涵盖PHP环境的搭建、集成开发环境(IDE)的配置以及…

STM32编码器接口笔记

1. 引言 在现代控制系统中,编码器扮演着非常重要的角色。它就像一个精密的测量工具,可以告诉我们机械部件的位置和运动状态。在STM32微控制器中,编码器接口可以轻松地与各种编码器连接,实现精确的控制。我将在这里探讨STM32编码器…