提权是演,删库犯法,红队别太认真——Beacon 跳了 100 次,工资一分没到账

admin 2025年5月7日15:43:34评论0 views字数 14483阅读48分16秒阅读模式

零。引言:隐形的胜利者,不存在的失败者

人们常说,护网是网络安全界的“大阅兵”。

每年一次,红蓝对阵,政企联动,战鼓擂响,态势大屏高挂,PPT如潮,报告成山,气氛隆重得仿佛安全就在这些图表和流程里实现了“闭环”。

  • 你在屏幕前看到的,是“一体化安全协同防御体系建设”;

  • 你在微博上看到的,是“凌晨三点,蓝队工程师崩溃大哭”;

  • 但你看不到的,是红队的身影——那一群没有名字的影子兵。

他们是入侵者,也是测试者; 他们是攻击方,更是背锅侠; 他们手握最真切的攻击路径,却必须踩着流程的节奏起舞。

他们模拟最真实的攻击,却被要求:

  • 不能吓到业务,

  • 不能惊动用户,

  • 更不能“太成功”。

他们上线得太快,会被质疑“控制不到位”;

他们提权提得太深,会被建议“点到为止”;

他们打得太准,反倒会迎来一句:

“咱别打这里,这是真环境。”

于是他们写下最复杂的攻击链,跨越三台跳板、五道防线,最终在报告中被浓缩成一句话:

“攻击者可能进入内网,尚未造成重大影响。”

这不是一篇技术白皮书。 这也不是一份成功案例汇编。

这是一篇红队工程师在护网演练中写下的“手记”。

写给谁?写给自己,也写给那些在“预算压顶”“流程至上”“报告定制”的世界里,依然还想做点技术的人。

我们上线,我们潜伏。我们用 Beacon 掩盖身份,用脚本穿透边界,用凌晨四点的远控窗口堆起全部成果——然后干净撤离,仿佛从未存在。

上线不能太早,不能太多,不能太吓人。 提权不能太顺,不能太明显,不能太深入。 你花了五天打穿一套系统,只为了在 PPT 里让它变成“一条路径已验证”。

我们在报告中隐身,在流程中消失,在预算中蒸发。 我们明明来了,却不能出现在复盘结论中; 我们明明打穿了系统,却得感谢对方“配合演练”。

但我们知道,这一切,都是“安全”的一部分。

真实、不可展示、无法衡量,却不可或缺。

所以,请你跟着这篇文章,走一遍我们走过的路径——

从钓鱼邮件到域控提权, 从夜里上线到清晨撤离, 从打穿废墟到模拟演出, 从“漏洞已知”到“不可报告”。

走一遍红队的路, 你就会知道,什么叫:

来过,但不能留下。

一、预言家上线

人们常说,护网是网络安全界的“谍战演习”。

但你知道的,真正的谍战演习不会提前把目标蓝图递给你, 还附带说明:“请不要惊动目标、不要造成损失、不要留下痕迹, 而且过程需要可控,攻击路径需可追溯,演练效果需可汇报。”

我们是红队,不是幽灵特工,也不是布景组。

于是,每年护网,都是一次潜行者与制度缝隙之间的对弈—— 我们有漏洞清单,有内网字典,有一整套“剧本杀”的流程,也有一地鸡毛的现实。

每年护网开始前,你最像的不是黑客,而是算命先生。

你翻出去年蓝队的 PPT,像解甲骨文一样解读他们怎么总结你的攻击:

“攻击者采用钓鱼邮件,伪装成领导行程通知,诱导点击远控木马。”

你默默在今年的剧本中划掉“钓鱼邮件”这一行。

因为你知道,他们已经有经验了, 而有经验的蓝队,比漏洞少的系统更难搞。

他们封了 SMTP 外发,禁了 .scr、.lnk 附件,Outlook 自动执行规则也被 GPO 拦死; 你试着用 OneDrive 链接伪装投递器,结果邮件网关自动访问链接并云沙箱拉黑整个域名。

你想换思路,从灰色链路构造:

  • 用“电话账单”做诱饵;

  • 用 Pixie 模板渲染 HTML,混淆 URL 参数;

  • 搭建落地页,FakeUpdate 模拟 Windows 弹窗;

页面执行链设计两套方案,一套走 ms-msdt: 协议跳 PowerShell,另一套用 SignedBinary 触发 rundll32.exe 加载 shellcode;

结果用户刚打开页面,终端侧 UEM(统一终端管理)系统直接回传警告:

“检测到用户打开异常 HTML 文件,已自动阻断进程并上报样本。”

你咬牙,决定换条路——打 Web。

你扫到了一个用 JSP 写的投票模块,权限不高,但够你落脚。

你尝试上传 WebShell,结果 .jsp 被 WAF 拦截,你开始尝试经典绕过:

  • .jsp;.jpg

  • .%20jsp

  • upload.php?file=.jsp

  • Shell 内容混淆为:

<%@ page import="java.util.*,java.io.*"%>
<%
String _a="cmd"
String _b=request.getParameter(_a); 
Process _p=Runtime.getRuntime().exec(_b);
%>

