什么是Cobalt Strike?
Cobalt Strike 是一款 GUI 的框架式渗透工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe 木马生成,win dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java 执行,浏览器自动攻击等等。采用 C/S 架构,适合多人进行团队协作,可模拟APT做模拟对抗,进行内网渗透。
启动前准备
启动Cobalt Strike服务端
配置
打开teamserver文件,最后两行可以配置服务端的端口,密码等。一般只需要修改server_port 和 Password 即可。
启动
1 | ./teamserver xxx.xxx.xxx.xxx(服务端IP地址) xxxxx(密码) |
启动 Cobalt Strike 客户端
- Windows
以管理员方式运行 cobaltstrike-client.cmd
- Linux
1 | bash cobaltstrike-client.cmd |
导航栏介绍(ver. 4.8)
介绍各栏常用的功能
Cobalt Strike
- New Connection - 连接新的 Cobalt Strike 服务端
- Preference - Cobalt Strike 的设置功能
- Visualization - 显示三种视图 (Pivot - 逻辑视图、session - 会话列表、target - 目标列表)
- Listeners - 监听器列表,可添加、编辑、移除、重启监听器
- Script manager - 管理 Cobalt Strike 额外的扩展脚本模块
View
- Applications - 应用列表
- Downloads - 下载列表
- Event Logs - 事件日志
- Proxy Pivot - 代理列表
- Targets - 目标列表
- Web Logs - 网络日志
Payloads
- HTML Application - hta payload
- MS Office - office payload
- Stager Payload Generator - 生成分段 payload
- Stageless Payload Generator - 生成不分段 payload
Attacks
- Scripted Web delivery - Web delivery 攻击
渗透实战演示
生成监听器
攻击前先生成一个监听器供客户端监听目标机器的上线。
Cobalt Strike -> Listeners -> Add
需要设置监听器的 Name、HTTP Hosts ,其他默认即可,如有特殊要求,再设置其他内容,80端口有占用则需设置 HTTP Port(C2)。
选择攻击方式
根据目标机器的漏洞,可以在 Payloads 中选择攻击的方式,本次就用不分段 payload,默认只需要设置 Listener ,选择刚才创建的监听器,点击 Generate 即可生成64位的 exe 木马。
将木马文件上传到目标机器上,并启动。
在客户端可以看到目标机器已经成功上线。当前用户为Administrator,后门进程为beacon_x64.exe,pid为2244。
后渗透阶段
上线之后就可以进行更多的操作,右键菜单可以看到有很多选项,Interact为互动,可以开启交互界面,Sleep 为指令睡眠时间,在输入指令后客户端会睡眠相应的时间以欺骗目标机器的流量检测,从而使攻击指令流量不易被发现。Access 为一些可执行的权限操作,包括提权,获取密码等。Explore 为一些视图,包括VNC,进程列表,文件浏览,端口扫描等。
例:执行提权操作后即可看到多了一个权限为 system 的 session ,我们就可以在这个session 中执行更高权限的指令。