0x01: 系统要求

Cobalt Strike 要求 Oracle Java 1.8,Oracle Java 11, 或 OpenJDK 11。
如果你的系统上装有防病毒产品,请确保在安装 Cobalt Strike 前将其禁用。

0x02:CS 团队服务器

Cobalt Strike 分为客户端组件和服务器组件。服务器组件,也就是团队服务器,是 Beacon payload 的控制器,也是 Cobalt Strike 社会工程功能的托管主机。团队服务器还存储由 Cobalt Strike 收集的数据,并管理日志记录。

Cobalt Strike 团队服务器必须在受支持的 Linux 系统上运行。要启动一个 Cobalt Strike 团队服务器,使用 Cobalt Strike Linux 安装包中的teamserver脚本文件。

image.png

团队服务器的启动命令包含两个必填的参数和两个选填的参数。第一个必选参数是团队服务器的外部可达 IP 地址。Cobalt Strike 使用这个值作为它的功能使用的默认主机地址。第二个必选参数是密码,你的团队成员将使用此密码从自己 Cobalt Strike 客户端去连接至 Cobalt Strike 团队服务器。

第三个参数是选填的,这个参数指定一个「C2 拓展文件」。

第四个参数也是选填的。此参数以YYYY-MM-DD的日期格式指定结束日期。团队服务器会将这个结束日期嵌入到它生成的每个 Beacon stage 中。Beacon payload 在此日期后将拒绝运行,并且在此日期后如果这个 Beacon payload 醒来也会自动结束(对应 Beacon 会话中的exit选项)。

当团队服务器启动,它会发布团队服务器的 SSL 证书的 SHA256 hash。你需要给你的团队成员分发这个 hash。当你的团队成员连接团队服务器时,在身份验证至团队服务器前、他们的 Cobalt Strike 客户端会询问他们是否承认这个 hash 。这是抵御中间人攻击的重要保护措施。

0x03: Cobalt Strike 客户端

使用 Cobalt Strike 客户端连接至团队服务器。要启动 Cobalt Strike 客户端,使用适用于你的平台的软件包内的启动器。

当 Cobalt Strike 客户端启动时,你会看到一个连接对话框。
image.png

在Host(主机)字段指定你的团队服务器的地址。团队服务器的默认端口为 50050,没有必要修改这个默认端口。User字段填写你的昵称,当你进入团队服务器之后会显示此昵称。可以将此字段更改为你的外号、称呼或幻想的黑客名号(如 Snowden 斯诺登)。Password字段填写团队服务器的共享密码。

按下Connect按钮来连接到 Cobalt Strike 的团队服务器。如果这是你第一次连接至此团队

服务器, Cobalt Strike 会询问你是否承认这个团队服务器的 SHA256hash。如果你承认,那么按OK,然后 Cobalt Strike 的客户端就会连接到这个团队服务器。CobaltStrike 也会在未来的连接中记住这个 SHA256 hash。你可以通过CobaltStrike→Preferences→Fingerprints来管理这些团队服务器的 hash。

image.png

Cobalt Strike 会跟踪你连接到的团队服务器并记住你的信息。从连接对话框左手边选择一个团队服务器的profile(连接信息),使用它的信息填充此连接对话框的字段。你也可以通过CobaltStrike→Preferences→TeamServers来管理此列表。
image.png