依然失败。

你开始用 Ceye.io 打 SSRF,发现请求被 DNS 池拦截,内网域名全部被劫持返回 127.0.0.1, 你测试的 webhook 被网关打了回包:“你钓不了”。

你终于上传成功一枚 WebShell,路径为 /upload/2025/shell.jsp;.jpg,反弹 shell 成功上线。 结果 Beacon 刚上线不到五秒,EDR agent 杀掉了进程,并回传 hash 签名入 IOC 黑名单。

你想抽根烟。

你冷静下来复盘:

行为拦截 + 云查杀 + 主动狩猎,你还没出剑,他们已经把刀架你脖子上了。

你尝试内网渗透——

  • 用 SharpHound 开图谱,结果一台主机开着 WD ATP,瞬间上传你 DLL;

  • Seatbelt.exe 提取内存凭据,执行失败,“系统策略禁止 PowerShell”;

  • Rubeus 做 Kerberoasting,结果被蓝队用 HoneyService 反打,抓你账号;

  • impacket-secretsdump 准备用 hash 横向,结果 SMB 被改成白名单通信;

  • Golden Ticket 刚刚打进域控,心跳没跳完三次,就被 SOC 流量侧检测精准命中。

SOC 侧反馈:

“检测到 TLS 会话特征异常,JA3 指纹未命中白名单,SNI 显示非企业内服务。”

你差点掀桌。

更气的是,你听到蓝队在复盘时对领导说:

“我们这次要求红队使用高级攻击手法,不能再走常规路径。”

你愣住了。

“高级”是说你绕过了防御, “常规”是说你用了别人的套路。

你这才明白,这不是技术对抗,这是风格压制。

你不是不能进来,而是:

不能太快、不能太猛、不能太像攻击、不能让人难看,最好让人有台阶下。

你已经不是那个想进来的人, 你是那个必须进来、还得演得“好看”、不能太真、最好还能讲解攻击过程的人。

你不是攻击者,你是“演练技术顾问”

你上线了,但你必须看起来像没上线。

你成功了,但你必须让蓝队看起来更成功。

你写下的攻击链,最后要变成:

“攻击演示完成,红队未造成真实影响,系统表现正常,整体防护有效。”

你叹了口气,关闭 Beacon。

你回想起第一次做红队时,是为了攻破系统,现在是为了配合剧本。

你终于明白,每年护网开始前,你最像的不是黑客, 而是站在报表前,揣摩甲方心理的——算命先生。

二、投毒未遂

你注册了十几个看起来像内部子域的钓鱼域名:

  • oa-finance-cn.com

  • it-support365.net

  • mailgroup-upgrade.cn

  • crm.company-hr.com

这些域名你不仅做了DMARC/SPF/DKIM三重认证,还用公司邮箱风格仿制模板,连 footer 都写上了“保密级别:内部”。

你写好了钓鱼邮件正文,标题非常到位:

【紧急】关于下半年预算调整,请查阅附件并在今日前反馈

正文语气仿照行政口吻,还贴心加了一句:

“本文件仅面向集团中后台部门人员,请勿外泄。”

你以为你在模拟 APT,其实你像是在模仿财务部的语气发通知。

你在附件里塞了远控木马,做了多重包装:

  • 用 msfvenom 生成 .exe,嵌入 Empire Launcher;

  • 用 cab 压缩,构造 .pdf.exe 伪装成预算文件;

  • 再用 7z SFX 打包,配合诱饵 PDF 和定制图标;

  • 设置双击自动打开 PDF,同时后台加载 Beacon;

  • Beacon 发起 TLS 会话,回连你部署在 cloudflare workers 的 C2 域名;

  • 执行链还自带退避机制和自毁命令,确保上线无痕。

你甚至做了全平台杀软查杀,连 VT 都扫了一遍,查无实报。

你发出第一封邮件,准备迎接上线潮。

结果你被钉钉当场踢出群聊。

系统提示你:

“钓鱼邮件内容违规,已通报安全部门并记录行为轨迹。”

你才知道,问题不在于你钓得好,而在于:

“他们直接不让发带附件的邮件。”

你改用超链接发信,把木马挂在某国内网盘,附带提取码:

请使用提取码 8u2x 下载文件:
https://pan.baidu.com/预算调整通知包.zip

结果邮件网关自动提取链接点了一遍,预扫 URL 后触发了链接中的 beacon 回连。

一分钟后,你的 C2 域名直接出现在了蓝队 IOC 告警面板。

你连夜换掉域名,重新部署后发第二波邮件。

这次你格外谨慎:

  • 使用 Google Fonts 生成反追踪短链;

  • 将下载链接伪装成 Google Docs 通知;

  • 提取码分开发送,避免关联标记;

  • 链接落地页加了 JS 动态加载,防止静态扫描提前触发。

你以为自己终于绕过了所有防线。

结果后台系统弹出新警告:

“钓鱼行为已触发蜜罐机制,已将发送者标记为攻击模拟源。”

