第五章:C2 基础设施搭建
核心逻辑:C2 (Command & Control) 是红队的“大脑”。基础设施的质量直接决定了行动的生存率。本章重点在于流量伪装与架构隔离,防止蓝队反向溯源。
5.1 C2 平台选型
|
平台 |
优势 |
劣势 |
适用场景 |
|---|---|---|---|
|
Cobalt Strike |
生态成熟,插件多(Aggressor Script),稳定性强。 |
特征明显,易被杀软/沙箱标记。 |
大型攻防演练、APT 模拟。 |
|
Havoc |
开源,现代 UI,原生支持 x64 绕过,对抗性强。 |
相对较新,部分功能不如 CS 完善。 |
高对抗环境、免杀要求高的场景。 |
|
Sliver |
开源,跨平台(Go语言),支持 Mutual TLS。 |
操作逻辑偏技术化,GUI 较弱。 |
云原生环境、红队自动化。 |
|
Metasploit |
漏洞利用模块极强。 |
作为 C2 过于笨重,易被检测。 |
内网渗透阶段的漏洞验证。 |
建议:Havoc/Sliver (外网打点) + Cobalt Strike (内网横向) 的组合。
5.2 基础设施架构设计(防溯源)
核心原则:永远不要让受害机直连你的真实 VPS IP。
5.2.1 重定向器 (Redirector)
使用云厂商(AWS, Azure, 阿里云)的服务器作为流量转发层。
-
架构:
Victim -> CDN/Redirector -> Team Server。 -
优势:
-
隐藏真实 IP:蓝队只能看到 Redirector 的 IP。
-
快速重建:被封禁后,秒级更换 Redirector,不影响 Team Server。
-
5.2.2 Domain Fronting(域前置)
原理:利用 CDN(如 CloudFlare, Azure)的特性,在 HTTPS 请求的 Host头中隐藏真实 C2 域名。
-
操作:
-
购买廉价域名(如
malware-update[.]com)。 -
将 CNAME 指向高信誉域名(如
storage.azureedge[.]net)。 -
C2 配置中设置
Host头为高信誉域名。
-
5.3 Listener 设计与流量伪装
5.3.1 HTTPS Listener 配置
目标:让 C2 流量看起来像正常的 API 请求。
|
配置项 |
推荐值 |
原因 |
|---|---|---|
|
Port |
443 |
HTTPS 标准端口。 |
|
Host Header |
|
伪装成微软更新。 |
|
User-Agent |
|
模拟 Chrome/Edge。 |
|
URI Path |
|
伪装成数据上报接口。 |
|
JA3/SSL |
自定义 SSL 证书 |
修改 JA3 指纹,绕过流量分析。 |
Cobalt Strike Profile 示例:
c
set sample_name "Chrome Update";
set sleeptime "30000"; # 心跳30秒,降低流量频率
set jitter "20";
http-get {
set uri "/api/v1/config";
client {
metadata {
base64;
prepend "SESSIONID=";
header "Cookie";
}
}
server {
output {
print;
}
}
}
5.3.2 DNS Listener(备用通道)
场景:目标环境禁止 TCP 出站,只允许 DNS 查询。
-
配置:使用
tcp-over-dns或dnscat2。 -
缺点:速度极慢,仅用于维持最小权限(Keep-alive)。
5.3.3 ICMP Listener(极度隐蔽)
场景:完全隔离网络,只有 Ping 通外网。
-
工具:
icmpsh,PingTunnel。 -
原理:将数据封装在 ICMP Echo Request/Reply 包的 Data 字段中。
5.4 防御视角(给蓝队)
-
流量侧:
-
监控 长连接 或 心跳规律 的 HTTPS 流量。
-
检查 SNI (Server Name Indication) 与证书是否匹配。
-
部署 JA3 指纹库,拦截非常规 TLS 指纹。
-
-
主机侧:
-
监控
rundll32.exe、powershell.exe发起的异常外连。 -
使用 Sysmon 监控网络事件(Event ID 3)。
-

545

被折叠的 条评论
为什么被折叠?



