前几篇你学会了建 listener、生成 Beacon、让它在靶机上线、用 Beacon 命令控制机器。但有个前提一直被跳过:Beacon 木马怎么到目标机器上、并被运行? 这一篇讲”投递(delivery)“——也就是社会工程与诱导执行的常见手法。这是 CS 基础系列的收尾,也是合规要求最高的一环。
本文仅用于你对自有或已授权的目标做红队演练。钓鱼、宏文档、U 盘投放等若对未授权第三方实施,属违法且可能构成诈骗/破坏;务必有书面授权与明确范围。
投递的本质:让”人”替你运行
技术利用(漏洞)是”机器的事”,投递(delivery)往往是”人的事”。再好的 Beacon,如果目标不运行它,也上不了线。所以投递的核心是社会工程——利用人的信任、好奇、疏忽,让对方主动打开/运行你给的文件。常见入口:
- 钓鱼邮件(带恶意附件或链接)
- 恶意 Office 文档(宏)
- 网页投递(诱导访问恶意页面自动下载)
- 物理介质(U 盘丢在门口,等有人捡起来插电脑)
手法一:宏文档钓鱼(Spear Phishing)
最经典的投递。思路是发一封”正经”邮件(如发票、简历、通知),附件是个启用了宏的 Office 文档;受害者打开、启用宏,宏代码就下载并运行你的 Beacon。
CS 里有现成功能:
# 在 CS 客户端:
Attacks → Spear Phish
# 填:目标邮箱、发件人、主题、附件(用 Attacks → Packages → MS Office Macro 先生成带宏的 doc)
# 宏文档里嵌的是一段 VBA,打开后会从你的 Web 服务拉 Beacon 并执行
生成的宏文档打开后,VBA 宏会从你指定的 URL 拉取 Beacon 载荷运行。前提是受害者”启用宏”——这也是为什么真实钓鱼要包装得可信(如”请启用宏以查看内容”)。
⚠️ 合规红线:宏钓鱼只可在书面授权的红队演练中对指定目标使用。对外部、对客户名单外的人发,就是真正的网络犯罪。
手法二:网页投递(Web Drive-by)
CS 可以起一个恶意网页,目标用浏览器访问时,页面利用浏览器漏洞或诱导下载,让 Beacon 落地。入口:
# CS 客户端:
Attacks → Web Drive-by → Clone Site # 克隆一个可信站点,嵌恶意内容
Attacks → Web Drive-by → Host File # 托管一个文件供下载
比如克隆公司登录页,诱导目标访问并”下载安全组件”,实际下的是 Beacon。这类手法依赖浏览器/插件漏洞或诱导,技术门槛和合规门槛都高。
手法三:恶意快捷方式与 U 盘
更”物理”的投递:把 Beacon 藏在伪装成文档的快捷方式(.lnk)里,或写进 U 盘自动播放/诱导双击。CS 能生成这类载荷:
# 生成各种"诱饵"格式
Attacks → Packages → Windows Executable (S) # 签名 exe
Attacks → Packages → Microsoft Office Macro # 宏文档
Attacks → Packages → Payload Generator # 生成 raw shellcode 供自己包装
U 盘投放属于”物理社会工程”,只在授权范围内的物理渗透测试(如应客户要求模拟内鬼/丢 U 盘)才做。
和 MSF payload 的配合
投递不限于 CS 自己的 Beacon。你完全可以用 msfvenom 生成木马,再通过 CS 的托管/钓鱼送出去;目标运行后,若 listener 是 foreign(指向 MSF handler),就直接进 MSF。反过来,MSF 拿到的 Meterpreter 也能用 payload_inject 派生成 CS Beacon。两个框架在”投递”这一层也是打通的——用谁生成、用谁托管,看你演练设计。
投递的防御视角(同样重要)
理解投递,也是为了防御。对应防守动作:
- 邮件网关:过滤带宏附件、可疑链接的邮件;启用附件沙箱检测。
- 禁用宏:通过组策略默认禁止联网宏(Office 的 Mark of the Web + 宏策略)。
- 安全意识培训:让员工识别钓鱼邮件(发件人、紧迫话术、异常附件)。
- U 盘管控:禁用自动播放,限制可移动介质。
- EDR/杀软:拦截已知 Beacon 特征与异常父子进程(如 word 起 powershell 拉 exe)。
红队做投递,目的正是检验这些防守是否真的生效。
常见新手坑
- 没授权就对外发钓鱼:这是真犯罪,不是练习。范围必须书面明确。
- 宏文档受害者不启用宏:投递失败,要在演练设计里考虑”如何合理诱导启用”,而不是怪工具。
- 裸 IP 直投易被拦:真实对抗里投递链路(域名、HTTPS、邮件可信度)决定了成功率,直连裸 IP 几乎必被拦。
- 只管打不管防:红队价值在”验证防御”,投递后要点出防守在哪失效、怎么补。
进阶:投递成功率的影响因素
投递不是”发个邮件就中”,成功率受很多因素影响,红队要系统性设计:
- 可信度:发件人像不像内部IT?主题像不像正经事务?附件名像不像发票/通知?可信度决定打开率。
- 载体适配:目标用 Office 365 还是旧版 Office?宏默认被禁的话,要考虑其他诱导(如启用宏的提示话术、或换无宏的载体)。
- 投递链路:邮件域名、落地页域名是否可信(备案/相似域名),裸 IP 直投几乎必被拦。
- 时机与上下文:结合已掌握的情报(如知道目标在用某系统),投递”相关”的内容更易中招。
这也是为什么投递是”社会工程 + 技术”的结合——技术(生成 Beacon)只占一半,另一半是让人愿意运行。
对比:不同投递手法的成功率与风险
把几种投递手法放一起比,方便你按场景选:
| 手法 | 依赖 | 成功率 | 风险/暴露 |
|---|---|---|---|
| 宏文档钓鱼 | 受害者启用宏 | 中(取决于话术) | 中(宏特征易被拦) |
| 网页投递 | 受害者访问恶意页 | 中低(需诱导访问) | 中(页面/下载被拦) |
| 恶意 lnk/U 盘 | 受害者双击 | 低中(靠物理/好奇) | 高(物理接触,易留痕) |
| 水坑(克隆可信站) | 受害者恰好访问 | 中(需选对目标站) | 中(克隆站易被识破) |
没有”最好”的手法,只有”最适合当前目标”的。真实红队常组合:钓鱼拿到第一批机器,再用内网横向扩散,不依赖单一投递。且每种手法的合规门槛都高——必须书面授权、范围明确,对外即犯罪。
从防守角度记住:这些手法能成功,往往因为”人”是 weakest link。安全意识培训 + 邮件网关 + 禁宏,能挡掉大部分投递。
延伸:投递与免杀的联动
这一篇讲的投递,和”内网渗透·免杀基础”是绑定的——你生成的 Beacon 木马,在真实目标的内网杀软/EDR 面前往往一运行就被杀,投递再成功也白搭。所以实战里投递和免杀要一起设计:用免杀手法(分离加载、内存执行)生成更隐蔽的 Beacon,再配合可信的投递链路(域名、HTTPS、话术)送出去。两者缺一,红队行动都走不远。建议学完本篇后,接着看内网篇的免杀基础,把”送得进去”和”跑得起来”打通。
常见误区
- “工具能解决投递”:CS 能生成宏文档,但”让人启用宏”靠的是话术与可信度,工具管不了。
- “一次不中就是工具不行”:投递本就是概率游戏,要迭代话术、载体、时机。
- “对外发钓鱼练习”:这是真犯罪,范围必须书面明确,对象必须是授权目标。
- “只管打不管报告”:红队价值在验证防御,投递后要点出防守哪失效、怎么补。
自测题
- 投递的本质是什么?为什么它常是”人的事”而非”机器的事”?
- 宏文档钓鱼依赖受害者的什么动作?这给防御什么启示?
- 为什么”裸 IP 直投”成功率极低?
- 红队做投递的合规红线在哪里?
这一篇你该记住的
- 投递的本质是社会工程:让”人”替你运行 Beacon,而非纯技术漏洞。
- 常见手法:宏文档钓鱼(Spear Phish)、网页投递(Web Drive-by)、恶意快捷方式/U 盘。
- 合规红线极高:仅限书面授权、指定范围的红队演练;对外即犯罪。
- CS 与 MSF payload 可互通投递:msfvenom 生成也能经 CS 托管,foreign listener 接 MSF。
- 防御视角同等重要:邮件网关、禁宏、安全培训、U 盘管控、EDR 是对应防线。
到这里,Cobalt Strike 基础四章讲完:从架构入门、listener 与 Beacon 上线、Beacon 常用命令与派生 MSF,到投递与钓鱼。配合前面的 Metasploit 五章,你已经掌握了两款主流框架的”基础使用”。下一套我们进入 内网渗透——提权、横向、域、免杀,把”控了一台机”变成”拿下整个内网”。