cobalt strike入门
一、前言
Cobalt Strike是一款渗透测试工具,它以强大的内存免杀能力、图形化协作界面和丰富的攻击链模块,成为了众多专业红队和安全研究人员的首选。
注意
不要在未授权的情况下攻击任何主机,即使是扫描一样可以请你进去喝茶
二、Cobalt Strike 简介
Cobalt Strike 是由 Raphael Mudge 开发的一个以攻击阶段为中心的渗透测试工具,最早发布于 2012 年。它主要用于以下任务:
- 客户端攻击模拟(Client-Side Attack)
- 权限维持与后渗透
- 横向移动
- 命令控制(C2)通信
其核心是通过部署一个称为 Beacon 的载荷,实现持久化控制与命令执行。
c2
C2,即Command and Control(命令与控制),是指攻击者通过与恶意软件的交互来控制受害者的计算机,从而实施恶意活动。
C2通常指攻击者用来控制受害机器的服务器,也称为C2服务器或C&C服务器。
C2通信是攻击者与被入侵系统之间进行通信的主要方式,是检测恶意活动的重要指标。
三、CS 的核心组件
Team Server
- 是 CS 的服务端,用于与客户端通信,接收 Beacon 回连。
启动方式:
./teamserver <IP> <密码>
注意添加执行权限,为方便测试也可以
chmod -R 777 <整个目录>
Cobalt Strike Client
- 图形化客户端,连接 Team Server 后可以进行各种操作。
Beacon
- 被控端载荷,是 CS 最常用的后门。
- 支持多种通信方式:HTTP、HTTPS、DNS、SMB、TCP。
四、常用功能一览
1. 监听器(Listeners)
监听器是载荷的“交通枢纽”,用于设置 Beacon 的通信方式、回连地址等。
配置监听器时可选择:
- 类型:HTTP/HTTPS/DNS/SMB等
- 端口:默认 HTTP 为 80 或 HTTPS 为 443
- 回连地址:通常为 Team Server 的 IP
2. 生成 Payload
可以通过以下方式生成载荷:
- Windows EXE 可执行文件
- PowerShell 脚本
- Java Applet(已废弃)
- Macro 载荷(如 Office 宏)
命令路径:Attacks → Packages
3. 客户端攻击模块
提供了多种社会工程攻击模块:
- Website Clone + Applet:仿冒站点植入恶意代码
- Spear Phishing with Attachment:钓鱼邮件带附件
- Host File Web Drive-by:网页挂马
4. 会话管理与命令控制
Beacon 会话上线后,右键可执行多种操作:
- 命令行执行(shell)
- 文件上传/下载
- 端口转发
- 内存注入
- 远程桌面截图
5. 权限提升与横向移动
CS 支持一系列后渗透模块,包括:
- Privilege Escalation:提权脚本
- Token Stealing:令牌窃取
- Psexec / WMI / DCOM:横向移动方式
- Credential Dumping:mimikatz 模块调用
五、基本使用流程(演示)
1. 启动 Team Server
./teamserver 192.168.1.100 mypassword
2. 启动客户端并连接
输入 IP 和密码,登录图形界面
3. 设置监听器
Cobalt Strike → Listeners → Add → 设置 Beacon 类型
4. 生成载荷
Attacks → Packages → Windows Executable → 使用生成的文件投放目标机
5. 等待 Beacon 回连
Beacon 会话上线后,在界面中显示,可开始交互操作
后期
- 可以配合msf框架联动
- payload持久化
- payload免杀