你点开日志一看,发现蓝队居然部署了一个诱导点击的 PDF 附件蜜罐,只要有人点错地址,系统就自动伪造“上线响应”并标记你为“异常行为源”。

你不是上线了,你是被钓回去了。

你心态崩了,打算从社工角度破局。

你伪装成 IT 运维,在内网运维群里发出“策略升级提醒”:

“近期将调整内网防火墙规则,需用户授权策略同步,请下载工具并执行一次。”

你上传的工具是自己改过的 SharpRDP,通过静默调用添加管理员账户 SecurityUpdate。

你甚至做了伪造更新窗口,用 AutoIT 弹出“更新中请勿关闭”。

结果不到十分钟,蓝队找上门:

“请立即停止向用户发送工具行为,我们已定位到你试图创建本地账户。”

你查了下日志,发现你忘了关掉 NetUserAdd 的系统日志输出,还没持久化完就上了告警大屏。

你开始怀疑人生。

你原本以为自己是潜入敌后的情报人员, 现在像个在小区群发诈骗广告的骗子。

你回头看看自己写的钓鱼链条,技术如此精致:

  • 白域名验证过的诱饵地址;

  • 多态加壳的可执行体;

  • 文件名混淆 .docx.zip.exe;

  • 多级 C2 中转、域前置、域后缀动态绑定;

  • DNS 隧道、SNI 绕过、Host header 混淆;

  • 静态签名移除、行为特征打散、心跳负载自调节。

但你打不过的是:

  • “邮件不让发”

  • “附件统一拦”

  • “网盘自动预扫”

  • “链接提前打开”

  • “钓鱼点击蜜罐”

  • “群管误拉进家长群”

你一边删掉了所有 payload,一边默默在文档里写下:

阶段目标:钓鱼上线 → 失败
封锁方式:邮件策略封锁 + 网关链接预扫 + 附件沙箱 + 行为蜜罐
感受:红队进不来,演练照样过
总结:技术无罪,风控无敌

你突然想起那句:

“安全不是红队打不过系统,而是打不过流程。”

你也想加一句:

“流程打不过,就改成蜜罐让你打自己。”

三、攻入一个废墟

某天凌晨,你从一台早已无人认领的业务机打了个洞进去。

这个漏洞,说出来可能没人信,是一个 CVE-2014 时代的 Struts2 S2-016,命令执行不出回显,最后靠 DNS 隧道侧信道响应,确认 blind RCE 成功。

你小心翼翼塞进去一枚 Invoke-Expression 的 Beacon Launcher,还加了三层 Base64 编码,掺了注释绕过字符串特征。

C2 一响,你盯着面板屏幕,灯光一闪一闪,就像你那可怜的绩效点数,终于有了心跳。

Beacon 像雨点一样上线,砸满了你整片 C2 控制台。

主机名五花八门:

  • Zhang-PC

  • HR-BILLING-TEST

  • DEV-XXX-BAK-2017

  • DESKTOP-JJZZBOSS

  • WINXP-CN-OFFICE

  • printserver-backup-2013

你瞬间感觉自己不是入侵者,是误入了“数字文物保护区”。

你先跑 SharpHound 开图谱,结果报错 .NET Framework 4 未安装;

你改用 PowerView.ps1,执行时提示:“PowerShell 1.0:此命令不可用。”

你试图用 -encodedCommand 拼接启动器,发现语法不识别,连 Base64 都被自动截断。

你无奈之下切回 2006 生存模式:

net view
net use
at
wmic
psexec

你感觉自己不是在打渗透,是在怀旧。

你写了个横向脚本,逻辑朴实无华:

Step 1:枚举本地存储密码

  • 调用 mimikatz sekurlsa::logonpasswords,弹出三条明文密码,都是 admin@123;

  • 在桌面发现一个 .rdp 文件,点进去就看到了 “保存密码” 被勾选状态;

  • 粘贴板残留里,居然还有导出的阿里云密钥文件。

Step 2:抓 hash 横向

  • LSA protection 未开启,一行命令直接 dump 出 NTLM;

  • 用 impacket-psexec.py + hash 横向主机成功上线,目标主机毫无检测反应。

Step 3:资产全敞开

  • 445/135/3389 全通,SMB 未授权,WMI 无认证;

  • 防火墙服务根本没开,连组策略都是 2015 年的配置;

  • 有一台甚至还挂着 winvnc 服务,密码是“admin”。

你登录一台 WinXP 主机,任务栏卡在“正在更新…”对话框,系统更新停在 KB4012598。

浏览器主页是“2345网址大全”,IE6 的样式让你忍不住想截图收藏。

你上传了一份老版本 meterpreter,它居然稳定上线,连 TLS 握手都没断。

你发现一台跑着 MySQL 的 Win2008,连着 ERP 的数据库。

你试着登录,用户名 root,密码是 root123,你都没惊讶,甚至有点感动。

你打开配置目录,发现 db_backup_2016.zip 正静静地躺在那里,文件结构井然有序,像一个时间胶囊。

你解压看看,居然包含 2014-2016 三年完整工资单,甚至还有员工身份证照片打包成 .rar。

