当前位置:首页>Linux>Cortex-C2:嵌入式Linux C2框架

Cortex-C2:嵌入式Linux C2框架

  • 2026-10-11 07:45:32
Cortex-C2:嵌入式Linux C2框架

POST-EXPLOITATION · EMBEDDED LINUX · 2026

Cortex-C2:专为嵌入式 Linux 设计的开源后渗透框架

C + Python + Go 三语言混合架构 · ARM Cortex-A53 实测 · Telegram 备用信道

josephrw12 在 2026 年 5 月正式发布 Cortex-C2 v1,这是一个专门面向嵌入式 Linux 设备的开源后渗透 C2 框架,已在树莓派(ARM Cortex-A53)上完成实测。9 星 · 98 次提交,架构完整,功能涵盖命令执行、横向移动与插件热加载。

关注本公众号【赛博57库】后,回复“Cortex-C2"关键词,获取本文相关的github仓库和作者本地部署踩坑记录文档。点赞+转发+关注破200,我就出一篇编写本C2相关自定义插件的示例文章,感兴趣的可以关注。

什么是 Cortex-C2

C2 框架(Command and Control Framework)是红队和渗透测试中的核心工具,用于在获取初始立足点后对目标主机进行远程操控、横向移动和数据收集。

Cortex-C2 的特殊性在于它的目标定位:ARM 嵌入式 Linux 设备。当前主流 C2 框架(Cobalt Strike、Sliver、Havoc)均以 Windows/x86 环境为核心,嵌入式设备上的后渗透工具链极度匮乏。

v1 发布说明原文:"tested on Raspberry Pi 64 bit, should work on Debian 64 bit systems too"

框架名称来源于其实测处理器 ARM Cortex-A53,作者也在 README 中坦率声明:该工具缺乏商业级规避(Evasion)能力,定位于安全研究、CTF 赛事和教育用途。

仓库:github.com/josephrw12/cortex-c2 · 语言:C 54% · Python 25% · HTML 12% · Go 5% · Shell 4%

技术架构:五大组件

Cortex-C2 采用严格的分层模块化设计,五个独立组件各司其职:

组件
语言
平台
职责
Agent
C
Linux(ARM)
植入体,执行指令
Team Server
Python/Flask
跨平台
操作员控制台
Database Server
Go
Linux
自定义 JSON 存储
Loader
Shell
Linux
Agent 部署机制
Telegram C2
Go
跨平台
备用 C2 信道

Agent 内部进一步细分为三个目录:plugins/(核心插件)、on_demand_plugins/(热加载插件)、orchestration/(任务编排逻辑)。

核心功能详解

远程命令执行

Agent 在目标 Linux 主机上执行任意 shell 命令并将结果回传 Team Server,这是 C2 框架最基础也最核心的能力。

横向移动(SSH 暴力破解)

内置 SSH 横向移动模块,使用 usernames.txt + passwords.txt 字典枚举同网段 Linux 主机。这对嵌入式网络(如工厂 IoT 网络、路由器内网)尤为有效——默认弱口令在此类环境中极为普遍。

权限提升

集成 CVE-2026-43284 利用(归因:Mykhailo Stepanov)。作者坦率地在 README 中标注该功能为"NOT TESTED",尚不明确该 CVE 的具体技术细节。

持久化

通过注册 Linux 启动进程实现驻留,同样被作者标注为"未测试"状态。

⚠️ 权限提升和持久化功能均处于"未测试"状态,在实际 CTF 或研究环境中使用前需要自行验证可用性。

插件热加载系统

这是 Cortex-C2 最具工程设计感的模块。插件以编译后的 Linux 二进制形式存储在 Team Server 的 downloads/ 目录,Agent 按需拉取执行:

# 第一步:从 Team Server 下载插件到 Agent
plugin_download:<binary_name>
# 第二步:执行已下载的插件
plugin_run:<plugin_name>

语言无关设计:插件可以用任何能编译为 Linux ELF 可执行文件的语言编写——仓库中已有 C 和 Go 示例。这为研究者扩展功能提供了极大灵活性。

命令去重机制:框架内置命令去重,相同命令不会重复执行。若需再次触发同一命令,操作员需在末尾追加随机字符串绕过去重检测——这是一个有趣的工程取舍。

Telegram 备用 C2 信道

当主 C2 信道不可用时,操作员可以通过 Telegram 机器人下发指令,实现双信道冗余。这一设计在开源 C2 框架中并不常见。

Telegram C2 模块由 Go 编写,源码路径:team_server/downloads/src/go/telegram_c2/。

从防御角度看,这意味着针对此类框架的流量检测规则需要覆盖两条信道——主 TCP 信道使用自定义应用层协议,Telegram 信道则通过 Bot API 的 HTTPS 出站流量传输,特征完全不同。

部署工作流程

手动部署步骤(也可用 build.sh / run.sh 脚本自动化):

步骤
操作
1
GCC 交叉编译 Agent(目标:ARM64 Linux)
2
启动 Database Server(Go 二进制,监听指定端口)
3
配置 config.py,填写 Team Server 连接参数
4
启动 Team Server(python3 app_2.py)
5
浏览器打开 index.html 访问 Web 控制台
6
将 Agent 部署到目标 ARM Linux 设备
7
Agent 回连后出现在控制台,开始操控

v1 发布版已预编译了 Agent 和 Database Server 二进制(针对树莓派 64 位),无需自行编译即可快速测试。

与主流 C2 框架的对比

维度
Cortex-C2
Sliver
Havoc
目标平台
Linux 嵌入式
全平台
Windows 为主
Agent 语言
C
Go
C
免杀能力
无
中等
强
插件系统
支持(热加载)
支持(BOF)
支持
备用信道
Telegram
DNS/HTTP
HTTP
ARM 嵌入式
✓ 实测
有限支持
—
定位
嵌入式研究/CTF
红队演练
红队演练

Cortex-C2 在免杀能力上明显弱于商业级框架,但这恰恰使其适合作为学习 C2 架构的入门材料——代码逻辑清晰,无复杂混淆。

对安全研究者的价值

四个值得深挖的方向

① C2 流量特征分析

自定义应用层 JSON 协议(非 HTTP 伪装),是研究 C2 检测规则、编写 Suricata/Zeek 签名的良好样本。

② 嵌入式设备后渗透技术

ARM Linux 环境下持久化、SSH 横向移动的具体 C 实现,可直接参考或移植到 IoT 安全研究中。

③ 双信道 C2 设计参考

Telegram Bot API 作为备用信道的 Go 实现,主流框架很少有如此简洁的开源示例。

④ 语言无关插件架构

运行时动态加载编译产物的设计思路,可以借鉴到自研工具开发,实现功能模块的热替换。

Cortex-C2 是一个诚实的框架——作者在 README 中直接标注了哪些功能"未测试",也明确说明它不具备免杀能力。这种透明度使它成为学习 C2 框架架构设计的优质教材。

随着 IoT 设备在基础设施中的渗透率持续提升,针对嵌入式 Linux 的安全研究工具将越来越重要。

ref: github.com/josephrw12/cortex-c2 · Void Link C2 · ARM Cortex-A53 · Raspberry Pi 64bit · 2026

最新文章

随机文章