Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
C3 — Custom Command and Control (C3)。一个用于快速原型化自定义 C2 通道的框架,同时仍提供与现有攻击性工具包的集成。 | Kitploit
工具/GitHubGitHub/reverseclabs/c3
渗透测试框架漏洞利用框架IDS/IPS规避横向移动后渗透利用网络安全命令与控制红队Payload 开发
GitHubreverseclabs/c3

C3

Custom Command and Control (C3)。一个用于快速原型化自定义 C2 通道的框架,同时仍提供与现有攻击性工具包的集成。

1.8k291178个月前Kitploit 审核通过
查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

C3

C3

Build C3 (MSVC)/badge.svg?branch=master)

Build C3 (Clang)/badge.svg?branch=master)

C3(自定义命令与控制,Custom Command and Control)是一款允许红队快速开发和利用非常规命令与控制信道(C2)的工具。它是一个框架,可扩展其他红队工具,例如通过 ExternalC2 扩展商业产品 Cobalt Strike(CS),该功能在发布时即受支持。它让红队只需关注自己想要实现的 C2,其余部分则依赖 C3 和 CS 工具的稳健性来处理。这种高效性和可靠性使红队能够在关键客户环境中安全运作(确保专业级别的稳定性和安全性);同时允许安全地进行实验,并快速部署定制化的战术、技术和流程(TTP)。从而赋能红队模拟和仿真具备自适应能力的真实世界攻击者。

使用方法

详细教程请参阅此博文。

贡献指南(如何开发 Channel 的教程)请参阅此页面。

支持的 Channels

外部 Channels

Channel 名称贡献者
Mattermost@mariuszbit
Asana@tvgdb2
GitHub@sunn_y_k
Dropbox@adm1nPanda
Cisco WebEx Teams@tvgdb2
JIRA
Discord
GoogleDrive
Slack
EWS Tasks
OneDrive 365 Rest File(不可用)
OneDrive 365 Rest Task(不可用)

内部 Channels

服务贡献者
MSSQL@checkymander
UNC Share File
LDAP
Printer Jobs

检测

  • Hunting for C3(发布博客)
  • Attack Detection Fundamentals C2 and Exfiltration Lab - Dropbox
  • Attack Detection Fundamentals Discovery and Lateral Movement Lab - UNC Share File
  • Using and detecting C2 printer pivoting
  • Black Hat USA 2021 - I'm a Hacker Get Me Out of Here! Breaking Network Segregation Using Esoteric Command & Control Channels
  • Pursuing Evasive Custom Command & Control - Guide M - ROOTCON
  • YARA 规则 - C3 Reflective DLL 使用
  • Sigma 规则 - C3 DLL 启动
  • Relay Rumbler - C3 Relay 二进制配置解析器

术语表

C3 中最常用的术语:

  • Relays(中继)- C3 网络中的独立组件。它们通过 Interfaces 进行通信。Relays 有两种类型:Gate Relays(或 Gateways)和 Node Relays。
  • Gateway(网关)- 一种特殊的 Relay,控制一个 C3 网络。C3 网络无法在没有正常运行的 Gateway 的情况下运作。Gateway 是从 Node Relays 回到攻击者基础设施的桥梁。它还负责与第三方 C2 服务器(如 Cobalt Strike 的 Teamserver)进行通信。Gateways 应始终托管在攻击者控制的基础设施中。
  • Node Relay(节点中继)- 在受感染主机上启动的可执行文件。Node Relays 通过 Devices 相互通信,或与 Gateway 通信。
  • Interface(接口)- 对 C3 网络内任何促进数据发送和接收的组件所赋予的高级名称。它们始终连接到某个 Relay,其目的是扩展 Relay 的功能。目前有三种类型的 Interfaces:Channels、Peripherals 和 Connectors。
  • Devices(设备)- Channels 和 Peripherals 的统称。创建此抽象是为了概括可在 Node Relays 上使用的 Interfaces。
  • Channel(信道)- 用于在两个 Relays 之间传输数据的 Interface。Channels 成对工作,不支持一对多传输(参见 Negotiation Channels)。
  • Negotiation Channel(协商信道)- 一种特殊的 Channel,能够与多个 Relays 建立常规 Channel 连接。协商过程完全自动化。Negotiation Channels 仅支持协商协议,不能用于任何其他传输。
  • Gateway Return Channel (GRC)(网关返回信道)- 配置好的 Channel,Relay 将使用它向 Gateway 发回数据。GRC 可以是经由另一个 Relay 的路由。Node Relay 上的第一个 Channel(初始信道)会自动设置为该 Node Relay 的 GRC。
  • C3 Minimal MTU(C3 最小 MTU)- 每个 C3 Channel 必须能够发送的最小数据量。目前 C3 Minimal MTU 等于 64 字节。除非少于 64 字节的块包含完整数据包,否则接收方 Relay 会忽略它,发送方 Relay 会尝试重新发送最后一部分数据。
  • Peripherals(外设)- 第三方命令与控制框架的植入体。Peripherals 通过 Controller 与其原生控制器通信。例如,Cobalt Strike 的 SMB beacon。
  • Connectors(连接器)- 与第三方命令与控制框架的集成。例如,Cobalt Strike Teamserver 通过 externalc2_start 命令暴露的 'External C2' 接口。
  • Binders(绑定器)- Peripherals 和 Connectors 的统称。
  • Device ID(设备 ID)- 一个动态 ID,用于唯一寻址 Relay 上的一个 Device。
  • Agent ID(代理 ID)- 一个动态 ID,用于唯一寻址 Node Relay。由同一可执行文件实例化的 Node Relays 将具有不同的 Agent IDs。
  • Build ID(构建 ID)- 内置于每个 Relay 的静态 ID。重启后保持不变。
  • Route ID(路由 ID)- 由 Agent ID 和 Device ID 组成的一对。用于描述到达 Node Relay 的一条“路径”(Node Relays 可能通过多条 Routes 可达)。
  • Route(路由)- 到达 Node Relay 的“路径”。每个 Relay 保存一张表,记录其所有子 Relays(以及孙级、曾孙级等),以及用于到达该特定 Relay 的 Channel Device IDs(参见 Route ID)。当来自 Gateway 的数据包到达 Node Relay 时,会使用路由表选择合适的 Channel 将数据包发送给接收方。
  • Update Delay Jitter(更新延迟抖动)- Interface 连续更新之间的延迟(对于 Channels,即对 OnReceiveFromChannel 方法的调用间隔)。可以设置为在给定时间范围内随机化。

构建

要安装编译 C3 所需的软件包,需要在 Visual Studio 环境中添加以下单个组件。可以通过使用 VS setup.exe(例如 "c:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe"),选择“修改”并添加以下单个组件来实现:

  • .NET 7.0
  • .NET Core 3.1 运行时(已停止支持)
  • MSVC v142 - VS 2019 C++ x64/x86 构建工具
  • (可选)用于 clang 构建的 Windows 版 C++ Clang 工具
  • (可选)用于 LLVM (clang-cl) 工具集的 MSBuild 支持

安装这些组件后,启动 Visual Studio 开发者命令提示符并运行 CreateBuild.bat 文件。输出应位于 Builds 目录中。

下载工具