前言
在红队演练与高对抗渗透测试中,C2(Command and Control)框架的选择至关重要。AdaptixC2 是一款备受瞩目的开源 C2 框架。它以轻量化、高隐蔽性、多协议通信以及出色的免杀能力著称。
AdaptixC2 是一款轻量级开源 C2 框架,具备高隐蔽性和多协议通信能力。档详细介绍了服务端在 Linux 环境下的安装、SSL 证书生成及启动流程;提供了 Linux 和 Windows 客户端的编译方法,包括 MSYS2 环境配置;说明了 Extension-Kit 扩展插件的安装与加载步骤;最后解析了 profile.yaml 配置文件的核心参数,涵盖 Teamserver 设置、流量伪装及安全加固建议。

在红队演练与高对抗渗透测试中,C2(Command and Control)框架的选择至关重要。AdaptixC2 是一款备受瞩目的开源 C2 框架。它以轻量化、高隐蔽性、多协议通信以及出色的免杀能力著称。
目前该项目迭代非常迅速,最新版本已更新至 v1.2。相比早期版本,v1.2 在架构稳定性上有了长足进步,配置文件也从 .json 转向了更具可读性的 .yaml 格式。
AdaptixC2 的服务端建议部署在 Linux 环境(如 Ubuntu 或 Debian)中,以确保最佳的性能和兼容性。
首先克隆仓库并执行官方提供的依赖安装脚本:
apt update
git clone https://github.com/Adaptix-Framework/AdaptixC2.git
cd AdaptixC2
chmod +x pre_install_linux_all.sh && ./pre_install_linux_all.sh server
使用 make 指令进行编译,编译完成后,所有的二进制文件将输出到 dist 目录中。
在执行编译命令前,建议在终端中设置环境变量。这可以极大地加快 go mod download 的速度,避免因网络超时导致的报错。直接在当前终端执行以下命令:
# 启用 Go Modules 功能
export GO111MODULE=on
# 设置七牛云镜像源
export GOPROXY=https://goproxy.cn,direct
make server-ext
AdaptixC2 服务端通过 HTTPS 协议进行安全通信,因此运行前必须配置 SSL 证书。官方提供了一个便捷的 ssl_gen.sh 脚本,用于生成有效期为 10 年的自签名证书。
cd dist
chmod +x ssl_gen.sh && ./ssl_gen.sh
在交互界面中,按需填写证书信息
----- Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Tokyo Locality Name (eg, city) []:Tokyo Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []:Infrastructure Common Name (e.g. server FQDN or YOUR name) []: Email Address []:
完成后目录下会生成 server.rsa.crt 和 server.rsa.key。
在启动前,请检查 profile.yaml 配置文件,确认端口、证书路径及鉴权信息无误。
# 启动服务端
./adaptixserver -profile profile.yaml
AdaptixC2 的客户端基于 Qt 框架开发,支持 Linux 和 Windows 双平台。
在 Linux(如 Kali)上,你需要安装 Qt6 相关开发库:
# 安装编译套件及 Qt6 依赖
apt install -y gcc g++ build-essential make cmake mingw-w64 g++-mingw-w64 libssl-dev qt6-base-dev qt6-base-private-dev libxkbcommon-dev qt6-websockets-dev qt6-declarative-dev
# 执行编译
make client
# 启动客户端
./AdaptixClient
对于 Windows 用户,官方目前推荐使用 MSYS2 环境进行编译,这种方式比传统安装 Qt IDE 更加轻量、快捷。
从 MSYS2 GitHub Releases 下载最新安装包(如 msys2-x86_64-xxx.exe),并安装至默认路径 C:\msys64。
为了确保编译性能和兼容性,请使用 UCRT64 环境。终端中执行以下命令启动 shell:
C:\msys64\msys2_shell.cmd -defterm -here -no-start -msys
接着运行以下命令换源并安装必要的构建工具和 Qt6 库:
sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist
pacman -Syu --noconfirm
pacman -S base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-qt6
提示:如果项目不需要静态编译,可将 qt6-static 换成普通的 qt6。
配置完成后,进入 AdaptixC2 源码目录下的客户端文件夹,启动编译:
编译完成后,生成的二进制文件存放在源码目录下的 dist 文件夹中。
注意:如果在运行 build.bat 时提示找不到编译器,请确保 C:\msys64\mingw64\bin 或 C:\msys64\ucrt64\bin 已添加到系统的 PATH 环境变量中,或者脚本内已正确指向 MSYS2 路径。
为了发挥 AdaptixC2 的最大威力,建议安装官方提供的 Extension-Kit 扩展包,它极大地增强了后渗透阶段的功能。
建议在 Kali 环境下进行编译。
apt install -y g++-mingw-w64-x86-64-posix gcc-mingw-w64-x86-64-posix mingw-w64-tools
cd Extension-Kit
make
加载成功后如下图。
渗透时,命令将极大丰富。
接续上文,我们将重点解析 profile.yaml 中的核心配置项。理解这些参数不仅有助于顺利启动服务端,更是实现流量隐蔽化和安全防御的关键。
AdaptixC2 的配置文件分为两大块:Teamserver(控制端交互)和 HttpServer(通信层伪装)。
这部分定义了客户端(红队人员)如何连接到服务端。
| 字段 | 说明 | 安全建议 |
|---|---|---|
| interface | 监听网卡,0.0.0.0 表示监听所有接口。 | 建议在生产环境绑定内网 IP 或特定 IP。 |
| port | 团队服务器端口,默认 4321。 | 修改为非常用端口以规避扫描。 |
| endpoint | 客户端连接的 URL 路径,如 /endpoint。 | 增加路径复杂度,防止未授权尝试。 |
| password | 通用连接密码。 | 结合 only_password: true 使用,简化单人操作。 |
| operators | 多用户模式,可为不同成员分配独立账号。 | 团队协作时建议开启,便于审计。 |
| cert/key | 指向前文生成的 SSL 证书和私钥。 | 务必确保路径正确,否则无法启动。 |
这部分直接决定了当外部(如安全扫描器)访问你的 C2 地址时,服务端表现出的'面具'。
当访问非法路径时,服务端会返回自定义的 404 页面和 Header。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online