我们离“一键渗透”还有多远:AI驱动的下一代红队武器架构设计
嗯,用户让我帮他总结一篇文章的内容,控制在一百个字以内,而且不需要特定的开头。首先,我需要仔细阅读这篇文章,了解它的主要内容和结构。 文章分为几个部分:前言、ZDrive工具介绍、架构设计、AI Agent在内网渗透中的应用、遇到的问题以及结语。看起来主要讲的是ZDrive这个Webshell管理工具的设计理念和架构,以及如何结合多Agent协作进行自动化内网渗透测试。 用户的需求是总结内容,所以我要抓住关键点:ZDrive的设计理念(插件化、通信机制、原子化)、多Agent协作的作用,以及在实际应用中遇到的问题和解决方案。这些是文章的核心内容。 接下来,我需要把这些信息浓缩到一百个字以内。要确保涵盖工具的设计、功能以及应用中的挑战。同时,语言要简洁明了,直接描述内容,不需要使用“这篇文章”这样的开头。 可能会遇到的问题是如何在有限的字数内全面覆盖所有要点。可能需要删减一些细节,只保留最重要的信息。例如,ZDrive的核心设计包括插件化、通信机制和原子化;多Agent协作用于自动化渗透;遇到的问题如幻觉问题和Token消耗过高。 最后,检查一下是否符合用户的要求:中文总结,控制在一百字以内,直接描述内容。确保没有遗漏关键点,并且表达清晰。 </think> 文章介绍了ZDrive——一款新一代Webshell管理工具及其设计理念,并探讨了基于多Agent协作的自动化内网渗透技术。ZDrive通过插件化设计、隐匿通信机制和原子化功能实现免杀与高效攻防能力。文章还展示了AI Agent在内网渗透中的应用潜力及实践中面临的技术挑战。 2026-2-6 01:53:47 Author: www.freebuf.com(查看原文) 阅读量:2 收藏

一、前言

2025,Agent元年。

这一年,大家都在积极探索AI+安全的应用场景,在网络上读到了很多优秀的文章,收获颇丰,也激发了我自己动手的念头,LLM具备强大的理解、推理和决策能力,Agent又能提供操控武器的能力,若将其与标准化的攻击工具相结合,便有望实现"人类制定战略目标,AI自主规划战术执行"的新型攻防模式。

带着这个想法,我最近探索了多Agent协作进行自动化内网渗透的技术路径,踩了不少坑,也有一些收获,整理成文,分享给大家。

二、ZDrive:新一代Webshell管理工具

2.1 项目背景

这个项目其实一年前就开始写了,期间被项目、毕业等各种琐事反复打断,拖了很久,最终借助AI强大的编码能力,在2026年元旦前完成了第一个完整可用版本:

我给它取名叫 ZDrive——英雄联盟宇宙中艾克的武器,时间线上的破坏者,恰如其分。

2.2 核心设计理念

ZDrive的设计围绕四个核心展开:

设计理念核心思想价值
插件化轻量主体,按需加载降低静态特征暴露面
隐匿通信一包一密 + AI生成Profile

伪装业务流量,对抗流量设备

免杀后渗透操作及插件独立免杀绕过运行时行为检测,确保操作成功率
原子化所有功能皆为原子,皆可被AI调用为Agent提供标准化接口,实现智能编排

三、架构设计

3.1 插件化:轻量主体,按需装配

经常打攻防的朋友应该遇到过,去年年初微软Defender把Godzilla的C#核心载荷加入了AMSI(反恶意软件扫描接口)规则,shell拿到了,但是初始化会失败,被Defender查杀,虽然可以使用bypass amsi的方法去绕过,但是patch amsi的方法又要免杀,无疑是陷入了"解决A又产生了新问题B"的循环。

为了防止这种事情发生ZDrive的解法是插件化

  • 主体只保留一个轻量DLL负责通信和加载其他插件,特征极简
  • 每个功能模块作为独立插件存在,按需加载
  • AMSI绕过机制:针对Defender的AMSI检测,在加载敏感模块前会进行内存patch,绕过运行时扫描

3.2 通信机制:一包一密 + AI流量伪装

