从一则真实入侵案例:看懂 AI 辅助域侦察攻击的防御新思路 楔子一个文件名暴露了一切2026年6月的某个普通工作日一家企业的Windows服务器悄悄迎来了一位不速之客攻击者用一组早已泄露的账号密码借助VPN悄然滑入企业内网随即通过远程桌面连接到一台加入域的服务器。落地之后他没有急着加密文件、没有立刻破坏系统而是在C:\ProgramData\目录下放下了一个文件。文件名叫Untitled1.ps1这个名字本身就是一个线索。没有任何经验丰富的渗透测试工程师或恶意软件开发者会用默认文件名保存自己精心打磨的工具。Untitled1是文本编辑器在用户来不及命名时自动生成的名字——它意味着使用者复制了一段代码打开了编辑器然后直接按下了保存键。一个月后网络安全公司Huntress对这起事件进行了详细披露。当研究人员从日志中重新拼接出这段脚本的完整内容时他们注意到脚本内部赫然写着一行标题100% Working AD Information Gathering Script——FULLY FIXED100%可用。已完全修复。这不像是一个黑客写的。这像是一个用户在与AI助手反复对话、反复报错、反复要求帮我修好它之后把模型最终给出的版本整体复制下来的产物。这段不够精致、带着占位符、还顺手生成了一份HTML报告的脚本成为了2026年网络安全领域最值得警惕的事件之一。不是因为它有多高明而是因为它说明了一件事AI正在成为攻击者的武器量产机。一、进入之后黑客首先要摸清地形要理解这次事件的意义需要先理解攻击者拿到一台服务器之后会做什么。控制一台服务器并不等于控制了一家企业。现代企业的内网中往往存在数百台服务器、数千个员工账号以及复杂交织的权限体系。攻击者踏入网络的第一步更像是蒙眼闯入一栋陌生的大楼——他知道自己在里面却不知道保险柜在哪一层不知道哪扇门通向核心机房也不知道哪个账号拥有足够的权限带他去想去的地方。这时候Active Directory就是那张地图。Active Directory是微软Windows域环境的核心身份目录它记录了域用户、域内计算机、用户组、组织架构、网络子网以及各域之间的信任关系。对攻击者而言能够枚举Active Directory就相当于拿到了一张企业内部的人员名册和网络地图。哪些账号是管理员哪些服务器权限最高域与域之间存在哪些信任通道这些信息将决定攻击者下一步往哪走。这种行为在攻击链中被称为侦察或发现在MITRE ATTCK框架中对应域账号发现等具体技术分类。它本身并不新鲜——只要攻击者试图横向移动或提升权限这一步骤就无法绕过。新鲜的是这次完成这一步骤的工具从哪里来。二、AI写的代码长什么样子Huntress研究人员通过PowerShell脚本块日志事件ID 4104还原了Untitled1.ps1的完整内容。当他们阅读这段代码时感受到了一种奇特的违和感。第一个异样五层回退机制。脚本在寻找域控制器时使用了五种连续的备选方案先通过DNS查询失败了就调用nltest再失败就使用Active Directory PowerShell模块接着检查系统环境变量以上全部失败后代码还准备使用一个硬编码的服务器地址。五层。一个熟悉目标环境的开发者通常会选择一两种最稳定的方法而不是把所有可能的方案依次堆叠。但大语言模型不一样——当用户要求确保一定能找到域控制器不要让脚本出错时模型倾向于把它训练数据中能想到的所有方法全部列出来。这种把所有可能方案都写进去的风格是AI生成代码的典型特征之一。第二个异样一个从未被修改的占位符。在最后一层回退代码中硬编码的服务器地址是Server1.HR.local这显然不是受害企业真实使用的服务器名称。它更像是AI为了演示代码结构而随手填写的示例域名——一个应当被使用者替换掉的占位符。但攻击者没有修改它。他把整段代码原封不动地复制了过来直接投入使用。这说明他可能并没有逐行理解这段脚本只是确认它能运行便将其付诸实践第三个异样一份没有必要的HTML报告。完成信息收集后脚本自动生成了一份名为AD_Report.html的网页报告。对于一个只需要窃取数据的攻击者而言这完全多余。最直接的做法是把CSV文件压缩后带走生成HTML报告只会增加磁盘写入、延长执行时间并制造更多可被检测的痕迹。然而对于一个被要求生成一个完整的Active Directory信息收集工具的AI来说附上可视化报告、进度颜色输出和汇总统计是一种体现助手价值的自然冲动。模型加上了。攻击者没有删掉它。整段代码就这样带着HTML报告和错误占位符完成了一次真实的企业内网侦察。三、笨拙但有效脚本最终收集的信息覆盖范围相当完整。它枚举并导出了域用户、域计算机、用户组、组织单位、网络子网、域信任关系以及筛选出带有电子邮件地址的用户列表结果分别保存为AD_Users.csv、AD_Computers.csv、AD_Groups.csv等多个文件统一存放在一个带有时间戳的目录中。完成收集后脚本自动将整个目录压缩成ZIP包为后续数据转移做好准备。在MITRE ATTCK框架中将收集结果集中存放在本地临时目录属于本地数据暂存将其压缩属于归档已收集数据。大约半小时后攻击者部署了s5cmd.exe——一款用于Amazon S3对象存储操作的合法高性能命令行工具。紧接着SharpShares.exe被启动继续搜索网络中的共享目录。整条攻击链清晰呈现凭据入侵→远程桌面控制→AI脚本侦察→数据整理压缩→合法工具外传。这段代码不够优雅有冗余有占位符还携带了一份无意义的HTML报告。但它完成了任务。四、AI真正改变的是攻击者的生产能力围绕AI与网络攻击的讨论很容易滑向两个极端要么认为AI即将催生出人类从未见过的超级武器让一切防御体系瞬间失效要么认为AI生成的代码漏洞百出真正有实力的攻击者根本不需要它不值得过度渲染。这次事件提供了一个更现实的视角。AI可能没有帮助攻击者发明新的漏洞利用技术也没有让这次攻击达到高级持续性威胁行动的复杂程度但它做到了一件关键的事让一个原本编程能力有限的人在短时间内制作出符合具体需求的定制化工具。这就是所谓的氛围编程Vibe Coding使用者不需要逐行理解代码结构只需用自然语言描述目标让AI生成程序然后根据运行结果和错误信息不断调整提示词直到程序差不多能用。这种模式在正常业务场景中可以加速原型开发在攻击场景中则同样可以降低恶意工具的生产门槛。过去一个能力有限的攻击者只能下载公开脚本或购买成熟攻击框架。由于大量攻击者重复使用相同工具安全厂商可以提前提取文件哈希、代码特征和网络指纹构建稳定的检测规则。现在攻击者可以对AI说帮我写一个枚举Active Directory的脚本确保能运行。模型生成的脚本可能只用于这一次攻击用完即删。下一个攻击者即使提出完全相同的需求模型给出的变量名、函数结构、错误处理逻辑和输出格式也会有所不同。恶意工具由此从批量生产的标准武器逐渐转向现场临时组装的一次性工具。五、传统特征检测为何越来越力不从心传统安全检测的逻辑建立在一个重要前提之上恶意代码会被反复使用。同一款工具被越多攻击者使用安全厂商就越有机会提取其文件哈希、字符串特征和行为模式并将其纳入检测库。BloodHound、Mimikatz、Cobalt Strike之所以能被大多数安全产品识别正是因为它们被研究和分析的次数足够多。但Untitled1.ps1此前从未出现过。它是根据当次需求临时生成的脚本在完成此次攻击后可能永远不会以完全相同的形式再次出现。安全产品无法提前获得它的文件哈希无法将其归入任何已知恶意软件家族也无法靠传统标签体系识别它的危险性。攻击者甚至不需要刻意使用混淆技术。只要对AI说帮我换一种写法或修改变量名称就可能产生大量静态特征各异、但功能高度相似的脚本变体。这也意味着试图建立一套AI生成恶意代码特征库并不是最可靠的应对方向。代码中的注释风格、函数命名习惯和冗余结构可以提供分析线索却无法成为确定性证据。更重要的是企业开发人员同样会使用生成式AI编写PowerShell运维脚本——区分AI生成的运维代码和AI生成的攻击代码并不能简单依靠代码风格判断。真正应该检测的不是代码由谁编写而是代码在系统中做了什么。六、代码可以千变万化行为却无法消失这是此次事件对防守方最重要的启示。AI可以改变脚本的文件名、变量名称、函数结构和输出格式却无法绕过完成攻击目标必须执行的基本动作。攻击者想了解域环境就必须查询域控制器、用户、计算机和信任关系想发现可窃取数据就必须枚举磁盘目录和网络共享想集中整理信息就需要创建暂存目录并持续写入文件想方便传输就可能压缩数据想把数据带走就必须连接外部服务或云存储。这些动作都会留下痕迹。Huntress正是通过Microsoft-Windows-PowerShell/Operational日志中的4104事件PowerShell脚本块日志将攻击者运行的完整脚本重新拼接还原。这说明即使攻击者使用的是从未出现过的一次性脚本只要企业保留了足够完整的终端执行日志安全团队仍然有机会发现并还原整个攻击过程。这也意味着防御体系的建设重心需要从识别某个文件向理解某段行为进一步迁移。七、不要把注意力全放在是不是AI写的这次事件很容易被包装成一个耸人听闻的标题——AI已经开始自动制造恶意软件。但从网络安全治理的角度看过度聚焦于这段代码是不是AI写的意义十分有限。未来AI辅助编程将会无处不在人类编写、AI生成与人机协作之间的边界会越来越模糊。即使能够判断某段代码来自大语言模型也不能直接帮助企业阻断攻击。真正影响安全结果的问题是账号为什么被盗远程访问为什么没有受限域侦察为什么未被及时发现数据为什么能够被集中压缩外传工具为什么可以自由运行过度强调AI恶意软件还可能带来一个危险的副作用企业误以为需要购买一套专门识别AI代码的新产品却因此忽略身份安全、日志审计、终端监控和行为分析这些更基础、更有效的防御能力建设。AI在这起事件中扮演的角色更像是一台攻击工具的生产加速器。它没有重新定义入侵流程没有创造新的侦察需求也没有消除攻击痕迹但它提高了攻击者制作定制工具的效率让缺乏专业开发能力的人也能够快速获得够用的自动化攻击脚本并增加了恶意代码在静态特征上的多样性。尾声看清行为才是真正的防线Huntress披露的这段PowerShell脚本并不高明。它有冗余代码有明显占位符有夸张标题还顺手生成了一份对攻击毫无必要的漂亮HTML报告。它看起来更像是一个水平有限的使用者在AI帮助下反复试错后拼凑出来的程序。但它完成了Active Directory侦察整理了用户、计算机、组、域信任和网络信息并把结果压缩成便于转移的文件包。这就是问题的本质。未来真正需要警惕的未必是AI突然创造出人类从未见过的超级攻击技术而是它让大量原本不具备工具开发能力的人也可以快速获得够用的定制攻击手段。当每一次攻击都能生成一份新脚本安全行业就不能只问我们是否见过这个文件而应该进一步追问这个账号为什么在此时登录这台服务器为什么开始查询全部域用户这些数据为什么被集中写入一个临时目录压缩包生成后为什么立即连接了外部云存储AI能够改变代码的外观却很难改变攻击者为了达到目的必须执行的动作。对防守方而言答案不是试图辨认每一行代码究竟由人还是机器编写而是获得足够完整的日志和行为可见性把身份、终端、脚本、文件和网络活动连接成一条可理解的攻击链。AI正在让攻击工具变得更加临时、更加定制、更加难以通过固定特征识别。但只要攻击者仍然需要进入系统、发现资产、收集数据并把数据带走他就一定会留下行为痕迹。看清这些痕迹才是AI辅助攻击时代真正有效的防线。