你决定查查计划任务,发现如下:

  • 新建计划任务 (1)

  • 任务计划_备份.bat

  • 老王测试计划-别删

  • 用户行为监控(停用).bat

你想看看事件日志,结果 eventvwr.msc 报错打不开;

你打开 security.log,文件大小是 0,修改时间是“2019-07-03”。

你意识到自己不是上线了,是误入了系统的坟场。

你准备做权限维持,却连最基本的策略都挂不住:

  • 注册表项写不进去,ACL 错乱,管理员账号无权限;

  • 写计划任务失败,因为系统时间漂移太严重,调度直接乱跳;

  • 你部署的 DLL 文件放在 C:WindowsSystem32svc.dll,居然 Everyone 可写。

你愣住了几秒。

你不是不想打穿, 你是真的不忍心动手。

你不是红队。

你是数字文物管理局工作人员。

你上线的不是主机,是历史遗迹; 你挖的不是漏洞,是考古现场; 你绕过的不是防护机制,是时间本身的沉积物。

你打开 /etc/hosts,发现有 46 条内网 IP 映射,手动写的,有一台叫 oa-server-old,你登录上去才发现是个 PHP 5.2 写的自研 OA,还跑在 Apache2.0 上,入口文件叫 login_bak.php,密码 hardcode 在代码里。

你拿到了全部权限,但你突然停下了操作。

你意识到:

你不是打穿了系统, 你是打穿了客户对“这台机器早就没人用了”的谎言。

你最终在笔记中写下:

上线主机数:16
提权成功数:13
系统平均年代:2009年 ±2
权限维持失败数:11(因目标过于腐朽)
高价值信息发现数:0(大多为已过时数据或虚构业务)

结论:攻击成功,考古失败。

你不是怕技术失败, 你是怕你报告交上去后——

客户翻开 PPT,指着你说:

“我们这个系统没用啦,就是还没下线,你们这个不算攻击成功哈。”

你明白了,红队不是不能进来, 是不能让对方不好看、不能让他们真的整改、更不能让他们回头追责自己。

不是你太强, 是他们太旧,太烂,太习惯于“先别动”了。

你看着你写的横向脚本:

for host in$targetsdo
  impacket-psexec $user@$host -hashes $nthash"cmd.exe /C whoami && cmd.exe /C net user"
done

你有种错觉:

这不是攻击脚本, 这是文物普查工具。

Beacon 每一次心跳,都像是系统残骸发出的回声, 提醒你:你不是入侵者,你是遗愿执行人。

四、模拟攻击中的“模拟演出”

你终于上线了一台** Active Directory 控制器。**

它藏得不深,甚至连 DNS 域名都没有混淆,还用默认 OU 结构分好组织,干净得像刚建完还没开工的毛坯房。

你跑了一遍 SharpHound,图谱一出来你差点热泪盈眶。

一条清晰明亮的血色路径,从普通域用户 → 本地管理员 → GPO 配置失误 → 拿到 TGT → 横向转票据 → 域控登录凭据 → Domain Admins。

清晰、优雅、毫无拦截。

你把 Rubeus 的所有技巧都用上:

  • asktgt /user:svc_account /rc4:xxxx

  • ptt 注入票据

  • 自定义 AES256 key 构造 Golden Ticket

你看着 Beacon 回连的那一刻,手都在抖,C2 控制台闪出绿色高亮:

Current Token: NT AUTHORITYSYSTEM  
Current User: TRAININGAdministrator  

你甚至都想好了日报标题:

模拟红队成功渗透核心 AD,已获取最高权限,建议立即评估纵深安全防御能力。

就在你准备上传截图、整理攻击链汇总文档时,蓝队发来一句平静的消息:

“这台是演练专用的模拟域,不是真实生产,数据也不是敏感的。”

你脑子一懵,点开域控命令行输入:

systeminfo | findstr /C:"Original Install Date"

屏幕跳出:

Original Install Date: 2020-09-01

你又看主机名:

WIN-AD-TRAINING

你翻查域名:

TRAINING.LOCAL

你点开 GPO 策略,只有三个配置,分别是:

  • 开启 BitLocker(未启用)

  • 禁用 USB 存储设备(未启用)

= 限制 IE 自动更新(未启用)

你看看管理员账户密码,是 Training@123, 你看看安全日志,全是复制过来的 .evtx 样板,事件顺序错乱,连一个真实登录都没有。

你不是攻进系统,你是攻进了 PowerPoint 背景页。

你花了一周,穿越各种策略黑洞、通信死角、未记录主机, 从一台被废弃的资产上线 → 构建内部图谱 → 横向铺设凭据 → 构造持久化链路 → 打入域控核心。

你的攻击链用了:

  • SMB Relay 配合跨域 token 转换;

  • WinRM + WMI 组合进行无文件横向;

  • Dump 内存凭据手动拼接 NTLM hash;

  • 提权调用 PrintNightmare 本地提权;

  • 持久化设置写入 HKCUSoftwareClassesms-settingsShellOpencommand;

  • TGT 刷新策略自定义定时器并避开蓝队检测周期。