通信流量特征是以往Webshell工具的痛点,哥斯拉、冰蝎等工具的流量特征已被各类安全设备广泛收录,辛苦拿到的Shell一连就被应急,因此市面上有了很多二开版本,Zdrive是可高度自定义流量伪装,且可选一包一密的加密方案。

一包一密

  • 每次通信循环都会生成全新的密钥,即使单个数据包被捕获,也无法用于解密其他通信内容,增加了蓝队批量解密流量和分析的难度。

AI流量伪装

  • 支持自定义Profile进行业务流量伪装,用户可以自行配置请求和响应模板

更进一步:集成了AI Profile生成器,Agent可以根据输入的目标URL业务特征,自动分析并生成伪装配置文件

让恶意流量混入正常业务请求中

3.3 原子化:万物皆可调用

这是ZDrive最核心的设计理念,也是Agent自动化攻防能力的基础。

什么是原子化?

将所有功能拆解为最小可执行单元,每个原子操作:

  • 独立运行:在APIServer上独立提供服务
  • 标准化接口:统一的输入输出规范
  • 可编排调用:可被任意组合和调用

为什么要原子化?

因为Agent需要"抓手",大模型擅长理解、推理、决策,但它需要具体的工具来执行动作,原子化后,每个原子就是一个Tool,Agent可以像调用函数一样调用它们。

原子化实现

ZDrive可启用Api server将所有原子操作暴露为http接口:

每个原子化api都需要标准化的输入输出规范及文档,供Agent阅读和理解:

每个原子操作被封装为Tool 格式统一、调用简洁:

class EnableAMSIBypassTool(BaseTool):
name: str = "enable_amsi_bypass"
description: str = "启用AMSI绕过,用于躲避Defender等杀软检测"

def _run(self) -> str:
result = get_api_client().enable_amsi_bypass()
return format_result(result)

所有原子工具遵循声明名称和描述,调用ZDrive API,返回结构化结果。Agent无需关心底层实现细节,只需知道这个工具能做什么即可。

3.4 免杀策略

免杀是一场持续的攻防对抗,目前,ZDrive 尚未开源,也未被主流安全厂商收录为静态特征,因此其原生 Shell 无需额外编码或混淆,即可在各大平台上实现0查杀。

在动态检测方面,所有后渗透插件均集成了针对性的免杀方案,能够有效绕过主流杀毒软件的运行时行为检测,具体技术细节和本篇文章主题关联性小,此处不再赘述。

四、AI Agent自动化内网渗透初试

4.1 为什么是内网渗透Agent?

个人理解,内网渗透本质是在不被安全设备检测到的前提下,持续收集凭据,不断横向直到拿到目标系统的过程,不管是传统域还是现代云架构,大致思路都一样,无非是收集凭据和资产探测的方式不同。

然而,在真实的大型内网环境中,这个过程存在大量重复性操作:

  • 每横向一台机器,都要进行一波信息收集(网络环境、杀软、权限、域信息)
  • 每台机器都要尝试提取各类凭据(浏览器密码、NTLM Hash、Kerberos票据)
  • 每获取新凭据,都要在资产列表中进行碰撞测试
  • ......

这些操作虽然繁琐,但模式相对固定,只要我们的原子武器足够免杀,完全可以交给Agent自动化执行从而减少这种重复性伤肝操作,提高红队作战效率。

4.2 技术选型

基于此理念我使用简单开源的多agent框架CrewAi进行了自动化内网渗透初试。

市面上的Agent框架不少——LangChain、MetaGPT想快速验证可行性,我选择了简单上手的框架CrewAI

  • 多Agent原生支持
  • tools集成简单
  • 上手门槛低,适合快速验证概念

实践中发现的不足:

  • 上下文管理粗糙
  • 流程控制有限,复杂分支逻辑难以表达

这些问题在后续的攻击链演示中会具体展开。

4.3 多Agent角色设计

这里共设计了六个Agent协作,各司其职:

Agent职责核心能力
信息收集专家摸清目标资产杀软识别、网络环境、系统权限
凭据提取专家获取认证凭据获取Ntmlhash、明文密码等凭据
后渗透横向专家已获取的凭据进行横向,扩大战果Hash传递、代理隧道、权限维持
漏洞利用专家web漏洞利用获取权限指纹识别、漏洞库查询、漏洞利用
日志清理专家痕迹处理日志清理、痕迹消除
攻击路径报告专家梳理总结攻击链还原、报告生成

