c2detect:一键识别Cobalt Strike/Sliver/Mythic等主流C2框架这款工具能看见你

导语:当红队已经在用Mythic和Sliver横向移动时,蓝队还在靠手工翻日志——这中间差的就是一个c2detect。Cognis Digital推出的这款C2服务器指纹识别工具,能在几毫秒内识别出目标环境中的主流命令控制框架:Cobalt Strike、Sliver、Mythic、Havoc、Brute Ratel,一个都不放过。一条命令,JSON/SARIF输出,还能接进AI工作流。这不是魔法,是指纹特征识别的力量。


一、c2detect是什么

c2detect是Cognis Digital(认知数字)发布的一款命令行C2服务器指纹识别工具,本质是一个规则引擎+特征扫描器。它的核心能力是:扫描文件、目录或API输入,识别其中是否存在主流C2框架的指纹特征

支持的C2框架:

  • Cobalt Strike(红队之王,业内最流行的C2框架)
  • Sliver(Go语言编写的跨平台C2,支持多协议)
  • Mythic(基于Python+Go的现代C2框架)
  • Havoc(新兴C2框架,C++实现)
  • Brute Ratel(定制的命令控制框架)

此外还支持Self-hosted(自托管C2)、MCP-native(原生MCP协议)等自定义变种检测。


二、红队视角:为什么你需要c2detect

有人会说:我是红队,用C2的是我,凭什么要检测C2?

因为你要知道自己暴露了没有。

每次渗透任务前,用c2detect扫一遍目标代码库、payload存储目录、甚至是你自己编译的agent二进制文件——如果工具报出来Cobalt Strike特征,你最好在它被发现之前先换掉特征。

典型使用场景

场景一:行动前自检 在正式渗透前,用c2detect扫描自己的payload仓库。如果红队已经在用Sliver,你的Havoc agent还带着明显特征,那等于在目标网络里挂了盏霓虹灯。

场景二:报告取证 渗透完成后,给蓝队交付报告时,附上c2detect扫描结果——”我们确认目标环境存在Cobalt Strike Beacon通信痕迹”,比”好像有攻击”这种描述有力得多。

场景三:红蓝对抗训练 蓝队问”你怎么知道我们有没有C2在内网?”——红队可以用c2detect证明:我确实在那里留下了痕迹,看我多清楚我自己的payload特征。


三、工作原理:特征识别而非流量检测

c2detect不是网络流量分析工具(NDR),而是静态特征扫描器。这意味着它不看网络流量,而是扫描文件内容和二进制特征。

架构流程

输入(文件/目录/API) → 收集器(Collectors)
    → 规则引擎(Rules / Analyzers)
    → 评分器(Scorer)
    → 输出(Table / JSON / SARIF / MCP)

收集器:提取输入文件中的关键特征字符串、JA3/JARM指纹、证书信息等元数据。

规则引擎:将提取到的特征与已知C2框架指纹规则库进行匹配。每个规则对应一个C2框架的特征模式。

评分器:根据匹配结果计算风险评分,高/中/低三个等级。

输出器:将结果格式化为表格(人类可读)、JSON(程序可读)、SARIF(CI/CD安全扫描标准格式)或直接作为MCP工具输出给AI agent。


四、安装与使用:一条命令搞定

安装方式(支持所有主流平台):

# pip安装(最简单)
pip install cognis-c2detect

# pipx隔离安装
pipx install "git+https://github.com/cognis-digital/c2detect.git"

# Docker运行(零依赖)
docker run --rm ghcr.io/cognis-digital/c2detect:latest --help

# Homebrew(macOS/Linux)
brew install cognis-digital/tap/c2detect

# 一键脚本
curl -fsSL https://raw.githubusercontent.com/cognis-digital/c2detect/main/install.sh | sh

基础使用

# 查看版本
c2detect --version

# 扫描当前目录
c2detect scan .

# JSON格式输出(程序调用)
c2detect scan . --format json

# CI/CD集成:发现高危立即失败(非零退出码)
c2detect scan . --fail-on high

输出示例

$ c2detect scan .
  [HIGH    ] C2D-001  cobalt strike beacon signal      (./payloads/agent.exe)
  [MEDIUM  ] C2D-002  sliver c2 profile indicator (./config/sliver.cfg)

  2 findings · risk score 5 · 38ms

38毫秒完成扫描,输出包含:风险等级、C2框架类型、具体规则ID、匹配文件路径。


五、CI/CD集成:把C2检测接进流水线

c2detect支持SARIF格式输出,这是业界通用的静态代码安全扫描结果格式,可以直接接入GitHub Actions、Jenkins、GitLab CI等CI/CD流水线。

GitHub Actions示例

- name: C2 Fingerprint Scan
  run: |
    pip install cognis-c2detect
    c2detect scan . --format sarif --output results.sarif
- name: Upload SARIF
  uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: results.sarif

当扫描发现高危C2特征时,使用--fail-on high参数会让CI直接失败,防止带毒的构建产物进入生产环境。

这对于安全开发流水线(DevSecOps)场景特别有用:每一次代码提交都可能引入第三方依赖或测试payload,c2detect可以在CI层面拦截风险。


六、MCP协议支持:让AI agent驱动扫描

c2detect的另一大特色是支持MCP(Model Context Protocol)协议——它可以直接作为工具被AI agent调用。

# 启动MCP服务器
c2detect mcp

之后,Claude Desktop、Cursor、Cognis.Studio等支持MCP的AI工具就可以直接调用c2detect进行扫描。

实际意义:在AI驱动的渗透测试中,AI agent可以自主判断何时调用c2detect——比如在分析目标网络架构时,主动扫描发现内网中是否存在已部署的C2服务器特征,或者在自动化报告中插入c2detect的扫描结果。

这代表了安全工具的未来形态:不是人去找工具,而是工具成为AI agent的能力插件


七、与同类工具对比

特性c2detectsalesforce/jarm
自托管,无需账号部分支持
零配置,一条命令⚠️ 需配置
JSON + SARIF输出部分支持
MCP-native AI集成
多语言端口(JS/Go/Rust)
开源许可✅ COCL多种

c2detect在设计上借鉴了salesforce/jarm(JARM是Salesforce推出的TLS指纹识别工具,用于识别C2服务器),但在jarm基础上增加了更多C2框架指纹规则,并大幅扩展了输出格式和AI集成能力。


八、Cognis工具链生态

c2detect只是Cognis Digital旗下Cognis Neural Suite(认知神经套件)的成员之一,该套件目前包含170+安全工具,核心成员包括:

  • payloadlab:恶意payload静态分析器,支持PE/ELF/LNK/macro/OneNote
  • redpath:Active Directory攻击路径映射器,计算最小成本路径+修复优先级
  • pwnreview:渗透测试报告生成器,YAML findings转CREST标准PDF
  • crackq:自托管密码破解队列,多用户hashcat+审计日志

九、总结

c2detect是一个定位清晰的工具——在不需要部署重量级基础设施的前提下,快速识别目标环境中的主流C2框架指纹

对于蓝队:这是低成本的C2检测工具,可以接进CI/CD流水线,也可以让AI agent驱动扫描,发现内网中的入侵痕迹。

对于红队:这是最好的自检工具——每次行动前扫一遍,确保自己的payload特征不会在内网里亮成霓虹灯。

安装一条命令,扫描38毫秒,结果直接进你的工作流。

工具地址

https://github.com/cognis-digital/c2detect

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容