Skip to content

架构

系统架构分为三层

  • 进攻型基础设施层(Offensive Infrastructure), 基于实战环境实现的进攻性基础设施, 包括外网的分布式基础设施, 大量扫描能力工件,基于IoM实现的下一代C2工具。 提供从Pre-Exploit 到Post-Expolit的全过程Real World能力
  • CTEM层(攻防一体两面, 可形成企业安全能力建设的平台, 也可作为一体化攻击平台), 包含两个子平台
    • ASM/自动化渗透平台, 负责pre-exploit 到exploit阶段
    • BAS 攻击入侵和模拟, 负责exploit到post-exploit阶段
  • AI agent层, 基础设施层的能力将提供给AI agent。

基础设施层

参考我之前的项目mapping 暴露面管理 。mapping主要用来解决外网自动化信息收集与渗透的问题。

采用了完全解耦的设计,数据、能力、执行是三个完全独立的组件, 互相解耦并均可拓展。

基础设施层由 worker 与 元能力构成。 在中间还添加了一些抽象。

  • 工作实体 (Entity), 每个Entity都会对应至少一个Capability。自动化部署worker, 可以是docker ,ecs, 云函数。 也可以是rpc,运维管道, api。 不限制形式。
    • 工件(Artifact),基础设施层主体基于python实现,但社区中已经有大量成熟的工具积累。 Capability实际上只是对现有工具链进行抽象, 将其封装为rpc。例如projectdiscovery中的大量工具。
    • 基础设施(Infrastructure), 同一个Artifact可以在不同场景中工作。 如果是内网则是在docker中,如果是外网则在云函数或者ECS中。 这个部署过程也需要是自动化的。
  • 能力(Capability), 能力需要承载在工作实体上, 例如gogo扫描器, 需要在docker、云函数、ECS上运行。
    • 元能力(Ability),能力的最小单位, Capability对应一组Ability。在实现中,我们会一次性部署多个工件到工作实体上。 以目前已经实现的Serverless Capability, 拥有 gogo、 zombie、nuclei等等。将Artifact进行封装到系统后就称之为Ability。Artifact 部署在Entity上, 并对外暴露出的rpc 称之为 Ability。
    • 任务(Task),对应ATT&CK中的**Procedure。** 拥有了Ability后, 还需要将其注册到工作流引擎中。 这个注册可以是自动的, 也可以是手动的。 在实际执行的过程中, 我们需要使用gogo进行一次扫描, 实际上就是调用Task, **Task**会调用**Ability(即Artifact 部署在Entity上, 并对外暴露出的rpc )。**在工作流层面,我们不需要关系gogo是如何工作的。 我们只需要调用Task即可。
  • 工作节点(Worker), 每个Worker 至少拥有一个Capability。 将会向管理端注册自身, 告知管理端其当前的能力边界与性能等。 所有的元能力都将在Worker上向外部提供。 对于CTEM与AI agent不需要关心其具体实现,甚至不需要关心性能与执行情况。
  • 协作平台(TeamServer),这原本是C2中常用的概念,但在绝大部分自动化渗透工具中都忽视了这方面的能力。如果要提供渗透基础设施,那么就不能只提供单点的零碎的工具,不然与kali并无区别。 我们需要一个负责任务调度, worker管理, 数据同步, 经验积累。更为重要的原因是, TeamServer中的Team成员可以是人类, 也可以是AI。
    • 分布式调度, 对于CTEM和AI Agent 上不再需要关注任务调度, 使用者只需要负责分发任务
    • 数据同步,
    • 知识库 (Knowledge database)
    • 指纹库
    • 漏洞库
    • 文档库
    • ......

基础设施部分将提供多个组件, 共同组成进攻性基础设施。 也可以只使用worker部分的能力,自建teamserver。

  • worker ,工作节点, 提供元能力
    • 端口扫描
    • 目录爆破
    • 口令爆破
    • 指纹识别
    • 漏洞验证
    • 漏洞利用
    • C2
    • webshell
    • 代理
  • api/sdk, 对外提供功能暴露
  • infrastructure, 自动化部署实体基础设施
  • teamserver
    • database, 数仓
    • linker, 数据关联

基础设施层将始终与 AI agent以及CTEM保持正交。 作为能力提供者,交付人类可用,CTEM可用, AI Agent可用的具有实战意义的进攻性基础设施。

核心能力

扫描器

设计思路:基于自动化引擎理念,实现高性能、可控、可拓展的扫描能力。采用模块化设计,将网段探测、端口扫描、指纹识别和POC验证整合为一条完整的流水线。

核心能力: - 任务生成器:通过丰富参数控制扫描策略,适应不同环境和规避防护设备 - 信息收集器:以最少发包量收集最多基础信息,支持数据提取 - 高并发性能:基于协程实现,性能远超传统多线程扫描器 - 智能扫描:根据目标特征动态调整扫描策略,避免被ban和触发防护 - 多协议支持:TCP、UDP、ICMP等多种协议的探测能力

指纹识别

设计思路:基于fingers多引擎架构,整合多个指纹库的识别能力,实现一次扫描多库匹配。通过CPE标准化命名解决指纹库间的差异问题,为后续漏洞匹配奠定基础。