你用的技巧堪比一场迷宫级作战,最终你拿下的,是一份被拷进演练环境的教学素材。

你不是打进了真实系统, 你是精准命中了蓝队为红队准备的“指定演出舞台”。

这不是渗透,这是演技大赛。

你像一个努力打通副本的玩家,最后才发现这个副本被标注了:

“试玩体验,通关不计入成绩。”

你打开共享盘,发现还有一份文件夹,名字是:

【红队资料】可利用的 AD 策略配置(勿删)

你点进去,里面是整理好的攻击路径参考图,还有几个脚本:

  • Invoke-GoldenTicket.ps1

  • Get-DA-Chain.ps1

  • How-To-Exploit-PrintNightmare.pdf

甚至还有一个 .docx 写着:

“红队可参考以上路径开展演练,蓝队将根据行为自动生成 SOC 告警。”

你哭笑不得。

你不是来模拟攻击的,你是来参加攻防演示的红队实习生。 你打通的不是权限链,是一整条策划好的脚本流程。 你上线了,但你上线的位置,是剧本第六幕里写好的“红队出现”时间点。

你气得想对线,蓝队却说得很坦然:

“真实系统业务太多,怕影响生产,所以我们隔离了一块沙箱专用域。” “你这边继续攻击,报告我们会结合情况写成攻击成功的,但这台机器本身不计分。”

你一口老血憋着没吐出来。

你最后打开共享盘,在 readme.txt 里看到:

欢迎您成功入侵 AD 模拟环境,红队评分标准如下:

“欢迎您成功入侵 AD 模拟环境,红队评分标准如下:
是否使用无文件攻击:✔️
是否触发蓝队告警:✔️
是否达到演练预期:✔️
是否攻入真实系统:❌(不在范围内)
祝您下次好运!”

你坐在终端前默默笑了。

你不是攻击者,你是舞台剧里的背景板。

你总结这一阶段的攻防:

上线主机数:8(其中 3 台为模拟资产)  
提权方式:TGT 注入 + GPO 漏洞  
策略绕过数:0(无需绕过,沙箱默认空)  
横向工具:SharpHound, WMIExec, Rubeus  
最终权限:TRAININGDomain Admin  
环境性质:演练沙箱  
攻击效果:完美打穿  
攻击价值:理论参考  
客户评价:感谢演出  

你最后只在报告底部写了一句话:

“攻击成功,演出失败。”

你关掉 Beacon,看着心跳图归零,想起自己辛辛苦苦搭建的 C2 分层、反检测策略、横向路线图, 在一块隔离的训练用服务器上发挥得淋漓尽致,却没有人真正受影响,也没有人真正在意。

你终于明白:

红队不是被限制于演练环境,而是被困死在他们的“可控剧本”里。

你做得再好,成果也只是:

“模拟攻击达成预期,系统整体安全性可控。”

你关上电脑,决定早点睡。

明天还得把今天的这场沙盘戏,写成:

“成功模拟 APT 攻击路径,验证纵深防御体系。”

五、目标是数据,但拦住的是预算

你正打算继续横向,准备冲刺真正的核心数据区。

你前期准备得很充分:

  • 利用 SMB null session 枚举域内主机,发现一台文件服务器名叫 FS-HR-ARCHIVE,开放 445 和 WebDAV;

  • 通过匿名目录列举,发现共享目录 /confidential/hr/薪资2023.xlsx 显示“最近修改时间:昨天”。

你兴奋地切入 Beacon:

  • 利用 token::elevate 提权至 SYSTEM;

  • 利用 SharpRDP 构造登录事件模拟正常行为轨迹;

  • 使用自编译的 ReflectiveDLL 静态加载 DLL 到内存,全程无文件落地;

  • TLS 通信链路使用 C2 + CDN 前置 + DNS分层跳转,JA3 签名改为 Edge 浏览器,SNI 模拟公司合法子域;

  • 权限维持挂载四个位置:Run 启动项、WMI EventConsumer、COM CLSID 劫持、GPO Logon Script。

你甚至提前跑了 Wireshark + 自建 DNS 分析,确保每次 Beacon 回连时不会触发默认策略里的 Beacon 检测阈值。

你做好了打一场漂亮仗的准备。

结果还没等你部署 lateral movement 工具包,就被叫去开了个紧急会议。

会议室里,安全经理看着你,语气客气但眼神警惕:

“你的 Beacon 上线太多了,会不会影响内网带宽?”

你下意识以为他在开玩笑,刚想笑,旁边的运维补了一句:

“昨天生产库连接有点抖,应用组说怀疑你们那个 Beacon 在偷偷发大流量。”

你懵了,但还是忍住解释道:

“我 Beacon 配的是 45s 回连,数据包只有 300 字节,TLS 加密,域名做了权威解析,不会影响链路稳定的。”

他们听不懂你说的这些,也没兴趣听。

你开始感觉这不是质询,而是事先写好的“把锅甩回你身上”的剧本。

你只好翻出红队作战计划,指着其中一段说:

“我们的任务是模拟真实攻击路径,找出最大风险链,才能提供最真实的防御建议。”

