4. 常见C2框架介绍:Cobalt Strike、Metasploit、Empire、Sliver

做威胁分析这些年,我见过太多红队工具被滥用的案例。说实话,C2框架就是攻击者的“指挥中心”。你搞懂了这些框架的行为模式,就能在流量中一眼认出它们。

今天咱们聊聊四个最常见的:Cobalt Strike、Metasploit、Empire、Sliver。每个我都亲手拆过,踩过坑,也总结了一些识别技巧。

4.1 Cobalt Strike —— 商业级C2的标杆

Cobalt Strike,圈内人简称CS。它是最成熟的商业C2框架,没有之一。我见过的APT组织里,超过六成都在用CS。

4.1.1 核心架构

CS的架构其实不复杂,就三个组件:

  • Team Server:服务端,管理所有Beacon
  • Client:操作端,GUI界面
  • Beacon:植入目标机器的Agent

Beacon有两种工作模式:

模式通信方式特点
HTTP BeaconHTTP/HTTPS隐蔽性好,可配置Sleep时间
DNS BeaconDNS查询穿透性强,但速度慢

我的经验:CS的Beacon默认会发送一个特定的User-Agent。我曾经在流量分析中,靠这个特征抓到了三个潜伏的CS Beacon。具体是啥?Mozilla/4.0 (compatible; MSIE 8.0) —— 这年头谁还用IE8啊?

4.1.2 流量特征

CS的流量有几个硬伤:

  • JQuery调用:CS的Web服务默认带JQuery,访问/cj/路径会返回
  • Malleable C2配置:虽然可以自定义,但很多人懒得改
  • Sleep时间:Beacon的Sleep时间通常是30-60秒,很规律

注意:别以为改了Malleable C2就抓不到。CS的Beacon在回连时,HTTP请求头里会带一个特定的Cookie格式。我见过最骚的操作是有人把Cookie伪装成百度统计的__utm参数,但仔细看还是能发现端倪。

4.2 Metasploit —— 老牌框架的C2能力

Metasploit,大家更熟悉的是它的漏洞利用模块。但很多人不知道,MSF也有完整的C2功能。

4.2.1 Meterpreter

Meterpreter是MSF的招牌。它是个内存执行的Payload,不写磁盘。我刚开始做渗透测试时,就靠它拿了不少shell。

Meterpreter的通信方式:

  • Reverse TCP:目标主动连回来
  • Bind TCP:目标开端口等你连
  • HTTP/HTTPS:通过Web隧道通信

识别要点:Meterpreter的TCP流量有个明显特征——它会在连接建立后发送一个4字节的Magic Number。这个数字是固定的,0x00 0x00 0x00 0x00。你想想看,正常的TCP连接谁会发四个0?

4.2.2 与CS的区别

维度Cobalt StrikeMetasploit
定位专业C2漏洞利用框架+C2
隐蔽性高(可自定义)中(特征明显)
团队协作原生支持需额外配置
流量加密AES+RSATLS/自定义

我个人习惯是:做红队用CS,做漏洞验证用MSF。两个工具各有千秋,但别混着用——我见过有人把MSF的Payload塞进CS的Beacon里,结果流量特征乱成一锅粥。

4.3 Empire —— PowerShell的C2帝国

Empire,一个基于PowerShell的C2框架。它火的时候,Windows的PowerShell还没被严格限制。现在虽然热度降了,但老版本的Empire还在很多内网里跑着。

4.3.1 工作原理

Empire的核心是PowerShell脚本。它通过反射加载,不写磁盘。通信方式支持HTTP、HTTPS、DNS。

我记得有一次分析一个样本,发现它每隔5分钟就向一个奇怪的域名发DNS请求。域名是xxx.azureedge.net,看着像微软的CDN。但仔细一看,TXT记录里藏着一串Base64编码的PowerShell命令。嗯,这就是Empire的DNS通信。

4.3.2 识别特征

  • PowerShell进程:目标机器上会有powershell.exe进程,且命令行参数很长
  • DNS TXT记录:Empire常用TXT记录传数据
  • HTTP请求:请求路径通常是/empire/或/api/

避坑指南:我曾经以为Empire已经过时了,直到在一个政府单位的流量里抓到它。那家伙把Empire的通信伪装成了Windows Update的流量。怎么识别的?看User-Agent——Windows Update用的是Microsoft Windows Update Agent,他写成了Windows Update Agent。少了个Microsoft,露馅了。

4.4 Sliver —— 新一代开源C2

Sliver,BishopFox团队开发的开源C2。它算是CS的开源替代品,但设计理念更现代。

4.4.1 为什么选Sliver

我最近做项目时开始用Sliver。原因很简单:

  • 全平台支持:Windows、Linux、macOS全覆盖
  • 原生支持mTLS:双向TLS认证,流量更难分析
  • 可扩展:支持Armory扩展库
  • 开源:代码透明,可以自己改

4.4.2 通信协议

Sliver支持多种通信协议:

协议加密方式隐蔽性
mTLS双向TLS极高
HTTP/HTTPSTLS高
DNSBase64编码中
WireGuard原生加密极高

你想想看,mTLS意味着什么?意味着攻击者和C2服务器互相验证证书。普通的流量检测工具根本分不清这是正常TLS还是C2通信。

注意:Sliver虽然隐蔽,但它有个弱点——默认配置下,它的HTTP请求会带一个特定的Server头。我见过一个案例,攻击者忘了改这个头,结果被WAF直接拦截了。所以啊,工具再强,配置不当也是白搭。

4.5 框架对比总结

说了这么多,咱们用一张图来总结这四个框架的核心关系:

常见C2框架对比 Cobalt Strike 商业级 · Beacon Metasploit 漏洞利用 · Meterpreter Empire PowerShell · 脚本化 Sliver 开源 · mTLS 共同目标:建立隐蔽的C2通道,实现远程控制 隐蔽性 高(可自定义) 隐蔽性 中(特征明显) 隐蔽性 中(PowerShell) 隐蔽性 极高(mTLS) 使用场景 红队 · APT 使用场景 渗透测试 使用场景 内网横向 使用场景 现代红队 识别关键:流量特征 + 行为模式 + 配置缺陷

这张图把四个框架的核心特征都列出来了。你仔细看,每个框架都有自己的“舒适区”。CS适合长期潜伏,MSF适合快速打点,Empire适合Windows内网,Sliver适合现代攻防。

4.6 实战建议

最后,给各位几个实战建议:

  1. 别只看工具:框架只是载体,攻击者的手法才是关键
  2. 关注配置:很多C2框架的默认配置都有特征,改配置的人不多
  3. 流量为王:不管用什么框架,最终都要过网络这一关
  4. 行为分析:别只看IP和域名,要看通信的行为模式

我的经验:做威胁分析这么多年,我发现一个规律——攻击者越专业,用的框架越冷门。用CS的都是“大众玩家”,用Sliver的才是高手。为啥?因为Sliver的mTLS通信,你根本分不清它和正常HTTPS的区别。所以啊,别只盯着那几个热门框架,冷门框架才是真正的威胁。