学完 Metasploit,你大概率会听说另一款红队利器——Cobalt Strike(简称 CS)。它和 MSF 常被拿来比,但定位不同:MSF 是”漏洞利用军火库”,CS 更像一个红队作战平台——强在图形化协作、长期驻留(Beacon)、社会工程与流量伪装。这一篇先把 CS 的架构和核心概念讲清,让你知道它到底由哪几块组成。
本文仅用于你对自有或已授权的目标做安全评估与防御研究。Cobalt Strike 是商业软件,请通过合法授权渠道获取与使用;对他人系统未授权使用属违法。
CS 是什么:一个”红队作战平台”
CS 不是单个工具,而是一套协同作战系统。它最常被用在”红蓝对抗”里:一个红队多人协作,共享同一批被控主机(Beacon)、同一份凭据、同一套监听配置。相比 MSF 偏”单人单兵”,CS 偏”团队指挥”。
它的三个核心角色:
- Team Server(团队服务器):CS 的”大脑”,跑在服务器上,负责管理中控的所有 Beacon、共享数据、下发任务。所有客户端都连它。
- Client(客户端):你本地运行的 GUI 程序,连上 Team Server 后操作。多个队员可同时连同一个 Team Server 协作。
- Beacon(信标):植入目标机器的 payload,长期驻留、按心跳回连 Team Server。它是你控制目标的”代理人”。
理解这三者的关系,CS 就一点也不神秘了:你用客户端连 Team Server,Team Server 指挥散布在各目标的 Beacon。
CS 和 Metasploit 有什么区别
很多新手纠结”学哪个”。其实它们互补:
| 维度 | Metasploit | Cobalt Strike |
|---|---|---|
| 定位 | 漏洞利用框架 | 红队协作/驻留平台 |
| 界面 | 命令行 msfconsole | 图形化客户端 |
| 模块量 | 极大(几千 exploit) | 利用靠外接(常接 MSF) |
| 驻留 | Meterpreter 会话 | Beacon 长期信标 |
| 强项 | 找漏洞、打利用 | 协作、社工、流量伪装、横向 |
实战里常见组合:用 MSF 打漏洞拿初始会话,再派生(spawn)成 CS 的 Beacon 做长期控制与协作。两者不是二选一,而是搭档。
起 Team Server
Team Server 需要 Java 运行环境。在服务器上(假设你已合法取得 CS):
# 进入 CS 目录
cd /opt/cobaltstrike
# 启动 Team Server:第一个参数是对外 IP,第二个是连接密码
sudo ./teamserver 1.2.3.4 yourStrongPassword
# 看到 "Cobalt Strike Team Server is now running" 即成功
1.2.3.4 是 Team Server 对外暴露的 IP(队员和 Beacon 都要能连到它);密码用于客户端连接鉴权。生产/真实对抗里,Team Server 通常架在云主机或跳板,配合域名与 HTTPS 监听器做流量伪装。
连接客户端
在你本地机器上启动 CS 客户端,填入 Team Server 的 IP、端口(默认 50050)、连接密码,以及你的昵称(用于团队协作时标识是谁操作的):
cd /opt/cobaltstrike
./cobaltstrike # 图形界面启动,填 IP/端口/密码/昵称
连上后你会看到 CS 的主界面:顶部菜单、左侧目标列表(Targets)、底部 Beacon 控制台、右侧报表区。第一次看到可能眼花,但核心就两块:**Targets(控了哪些主机)**和 Beacon(每个主机的信标交互)。
四个必须记住的核心概念
入门 CS,先记住这四个词,后面章节全是它们的展开:
- Listener(监听器):定义 Beacon 怎么回连你——用 HTTP、HTTPS 还是 DNS,回连到哪个 IP/域名、哪个端口。生成 Beacon 之前必须先有 listener。
- Beacon(信标):生成出来、放到目标上运行的 payload。它按
sleep(心跳间隔)周期性回连 listener,领任务、回结果。 - Profile(配置文件/Malleable C2):定义 Beacon 流量的”长相”(HTTP 头、URL、User-Agent 等),用来伪装成正常流量、绕过检测。入门先不管,知道有这东西即可。
- Sleep / Checkin(心跳):Beacon 不是一直连着,而是每隔
sleep秒”醒一次”回连领任务。sleep 越短越实时但越容易暴露,越长越隐蔽但越慢。
和 MSF 的第一座桥:foreign listener
CS 自己不自带大量 exploit,但它能当”接收器”接 MSF 的 payload。做法是用 foreign listener:它不自己起 Beacon 协议,而是指向一个 windows/foreign/reverse_http 这类”外部”payload——也就是让 MSF 的 multi/handler 来接会话,再在 CS 里派生成 Beacon。这座桥我们下一篇会用到。
常见新手坑
- Team Server 没起就连客户端:客户端连不上,先确认服务器端
./teamserver在跑、端口通。 - 把 CS 当纯利用工具:CS 强项不在”找漏洞”,拿初始权限常靠 MSF 或手工,别指望 CS 一个按钮打穿。
- Beacon 心跳设太短:sleep 设 0 或很小,流量特征明显,容易被 EDR 发现。入门练习机随便,真实场景要权衡。
- 流量没伪装就直连 IP:真实对抗里直连裸 IP 极容易被溯源/拦截,需用域名 + HTTPS + profile。
进阶:CS 在红队里的真实定位
理解 CS 的定位,能避免”拿着锤子看什么都像钉子”。真实红队作战里,CS 通常扮演指挥与驻留中枢:
- 多人协作:一个 Team Server 让红队几个人共享 Beacon、凭据、笔记,谁操作了什么有日志,避免撞车。
- 长期驻留:Beacon 设计就是”睡醒了干完再睡”,适合模拟 APT 那种”进来后潜伏几周”的场景。
- 流量伪装:Malleable C2 profile 把 Beacon 流量打扮成正常 HTTPS 浏览,过一些检测。
- 社工集成:钓鱼、宏、网页投递一条龙,是 CS 的强项。
而”找新漏洞打利用”这种活,CS 不如 MSF 模块多,所以实战常是 MSF 打初始入口 → CS 接手做长期控制与协作。两者搭档,不是竞争。
新手如何起步练习 CS(环境建议)
CS 是商业软件,练习前提是合法取得授权副本。环境搭建建议:
- Team Server:一台 Linux 云主机或虚拟机(需 Java 8+),跑
./teamserver。练习用内网虚拟机也行,只要客户端能连上。 - 客户端:你本地 Windows/Linux/macOS 都能跑 CS 客户端(Java 环境)。
- 靶机:用 Windows 虚拟机(Win10/Server)当被控端,关掉或装好 Defender 用于免杀测试。务必在你自己完全控制的虚拟机里练,别碰任何不属于你的机器。
- 网络:练习时 Team Server 与靶机放同一虚拟内网最省事;想模拟”公网回连”再上云。
练习路线:先按本系列四章走通”建 listener→生成 Beacon→上线→命令→投递”,再和 MSF 联动(foreign listener 派生)。等基础顺了,再碰 Malleable C2、重定向器这些进阶。别一上来就追求”免杀过 Defender”,先把工作流跑通。
一句话记住 CS
如果只能记一句:Team Server 是指挥中心,Beacon 是潜伏在目标上的信标,Listener 是 Beacon 回连的电话线,Profile 是伪装外衣。 围绕这四个词,CS 的所有操作都能归位——建 listener(架电话线)、生成 Beacon(造信标)、上线(信标拨通)、profile(给通话加密伪装)。剩下的是”怎么让信标到目标上运行”(投递篇)和”信标能干什么”(Beacon 命令篇)。
延伸:CS 与 MSF、内网篇怎么配合
学完 CS 四章后,建议这样把它嵌入你的红队工具链:
- MSF 打初始入口:用 MSF 的 exploit 拿下第一台机器,拿到 Meterpreter。
- CS 接手长期控制:把 Meterpreter 派生成 Beacon(
spawn到 foreign listener),用 CS 做长期驻留、团队协作、流量伪装。 - 内网篇做横向:在 Beacon 里抓凭据、开路由、横向到域控,过程中用免杀保证 Beacon 不被 EDR 杀。
三者不是替代关系,而是接力:MSF 是”尖刀”,CS 是”营地”,内网篇是”行军路线”。理解各自定位,才能在真实演练里灵活组合。
常见误区
- “CS 是免费开源的”:CS 是商业软件,需授权购买,盗版既违法又有后门风险。
- “有 CS 就不需要 MSF”:CS 利用能力弱,初始打点常靠 MSF 或手工。
- “裸 IP + 直连最方便”:真实对抗直连裸 IP 极易被溯源拦截,要用域名+HTTPS+profile。
- “Beacon 一直连着”:Beacon 是心跳制,sleep 大时你下命令要等,别以为卡了。
自测题
- Team Server、Client、Beacon 三者是什么关系?
- CS 和 MSF 的核心区别在哪?实战怎么配合?
- Listener、Beacon、Profile、Sleep 分别管什么?
- 为什么说”裸 IP 直连”在真实对抗里不可取?
这一篇你该记住的
- CS 是红队协作平台,三件套:Team Server(大脑)、Client(GUI)、Beacon(目标上的长期信标)。
- 和 MSF 互补:MSF 强在利用模块,CS 强在协作/驻留/社工/流量伪装,实战常组合使用。
- 起 Team Server:
./teamserver <IP> <密码>;客户端填 IP/端口/密码/昵称连接。 - 四个核心概念:Listener(Beacon 回连方式)、Beacon(驻留 payload)、Profile(流量伪装)、Sleep(心跳间隔)。
- foreign listener 是 CS 与 MSF 联动的桥,下篇会用到。
下一篇我们动手:先建一个 HTTP listener,再用它生成一个 Beacon 木马,让它在目标上”上线”,并理解 Beacon 的心跳与基本交互。这就是 CS 工作流的起点。