安全经理点头:“你说得都对,但我们也有 KPI。”

技术负责人接话:

“你如果打穿太多,整改压力太大,整改预算批不下来,审计那边也很难解释。”

你一愣,问:

“那真实攻击者会跟你讲预算吗?”

对方笑了笑:

“但我们不能真当自己是被攻击啊,我们是来演练,不是来搞大新闻的。”

你突然意识到:

你不是打到了攻击路径的尽头, 你是撞到了组织的承载上限。

你打穿的不是防火墙,是报告的承载格式; 你打通的不是漏洞链,是预算审批流; 你横向越多,整改工单越多,KPI 背锅人越多,流程阻力越大。

你意识到,你的攻击从技术上没有失败, 但从管理视角看——它过于成功了。

这才是真正的问题。

你继续尝试解释:

“Beacon 无干扰上线,权限链完全真实,操作记录已打标签,可随时复现。”

对方点头:

“好,那你整理一下,发个 ZIP 包给我们。我们先归档,等后续有预算再说。”

你想说点什么,但你知道已经没意义了。

你在终端上敲下最后一条命令,把持久化清理脚本发下去,干净撤离。

你看着终端打印出:

[+] HKCU Run 清理成功
[+] WMI 消费者注销成功
[+] Beacon 通信中断
[+] 本地令牌销毁

你像个来过又没来过的人,转身离开。

你打开演练笔记,记录下这一段:

目标:HR 文件服务器
状态:未纳入演练范围
上线时间:2025-05-01 03:21:17
权限:NT AUTHORITYSYSTEM
执行链:完整
权限维持:已部署但主动回滚
响应:驳回(业务暂不覆盖)
备注:等待预算、待评估

你翻着手里的 Beacon 抓取截图、shell命令、内存凭据包,一堆成果文件静静地躺在那里,毫无意义。

你终于懂了:

这不是一次真实攻击的模拟,

这是一次“定量、定向、定调”的组织内部表演。

你 Beacon 上得再隐蔽、Payload 打得再优雅, 也必须控制在预算能接受、报告能写、责任能推的范围内。

你不是攻击者,你是配合出题的标准答案。

你开始反思:

  • Beacon 不能太多——怕压业务;

  • 权限不能太高——怕不能下台;

  • 攻击不能太快——怕蓝队来不及截图;

  • 报告不能太真实——怕高管不理解;

你上线太快是“破坏力强”,上线太慢是“攻击链不足”; 你模拟太像是“扰乱系统”,模拟太弱是“缺乏价值”。

你必须踩在一个恰到好处的区间内,

就像跳舞,不多迈一步,也不能少转一圈。

而你花五天打穿的那条路径, 最后只换来一句:

“暂不测这块,先不算演练成果。”

你笑了笑,收起了笔记,退出了终端。

你在内心写下这场战斗的总结语:

攻击成功,预算失败; 报告完整,数据无效; 红队努力,流程胜出。

你从未如此清楚地明白:你打的不是系统,而是流程; 你绕的不是防护,而是人情; 你提的不是权限,而是风控线。

Beacon 的心跳停了, 可你的心跳依然在演练之外,继续跳动—— 在这个行业的黑夜中,沉默地提醒着你:

红队的成功,是让对方“刚刚好地失败”。

六、红队不是干净的,是干净走的

练快结束了。

你开始做你最擅长、也是最被忽略的一件事:撤离。

你逐个销毁 Beacon,设置 self-destruct,断掉监听端口; 你清空 implant 日志,把每条 task 和 result 抹掉,只留下空心的 SQLite; 你写了个延迟执行脚本,定时删除 %APPDATA%Updatertemp.ps1,连带删掉你藏过 DLL 的注册表键值。

你扫过每一台上线过的主机:

  • 删除你插入的 schtasks /create /tn "Windows Helper";

  • 清理 HKCUSoftwareMicrosoftWindowsCurrentVersionRun 中伪装的“UpdateService”;

  • 卸载你写入的 WMI EventConsumer;

  • 删除 %ProgramData%Javajre7binwscript.exe 的计划任务;

  • 用 wevtutil cl 擦掉命令执行痕迹;

  • 最后再用 logparser 一口气清空 PowerShell Operational 日志。

Beacon 一台台熄灭,像是舞台上逐个灭掉的灯。

你知道自己不会留下任何痕迹。

哪怕你曾扫过整个子网,翻过三代管理员账户,上传过数百 KB 的 payload,绕过蓝队每一道“防御体系图”上的红线——你也知道,这些都不会被记录在案。

最多只会在 PPT 的最后一页,被人草草写上一句:

“攻击者可能进入内网,尚未发现关键资产受影响。”

你看着这句话,产生了一种荒诞的骄傲。

不是因为你打穿了系统,而是因为你像从未来过。

你还记得刚入行那年,做红队是热血的:

  • 你读白皮书,抠 PoC,刷补丁日志找绕过;

  • 你半夜上线、凌晨提权,白天照样上会做报告;

  • 你用每一场演练证明自己不是个“写代码的”,而是个“懂攻击的人”。

