基于 HTTPS 的 C2 与 DNS 隧道
检测信标通信模式、域名生成算法、基于 DNS-over-HTTPS 的 C2 和 HTTPS 命令通道。
基于 HTTPS 的 C2 与 DNS 隧道 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
C2 通信基础
命令与控制(C2)是攻击者向已被入侵的系统下达命令并接收数据的通道。现代 C2 会融入合法流量以逃避检测,使用难以在不造成附带损害的情况下封锁的协议(HTTPS、DNS)和基础设施(CDN、云服务)。
基于 HTTPS 的 C2
基于 HTTPS 的 C2 会将命令和响应封装在经过 TLS 加密的 HTTP 流量中。信标会定期向 C2 服务器发送 GET 请求,命令则通过 HTTP 响应返回。抖动(信标间隔的随机变化)可以避免形成能够检测出同步信标通信的固定时间模式。
域名前置
域名前置滥用 CDN 路由机制:TLS SNI 字段与 HTTP Host 标头并不相同。TLS 握手会连接到合法的 CDN 域名(从而通过检查),但 HTTP Host 标头会将请求路由到恶意后端。云服务提供商已经基本封锁了这种技术。
用于 C2 检测的 JA3 指纹
JA3 会将 TLS ClientHello 参数(密码套件、扩展、椭圆曲线)转换为哈希值。无论证书如何变化,恶意软件 C2 客户端的 JA3 哈希通常都保持一致。当已知恶意软件的 JA3 哈希出现在流量中时,网络安全工具可以发出警报。
可变 C2 配置文件
Cobalt Strike 的可变 C2 功能允许操作人员自定义信标流量的各个方面,使其模仿合法应用程序(Amazon、Twitter、Google 分析服务)。流量看起来像正常的应用程序通信,从而规避了针对默认 Cobalt Strike 配置文件的基于特征的检测。
DNS 隧道
DNS 隧道会将数据编码到 DNS 查询和响应中。命令会编码在 DNS 查询主机名中(commands.encoded-data.c2domain.com)。响应则会将数据放在 DNS 记录字段中(TXT、A、CNAME)。Dnscat2 和 Iodine 是常见的 DNS 隧道工具。
# DNS tunnel example query pattern
# aGVsbG8gd29ybGQ=.cmd.attacker.com
# Data is base64-encoded in subdomain labels检测 DNS 隧道
DNS 隧道的特征包括:子域标签具有高熵(经过 base64 或十六进制编码的数据)、单台主机发起 DNS 查询的速率异常高、DNS 查询名称异常长、查询 TXT 或 NULL 记录类型(合法流量中并不常见),以及查询最近注册的域名。
域名生成算法(DGA)
DGA 恶意软件使用种子值每天生成数百个伪随机域名。攻击者每天只需注册其中一个域名。防御人员无法封锁所有生成的域名,因此必须检测 DGA 模式本身,并使用 DNS 黑洞或基于机器学习的 DGA 检测。
基于 HTTPS 的 DNS C2
DNS-over-HTTPS(DoH)会将 DNS 查询封装在发送至 Google、Cloudflare 或恶意 DoH 解析器的加密 HTTPS 流量中。传统的网络层 DNS 检查无法看到这些查询。检测需要通过 EDR 在端点层面监控 DNS 解析,或强制使用已知可信的 DoH 解析器。
信标通信检测策略
可以通过分析以下因素来检测信标通信:连接频率(定期连接到同一目的地)、数据量的一致性(每次信标通信的有效载荷大小相近)、连接持续时间模式,以及一天中的时间分析(信标通信会全天候持续,而人类用户的流量通常不会如此)。SIEM 分析可以自动完成这种检测。
C2 基础设施检测
被动 DNS、证书透明度和 WHOIS 分析可以揭示 C2 基础设施。新注册的域名、部署在新 IP 地址上的 Let's Encrypt 证书,以及使用防弹托管服务商,都是相关指标。威胁情报平台会跟踪已知的 C2 基础设施,以便主动封锁。
知识检验
什么是域名生成算法(DGA)?它为什么会使 C2 封锁变得更加困难?
总结
APT 会使用带抖动的 HTTPS 信标通信、DNS 隧道、DoH、域名生成算法和基于 CDN 的基础设施来隐藏 C2 流量。检测需要结合 JA3 指纹、DNS 异常分析、信标通信模式检测,以及关于已知 C2 基础设施的威胁情报,而不能只封锁已知的恶意 IP 地址。
常见问题解答
「基于 HTTPS 的 C2 与 DNS 隧道」课时是免费的吗?
是的 — 「基于 HTTPS 的 C2 与 DNS 隧道」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「基于 HTTPS 的 C2 与 DNS 隧道」这节课中我会学到什么?
检测信标通信模式、域名生成算法、基于 DNS-over-HTTPS 的 C2 和 HTTPS 命令通道。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「基于 HTTPS 的 C2 与 DNS 隧道」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- APT 生命周期:从初始访问到数据外泄
- 无文件恶意软件与驻留内存技术
- 基于 HTTPS 的 C2 与 DNS 隧道
- 威胁归因与活动追踪