核心能力: - 多指纹库支持:整合wappalyzer、fingerprinthub、ehole、goby等主流指纹库 - 被动与主动识别:HTTP/TCP协议的被动指纹+主动探针相结合 - 版本信息提取:不仅识别产品类型,还能提取版本号等详细信息 - 高性能引擎:正则预编译、缓存机制、优先级算法优化性能 - 标准化输出:基于CPE规范实现指纹标准化,便于与漏洞库关联

漏洞验证

设计思路:基于neutron轻量级nuclei引擎,实现高兼容性的POC验证能力。采用最小发包原则,优先验证而非利用,确保在复杂环境下的稳定性和隐蔽性。

核心能力: - 轻量级引擎:重写nuclei核心模块,去除冗余功能,保持高兼容性 - 智能POC调度:根据指纹识别结果自动选择对应POC,避免盲目验证 - 兼容nuclei生态:支持nuclei v2.*的90%以上功能,可快速移植POC - 低特征验证:追求最小发包量和最低检测特征 - 内网优化:专注内网场景的默认口令、RCE、信息泄露等高价值漏洞

C2

设计思路:基于IoM下一代C2框架,采用高度解耦的模块化架构。支持跨平台(linux, windows,macos)rust implant一管理,通过插件化实现功能拓展。

核心能力: - 多implant支持:rust原生implant、第三方implant接入 - 插件生态:兼容sliver armory、cobaltstrike BOF、自研dynamic module - 解耦架构:server、listener、client完全解耦,支持分布式部署 - 多信道通信:HTTP(S)、TCP、DNS等多种通信信道 - OPSEC特性:流量混淆、特征自定义、profile配置 - 后渗透能力:文件操作、进程管理、权限提升、横向移动

代理

设计思路:基于rem下一代代理框架,重新设计网络架构实现复杂的流量转发和隧道构建。支持多级代理、加密混淆、协议转换等高级特性。

核心能力: - 多级代理:支持复杂的多跳代理链路构建 - 协议支持:socks5、http、shadowsocks、trojan等多种代理协议 - 流量混淆:多层加密混淆,对抗流量分析和检测 - 动态路由:智能选择最优路径,支持负载均衡和故障切换 - webshell代理:支持neoreg、suo5等webshell代理协议 - SDK集成:提供proxyclient库,便于其他工具集成代理能力

漏洞利用

todo

Webshell

todo

AI Agent

处于调研设计阶段

一开始想实现一个AI for CTEM。 让AI去进行风险发现与风险管理。 但在一周的基础设施层代码工作后。 发现当前的基础设施层能力基本来自之前面向实战的自动化渗透、后渗透系统。 如果要将其改为CTEM的内部实现,满足ASM与BAS的需求,反而需要对其能力进行阉割。 例如某个场景, 我们可以基于完全真实的攻击环境实现, 也可以基于运维管道实现。那BAS通常会选择后者, 后者实现起来更加简单。但这意味着对自身能力的阉割。我们基于C2去实现同样的功能,复杂度并不会高很多,甚至更简单。

而在实现基础设施层与CTEM层的解耦后, 基础设施层提供的是完全真实的攻击能力。 那么我们离攻防的AI Agent 也不远了。 我们完全可以实现一个独立的AI agent系统, 实现大量原本遥遥无期的功能。

  • AI 蓝军,黑盒视角攻击模拟。能打HW,红蓝,靶场。一个面向real world设计的具有实战价值的agent

  • AI 紫军, 白盒视角攻击模拟, 遇到无法跨越的步骤, 允许其通过运维管道跳过某个步骤作弊。 也可以从任意阶段作为起始点。

AI的实现形式将类似claude code, 通过cli的方式提供基础能力,方便被集成到各种系统中。比起ide与web ui我更加倾向于cli,但是对于需要人工介入进行操作的工具来说, cli更加契合。

AI 蓝军 紫军目前尚处于理想状态。 当前AI可以用来实现:

  • 工作流实现了yaml编排引擎, AI用来编排编排

  • POC to ability

逐步实现具备通用攻防能力的AI agent

Level 1: AI with conversational language capabilities (具备对话语言能力的 AI): 这一阶段的 AI 主要表现为聊天机器人,能够进行流畅的文本对话,理解并回应用户的指令。早期的 ChatGPT 便是这一阶段的典型代表。

Level 2: AI with human-level problem-solving abilities (具备人类水平问题解决能力的 AI): 在此阶段,AI 开始展现出更强的推理能力,能够解决复杂的数学和逻辑问题。它们不再仅仅是信息检索工具,而是能够进行深度思考和分析的“推理者”。DeepSeek R1 是这一阶段的典型代表。

Level 3: Systems that can take actions on behalf of users (能够代表用户采取行动的系统): 这一阶段的 AI 被称为“智能体”(Agent),它们不仅能思考,还能通过调用工具与外部环境互动,自主完成任务。例如,通过代码执行器、浏览器等工具,AI 能够执行更广泛的操作。近期很火热的 Manus、Claude Code 等即符合此阶段定义。

Level 4: AI that can aid in invention and discovery (能够辅助发明和发现的 AI): 这一层级的 AI 能够进行更深层次的创造性工作,辅助人类进行科学研究、新材料发现等。

Level 5: AI that can perform the work of an entire organization (能够执行整个组织工作的 AI): 这是 AGI 的终极目标,AI 能够像一个完整的组织一样运作,自主完成各项业务流程,实现全面的智能化。