那时候你上线 16 台主机,提权 12 台,拿下 3 台域控,dump 出 8 万行 AD 用户数据, 最后被系统归类为:

“模拟攻击影响有限,未造成实际损失。”

你愣了几秒,然后默默按下 Enter,清理掉最后一个反向 shell。

Beacon 心跳归零。

你正在关掉 C2 的时候,收到蓝队私聊:

“师傅,你撤得太干净了,我翻两个小时,连个残留都没找到。”

你笑了笑,回了句:

“我知道你翻得不容易,我也不容易。”

你关上了终端,打开笔记:

演练状态:已撤出  
C2心跳:全部中断  
主机残留:0  
SOC告警:2条误报,已误杀  
客户反馈:暂无异常  
报告摘要:攻击未成功,系统表现稳定  

你对着这份笔记苦笑。

你知道你不能成功,因为客户报告不能太真实。

你关闭 Beacon 的面板时,顺便关掉了浏览器上的两条新闻:

  • “知名安全公司市值腰斩,安全产品被质疑‘无效防护’”

  • “某头部企业演练后未批预算,安全团队被裁 60%”

你突然想起那个在咖啡机旁说笑的前同事,他在四月的最后一波裁员名单里—— 技术很强,但没有项目;项目很多,但都不是“必须”;于是人也不再“必须”。

你记得他说的那句话:

“现在红队不是打穿系统,是保住自己。能上线,是技术;能撤退,是就业。”

你也记得客户领导曾说过的:

“你们攻击成功了,我这边不好交差;你们攻击失败了,我得质疑你们能力。”

你笑了,没回嘴。你只是走得更干净了。

不是为了安全本身,而是为了下次还请得起你。

你起身离开工位, Beacon 面板上的心跳图静静躺着,就像无人认领的战报。

你打开邮件,是“项目总结表彰”:

“感谢红队全程配合,在不影响业务的前提下,圆满完成‘拟真入侵’任务。”

你轻声念了一遍,然后像读诗一样翻译它的真实含义:

“谢谢你来过,但请确保你从未来过。”

你走到电梯口,抬头看见办公室外 LED 屏幕上亮着企业口号:

“构建数字中国,筑牢安全底座。”

你看着这行字,忽然笑了。

你心想:

“底座是我们,写 payload 的、翻日志的、演剧本的,PPT 也是我们写的,KPI 也是我们扛的。”

这底座不牢,但坚强。

而你走出的每一步, 都像是从舞台的边缘, 退回到现实的深处。

七、护网之后

护网结束了。

没有胜利,也没有失败。

有的只是:“流程闭环”“文档归档”“报告审批”。

你收回了所有 Beacon,关停了所有 C2,交了最终报告,签了演练结项单。

你知道这场战斗,不会在系统里留下日志,也不会在朋友圈留下名字。

你以为接下来是“收款阶段”,但项目经理忽然变得沉默寡言。

你问尾款进度,对方语气小心:

“财务那边……今年比较紧张,演练项目太多,有些回款优先级还在排队,可能得等一下。”

你苦笑了一下,行业人都知道,“等一下”= “你先别想了。”

你翻开合同,写着“演练结束三十日内结清”,但你知道,三十日是“服务时长”,不是“付款时效”。

护网结束了,护网款还在“护”着不给。

你回家点开外卖软件,发现账户里只剩 11 块 8。

你盘算着是买一份“红烧鸡腿盖饭”还是继续吃家里冻了两年的“康师傅红烧牛肉面”。

你说服自己:

“咱也不是没吃过苦,只不过这次,是以红队的名义。”

你刷了下朋友圈,看到以前的战友发了一张照片:

“凌晨 2 点,Beacon 心跳归零,钱包余额也是。”

下面评论全是:

  • “三个月接不到新项目了,演练都外包给总包的外包了。”

  • “你还能有余额?我上个月尾款是我垫资出来做项目的。”

  • “今年甲方统一发放:模拟攻击行为不含费用,感谢支持。”

你合上手机,点开 Excel 项目计划表,发现未来三个月排得干干净净。

备注只写了四个字:

“客户观望中”。

你突然接到一个电话,是另一家甲方,语气诚恳地说:

“你们团队不错,这次护网表现很好。我们明年预算批下来后,一定第一时间通知你们。”

你回了句“谢谢支持”,挂断之后把这行客户名字换成:

“Q1 Q2 跳票客户名单 No.3”

某天你刷新闻,看到头条写着:

“某国产安全厂商实现季度盈利,逆势增长成行业黑马。”

你激动地点进去,评论区一片欢呼:

  • “终于有活下来的了!”

  • “不靠补贴,靠服务,牛逼!”

  • “甲方要测它就不接,永远没有漏洞的公司最安全!”

你突然明白:

安全公司想活下去,最安全的方式是——不做安全。

你也终于理解了那句梗:

“安全行业真正的盈利模型,不是发现问题,而是‘不要发现问题’。”

不测,就没漏洞; 没漏洞,就不整改; 不整改,就不加预算; 不加预算,就终于盈利了。

