扫一扫
关注微信公众号

攻击者利用 AI 构建自定义 PowerShell 侦察恶意软件
2026-07-15   FreeBuf

  2026 年 6 月 3 日,在一次事件响应调查中,Huntress 分析师 Jevon Ang 从一台被入侵的 Windows Server 中恢复了一个 PowerShell 脚本。攻击者曾使用该脚本绘制受害者 Active Directory 环境的蓝图。该脚本并非从公共代码库下载,也非来自已知的攻击工具包。它完全是自定义构建的,几乎可以肯定是通过反复提示 AI 模型直到输出可用为止。Huntress 研究人员通过 PowerShell 脚本块日志(特别是 Microsoft-Windows-PowerShell/Operational 日志中的事件 ID 4104)重建了完整脚本。

  Huntress 发布的报告指出:“该脚本的标题热情洋溢,名为‘100% Working AD Information Gathering Script – FULLY FIXED’,是一款极其激进、嘈杂且高度自定义的 AD 枚举工具。它并不试图隐藏自身功能,并且包含多个明显且有趣的阶段。”

  此次攻击本身并无特别新颖之处。威胁行为者利用先前泄露的凭证获取 RDP 访问权限,将工具暂存在 C:\ProgramData 目录,在建立会话后数分钟内运行了自定义侦察脚本,约三十分钟后部署了 s5cmd.exe——这是一款合法的 Amazon S3 命令行工具,Huntress 多次发现其被滥用于数据窃取。随后又使用 SharpShares.exe 进行了第二轮扫描,寻找更多数据存储库。

  报告继续说道:“这里需要强调的一点是,在此次事件中,AI 并未从根本上改变游戏规则。底层攻击链仍然与我们多年来见过的经过验证的‘砸抢’战术手册如出一辙。核心方法始终保持一致,但现在 AI 被有选择地用于增强这一过程。这种混合方法优先考虑攻击性和速度而非隐蔽性,使得威胁行为者能够比以往更快地实施高破坏性攻击。”

  该 PowerShell 文件名为 Untitled1.ps1——这正是某人从 AI 聊天窗口复制代码并直接保存而未重命名的典型结果。脚本内部标题为“100% Working AD Information Gathering Script – FULLY FIXED”,这是用户反复与 AI 交互、遇到错误、将错误反馈给 AI、最终复制模型产出(当错误不再出现时)的教科书式产物。这个标题绝非人类编写自己工具时的选择,而是 AI 为通过测试的版本打上的标签。

  脚本首先通过五种独立方法依次定位域控制器:DNS 查询、nltest、Active Directory PowerShell 模块、环境变量,最后是一个硬编码的备用值。人类编写侦察脚本通常会选择一两种可靠方法;而 AI 在被告知“确保它不会找不到域控制器”时,会穷尽训练数据中的每一种方法。

  Huntress 指出:“通过五种不同方法来定位域控制器,明显是‘AI 生成’的特征。人类编写此脚本通常只会选择一两种最佳方法。而大语言模型(LLM)在被告知‘确保它不会找不到域控制器’时,会穷尽生成训练数据中的所有方法。”

  最令人瞠目的细节在于域控制器发现代码块中有一个硬编码的备用值:$dc = "Server1.HR.local"。这是 AI 作为示例包含的字面占位符,而攻击者复制脚本时甚至未编辑该值。只有在所有前四种发现方法同时失败时,该变量才会起作用——因此它很可能从未被触发——但它仍然原封不动地出现在部署的有效载荷中。

  一旦定位到域控制器,脚本便会执行结构化的 Active Directory 数据转储,包括用户、计算机、组、组织单位、子网、域信任、DNS 子网记录以及包含电子邮件地址的筛选用户列表。所有内容均保存在 C:\AD_Reports_ 目录下带有时间戳的子目录中,并保存为 CSV 文件。

  脚本随后生成了格式化的 HTML 摘要报告。Huntress 指出,这几乎肯定是 AI 主动添加的功能,而非攻击者的明确要求。

  报告称:“脚本的最终阶段出人意料地关注于呈现形式。它并非简单地将 CSV 文件打包并退出,而是编写了一个完整的 HTML 文件来总结数据窃取结果。你可能会问,为什么威胁行为者需要一份精美的 HTML 报告?我们也这么想。这很可能是大语言模型‘好心’添加的内容,攻击者只是顺水推舟,而非有意为之。”



  创建报告后,脚本将所有内容压缩成一个存档。任何想要了解侦察输出为何如此呈现的威胁行为者,都可以打开格式化的 HTML 文件一探究竟。真是贴心的设计。

  对于防御者而言,实际挑战在于 Untitled1.ps1 此前从未出现过,也不会以相同形式再次出现。传统的端点检测和防病毒工具严重依赖文件哈希和静态字符串签名。像 SharpHound 这样的已知工具会因二进制文件被识别而立即被捕获。而由 AI 针对特定事件全新生成的脚本则没有任何哈希值可供匹配。

  报告总结道:“Vibe coding 降低了网络犯罪的门槛,使得技术不高的攻击者能够即时生成功能强大且具备规避能力的工具。尽管代码本身可能杂乱无章、过度工程化且带有 AI 的典型特征(如遗留注释),但其构成的威胁却是真实的。为应对这一挑战,防御者必须摒弃僵化的、基于签名的思维模式,转而采用行为分析来捕捉大语言模型无法隐藏的底层操作。”

  解决方案并非尝试检测 AI 生成的代码——因为在二进制层面,它们与人类编写的代码无法可靠区分。关键在于关注代码在运行时做了什么,而非在磁盘上看起来是什么样子。对域控制器执行 Get-ADUser -Filter * 进行 Active Directory 枚举,随后批量导出 CSV,再在暂存目录中创建 ZIP 存档——无论执行这些操作的脚本是人类还是 AI 所写,其行为序列都是相同的。这些行为是可检测的。Huntress 的 SIEM 通过行为遥测而非文件签名捕获了该活动。攻击者拥有自定义、前所未见的脚本,但防御者仍然看到了它。

热词搜索:恶意软件 网络安全 终端安全

上一篇:外网铁壁铜墙,内网一戳即破?超80%企业服务器正对黑客“裸奔”!
下一篇:最后一页

分享到: 收藏