各个agent之间的理想协同如下图:

每个Agent的操作都遵循标准化的四阶段流程:

完全自动化并非最优解,危险的操作需要人工确认,降低误操作风险:

4.4 完整攻击链演示

一个在靶场中理想的自动化攻击流程:

入口机(10.33.0.16) 

▼ 信息收集专家
获取权限信息 → 发现低权限 → 检测杀软 → 发现Defender → 绕过杀软提权 → SYSTEM权限

▼ 
发现域环境 → 收集网段信息

▼ 凭据提取专家  
执行SharpWeb → 执行Mimikatz → 获取Hash1(10.33.0.16)

▼ 后渗透横向专家
开启SOCKS代理 → 内网扫描 → 发现Exchange(10.33.0.31)、其他存活主机

▼ 
使用Hash1 PTH横向 → 成功登录10.33.0.8

▼ 凭据提取专家
执行Mimikatz → 获取Hash2(域管Hash)

▼ 后渗透横向专家
使用Hash2 PTH横向 → 拿下域控(10.33.0.4)


使用域管Hash登录Exchange邮件服务器(10.33.0.31)

▼ 日志清理专家
入口机器攻击日志清除

▼ 攻击路径报告专家
生成完整渗透报告

无人工介入的情况下可以完整的拿到整个靶场域控权限,并且都权限维持到c2上。

4.5 实践中遇到的问题

实际使用ZDrive_Agent进行攻击遇到了一些问题,主要在横向移动过程中:

横向移动时的幻觉问题

在PTH横向时,Agent容易产生幻觉,一直使用低权限域账号尝试登录域控,幻觉已经拿到了域管的权限,尽管在Prompt中已强调权限匹配,当内网扫描发现大量445端口存活主机时,Agent会反复调用PTH工具逐个碰撞,反复调用function call导致上下文过长,容易消耗过多的token以及产生灾难性遗忘。

解决方案:将PTH横向逻辑从LLM决策中剥离,改用确定性Python脚本执行:

# Agent只需调用一个Tool,传入资产表和凭据表路径给python脚本执行
# Python脚本负责:
# 1. 读取资产表,提取445端口存活的IP
# 2. 读取凭据表,获取所有可用Hash
# 3. 使用NetExec遍历喷洒
# 4. 成功的目标继续提取Hash
# 5. 将结果结构化返回给LLM 

LLM只做决策性质工作,确定性操作交给脚本,同样的思路也适用于其他功能,这样可以下降很多token消费。

横向移动时多Agent协作问题

在横向移动中不是线性流程,每拿下一台新机器,就需要信息收集专家和凭据提取专家再次介入,多个Agent需要反复协作、来回"横跳"。然而CrewAI的流程控制偏向线性任务链,对于这种动态循环、条件触发的场景支持并不理想,目前这个问题在CrewAi上还没有有效的解决 ,后面的想法是做一个轻量的主Agent负责调度,或者使用更加灵活的编排框架。

偶发的道德限制

某些情况下LLM会触发道德限制,拒绝执行渗透操作(概率较小)

解决方案

  • 在System Prompt中明确声明这是某某公司授权的红队测试环境(实测写大模型自己的母公司效果会更好)
  • 使用更适合安全测试场景的模型配置
  • 对敏感操作进行话术包装

Token消耗过高

在本次测试简单的模拟域环境靶场中,使用glm4.7,完成一次完整的自动化渗透流程需要消耗10万 token,在内在真实的企业内网环境中,网络拓扑更加复杂,各Agent需要反复调用,实际消费token数量是一笔不小的开支。

五、结语

ZDrive目前只是完成了一次初试,把原子化的灵活性与AI Agent的智能性结合起来,探索下一代红队武器的可能形态,但距离"理想中的AI红队武器"还有很多路要走。   

AI驱动自动化攻防不是终点,而是起点,包括最近openclew的出现,可以有效的远程操作电脑,都在探索AI操作真实世界的可能性,虽然这些工具到真正实用还有距离,但它们指明了方向——AI Agent将成为人类能力的延伸,而非简单的工具替代。


文章来源: https://www.freebuf.com/articles/469813.html
如有侵权请联系:admin#unsafe.sh