你回忆自己这几年:

  • 工位从热血变成热椅;

  • Beacon 从凌晨上线变成日报截图;

  • 攻击链从精心构造变成“请控制节奏”;

  • 报告从“漏洞严重程度高”改成“建议逐步优化”。

你越来越懂得藏住成果、控制火候、伪装失败。

因为你明白:

真正的能力,不是打穿系统,而是打穿客户预算表的心理红线。

复盘会上你站在白板前说:

“我们验证了多条风险路径,建议加强边界控制、提升监控体系完整性。”

领导点头表示认可:

“不错,讲得清楚,建议写个改进规划吧。别太急,明年再提。”

你回工位,打开 Word,新建方案第一页标题写着:

《2025 年信息安全提升路线建议》

但你心里真正想写的,是一句话:

“建议先把服务器开机密码从 123456 改掉。”

你下楼准备打车回家,外卖小哥从你身边跑过,拎着两份盖饭。

你盯着那盒香喷喷的鸡腿饭,脑海里浮现一个名字:

“我那年被拖尾款的护网项目”。

你笑了,点了份最便宜的青椒土豆丝盖饭。

付款失败。

你打开账户余额:¥4.37

你叹了口气,点开公司微信群,看见置顶文件名叫:

“2025年下半年客户预算缩减应对策略v3.2”

你默默关上了手机。

Beacon 心跳归零,系统运行良好。

态势感知平台显示:

当前风险等级:低
攻击事件:无
日志覆盖率:正常
资产识别率:理想

你望着那一排绿色图标,嘴角露出讽刺的微笑。

你明白:

真正的护网成果,不是系统变安全,而是所有人都感觉系统“看起来很安全”。

红队撤离了,尾款未到账,客户睡得很香。

你蹲在便利店门口啃着一块钱的豫竹干脆面,心里默念一句:

“来过,但从未来过。”

八、尾声:红队的夜归人

演练结束那天很晚。

你背着电脑包,一个人走到马路边,Beacon 全部断链,C2 面板清空,只剩一张签了字的结项单。

耳边还回响着项目经理的总结:

“本次护网效果良好,攻击未造成实质影响,红队表现配合。”

你没回话,只是点头,像个刚从舞台撤下的群演。

你上线了十几台主机,提了三次权,走了两套完整链路,连生产数据库都摸到了边缘。

你没动。你不能动。

你知道,这不是实战,这只是带有技术表演性质的审美攻击:

要精准,但别致命; 要深入,但别通透; 要模拟威胁,但别真的威胁到什么。

你走进小巷,捏着最后一张便利店优惠券买了碗泡面。

不是因为你想吃,是因为你账上只剩不到三位数。

你点开项目账本,每一行都写着:

  • “已交付,待审批”

  • “流程中,等待财务盖章”

  • “预计下月回款”

你清楚,“下月”这个词,在这个行业的意思是:明年再问。

你做红队七年,每个项目你都垫资:

  • 工具服务器你出;

  • CDN 中转你搭;

  • 靶场你搭,测试你跑;

  • 项目尾款迟迟不来,你还要“积极配合整改建议复盘”。

你知道吗?你甚至见过有客户说:

“报告写得挺好,但攻击手法太熟悉,能不能少收点?我们也要创新。”

你一个月跑了三个项目,回头一看,一个回款了 30%,两个还在等流程。

你早饭吃公司楼下的“满减早餐”,午饭靠会议室剩的盒饭凑,晚饭看支付宝余额决定。

你想换个显示器,思考三天没下单; 你把 Beacon 做了自动化部署脚本,想着能接多点活,但也没人接。

你想,这样的日子还能过多久?

你走出便利店,站在路边,看着远处楼宇广告屏切换下一条:

“××网络安全产业园招商火热,助力数字中国!”

你低头笑了:

“我现在唯一热的,是泡面。”

Beacon 没了,预算冻结了,系统还在跑,报告看起来一切正常。

你兜里还有一张公交卡,余额不足两块钱。

你摸了摸裤兜,手机电量还剩 6%,刚够看一眼项目群。

你犹豫着要不要今晚去朋友沙发蹭一晚,还是找个 24 小时网吧坐着过夜。

你知道你可能再接不到新项目, 但你也知道,只要哪天真的出事,他们还是会来喊你:

“有活了,来不来?”

你一定会回一句:

“先说好,车费我真垫不起了。”

你不是没技术,你是没钱。

你不是不努力,你是快要睡大街了。

你不是红队精英,你是这个行业里——最后还在坚持干活、但连一碗饭都要精打细算的人。

夜归人,归不了账,只能继续往前走。

因为你知道,这不是安全的尽头,

这是你活下去的起点。

提权是演,删库犯法,红队别太认真——Beacon 跳了 100 次,工资一分没到账

原文始发于微信公众号(攻防SRC):提权是演,删库犯法,红队别太认真——Beacon 跳了 100 次,工资一分没到账

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月7日15:43:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   提权是演,删库犯法,红队别太认真——Beacon 跳了 100 次,工资一分没到账https://cn-sec.com/archives/4037866.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息