0x00 简介
1. 什么是CobaltStrike?
CobatStrike是一款基于java编写的全平台多方协同后渗透攻击框架。CobaltStrike集成了端口转发、端口扫描、socket代理、提权、钓鱼、远控木马等功能。该工具几乎覆盖了APT攻击链中所需要用到的各个技术环节。在渗透人员实战过程中可以提供一些非常便捷的功能,也可以自己编写脚本实现自动化操作。
2. CobaltStrike的文件结构
│ Scripts 用户安装的插件 │ agscript 拓展应用的脚本 │ c2lint 检查profile的错误异常 │ icon.jpg 图标 │ cobaltstrike │ cobaltstrike.jar 客户端程序 │ Log 每天的日志 │ icon.jpg │ license.pdf 许可证文件 │ readme.txt │ releasenotes.txt │ teamserver 服务端程序 │ update │ update.jar 更新程序 └──third-party 第三方工具
0x01配置需求
1.CobaltStrike最低系统要求是:
- 2 GHz +处理器
- 2 GB内存
- 500MB +可用磁盘空间
在Amazon EC2上,至少使用High-CPU Medium(c1.medium,1.7 GB)实例。
2.支持的操作系统
以下系统支持Cobalt Strike Team Server:
- Kali Linux 2018.4-AMD64
- Ubuntu Linux 16.04、18.04-x86_64
Cobalt Strike客户端在以下系统上运行:
- Windows 7及以上
- MacOS X 10.13及更高版本
- Kali Linux 2018.4-AMD64
- Ubuntu Linux 16.04、18.04-x86_64
0x02安装
Cobalt Strike安装依赖于Oracle Java 1.8,Oracle Java 11或OpenJDK 11环境
Linux
1.为Linux 设置推荐的Java环境
2.解压cobaltstrike-trial.tgz
tar zxvf cobaltstrike-trial.tgz
MacOS X
1.为MacOS X 设置推荐的Java环境
2.双击cobaltstrike-trial.dmg文件以安装它。
3.将Cobalt Strike文件夹拖到“应用程序”文件夹中。
windows
1.为Windows 设置推荐的Java环境
2.在下载并安装Cobalt Strike之前禁用防病毒软件。
3.使用您喜欢的zip工具将cobaltstrike-trial.zip解压到您首选的安装位置
0x03启动
Cobalt Strike分为客户端和服务器组件。Cobalt Strike 需要团队服务器才能使用,服务端被称为团队服务器,是Beacon有效负载的控制器,团队服务器还会存储CobaltStrike收集的数据,并管理日志记录teamserver就为服务端的运行程序。
Cobalt Strike团队服务器必须以root用户身份在受支持的Linux系统上运行。要启动Cobalt Strike团队服务器,请使用Cobalt Strike Linux软件包随附的teamserver脚本。
团队服务器有两个必要参数和两个可选参数。
第一个是团队服务器的 IP 地址。Cobalt Strike 使用此值作为其默认的服务器主机。第二个是您的团队成员用于将Cobalt Strike客户端连接到团队服务器的密码。 第三个参数是可选的。此参数指定Malleable C2通信配置文件。 第四个参数也是可选的。此参数指定以 YYYY-MM-DD 为格式的结束日期。团队服务器会将此结束日期嵌入其生成的每个Beacon中。Beacon有效负载将拒绝在此结束日期或之后运行。如果 Beacon 有效载荷在此结束日期或之后唤醒,它也将被运行退出。
当团队服务器启动时,它将发布团队服务器 SSL 证书的 SHA256 哈希值。您应该将此哈希值分发给您的团队成员。当您的团队成员连接时,Cobalt Strike 客户端会在向团队服务器进行身份验证之前询问是否验证此哈希。这是防止中间人攻击的重要保护。
Cobalt Strike Client
Cobalt Strike客户端连接到团队服务器。要启动Cobalt Strike客户端,请使用软件包中附带的启动程序。不带任何参数。当Cobalt Strike客户端启动时,您将看到一个连接对话框。
在“host”字段中指定团队服务器的ip地址。团队服务器的默认端口是50050.很少有人更改此设置。“user”字段是团队服务器上的用户名称。将此更改为您的名称。“password”字段是团队服务器的密码。点击Connect连接到Cobalt Strike 团队服务器。如果这是您与此团队服务器的第一次连接,Cobalt Strike将询问您是否识别此团队服务器的 SSL 证书的 SHA256 哈希值。如果需要,请点击OK,Cobalt Strike客户端将连接到服务器。Cobalt Strike还会记住这个SHA256哈希,以便以后方便连接。
您可以通过Cobalt Strike - > Preferences - > Fingerprints管理这些哈希值。 Cobalt Strike 会跟踪您连接的团队服务器并记住您的信息。从连接对话框的左侧选择其中一个团队服务器配置文件,以使用其信息自动填充连接对话框。您也可以通过Cobalt Strike - > Preferences - > Team Servers修改此连接
启动后的界面