当前位置: 首页 > news >正文

Adaptix C2:跨平台渗透测试与对抗仿真框架

项目描述

Adaptix C2是一个专业的后渗透测试和对抗仿真框架,采用服务器/客户端架构设计。服务端使用Golang开发,客户端采用C++ QT框架实现跨平台支持。该框架提供完整的加密通信、多用户协作、图形化操作界面,支持Windows、Linux和MacOS系统的代理程序。

功能特性

  • 跨平台GUI客户端 - 基于QT6开发,支持Linux、Windows和MacOS操作系统
  • 服务器/客户端架构 - 支持多用户协作操作,实现团队协同渗透测试
  • 全加密通信 - 所有通信内容均经过加密处理,确保数据传输安全
  • 插件化架构 - 监听器和代理程序均采用插件化设计,支持功能扩展
  • 任务与作业管理 - 完整的任务调度和作业存储系统
  • 凭证管理器 - 集中管理渗透测试过程中获取的各种凭证信息
  • 目标管理器 - 系统化管理和跟踪渗透测试目标
  • 文件与进程浏览器 - 远程文件系统和进程管理功能
  • 代理网络拓扑 - 图形化显示代理连接关系和会话链路
  • Socks代理支持 - 支持Socks4、Socks5和Socks5认证代理
  • 端口转发 - 本地和反向端口转发功能
  • BOF支持 - Beacon对象文件支持
  • 健康检查 - 代理程序健康状态监控
  • 远程终端 - 完整的远程命令行交互功能
  • AxScript引擎 - 内置脚本引擎支持自动化任务

安装指南

服务端安装(Linux)

sudo apt update
sudo apt install mingw-w64 make -y
wget https://go.dev/dl/go1.24.4.linux-amd64.tar.gz -O /tmp/go1.24.4.linux-amd64.tar.gz
sudo rm -rf /usr/local/go /usr/local/bin/go
sudo tar -C /usr/local -xzf /tmp/go1.24.4.linux-amd64.tar.gz
sudo ln -s /usr/local/go/bin/go /usr/local/bin/go# Windows 7支持
git clone https://github.com/Adaptix-Framework/go-win7 /tmp/go-win7
sudo mv /tmp/go-win7 /usr/lib/

客户端安装(Linux)

sudo apt install gcc g++ build-essential make cmake libssl-dev \
qt6-base-dev qt6-websockets-dev qt6-declarative-dev -y

客户端安装(macOS)

brew install make cmake openssl qt@6

使用说明

基本操作流程

  1. 项目创建与连接
// 创建认证配置文件
AuthProfile* profile = MainAdaptix::Login();
// 启动主界面
GlobalClient->Start();
  1. 监听器管理
// 创建HTTP/S Beacon监听器
bool success = HttpReqListenerStart("http-listener", "http", configData, profile, &message, &ok);
  1. 代理生成与管理
// 生成新代理
bool success = HttpReqAgentGenerate(listenerName, listenerType, agentName, configData, profile, &message, &ok);// 发送命令到代理
bool success = HttpReqAgentCommand(jsonData, profile, &message, &ok);

图形界面操作

框架提供完整的图形化操作界面,包括:

  • 会话管理表格视图
  • 网络拓扑图形显示
  • 任务执行监控
  • 文件浏览器
  • 进程管理器
  • 远程终端模拟器

核心代码

主程序入口

// main.cpp - 应用程序主入口
#include <main.h>
#include <MainAdaptix.h>MainAdaptix* GlobalClient = nullptr;int main(int argc, char *argv[])
{QApplication a(argc, argv);a.setQuitOnLastWindowClosed(true);GlobalClient = new MainAdaptix();GlobalClient->Start();return a.exec();
}

代理管理核心类

// Agent.h - 代理对象管理
class Agent
{
public:AdaptixWidget* adaptixWidget = nullptr;AgentData data = {};// 代理状态管理void Update(QJsonObject jsonObjAgentData);void MarkItem(const QString &mark);void SetColor(const QString &color) const;// 任务管理QString TasksCancel(const QStringList &tasks) const;QString TasksDelete(const QStringList &tasks) const;// 网络拓扑关系void SetParent(const PivotData &pivotData);void AddChild(const PivotData &pivotData);
};

命令执行引擎

// Commander.h - 命令解析与执行
class Commander : public QObject
{QString agentType;QString listenerType;public:// 命令处理CommanderResult ProcessInput(QString agentId, QString cmdline);// 命令注册void AddRegCommands(const CommandsGroup &group);void AddAxCommands(const CommandsGroup &group);private:// 预处理钩子QString ProcessPreHook(QJSEngine *engine, const Command &command, const QString &agentId, const QString &cmdline, const QJsonObject &jsonObj, QStringList args);
};

WebSocket通信模块

// WebSocketWorker.h - 实时通信处理
class WebSocketWorker : public QThread
{AuthProfile* profile;QWebSocket* webSocket = nullptr;public:void run() override;signals:void connected();void received_data(QByteArray data);void websocket_closed();private slots:void is_connected();void is_binaryMessageReceived(const QByteArray &data);
};

脚本引擎集成

// AxScriptEngine.h - 脚本引擎支持
class AxScriptEngine : public QObject
{std::unique_ptr<QJSEngine> jsEngine;ScriptContext context;public:// 脚本执行管理bool execute(const QString &code);void registerEvent(const QString &type, const QJSValue &handler, QTimer* timer, const QSet<QString> &list_agents, const QSet<QString> &list_os, const QSet<QString> &list_listeners, const QString &id);// 菜单系统集成void registerMenu(const QString &type, AbstractAxMenuItem* menu, const QSet<QString> &list_agents, const QSet<QString> &list_os, const QSet<QString> &list_listeners);
};

终端模拟器实现

// QTermWidget.h - 完整终端模拟功能
class QTermWidget : public QWidget
{TerminalDisplay* m_terminalDisplay;Emulation* m_emulation;public:// 终端控制void sendText(const QString &text);void setTerminalFont(const QFont &font);void setColorScheme(const QString &name);// 会话管理void setHistorySize(int lines);void scrollToEnd();
};

该框架通过模块化设计实现了完整的C2系统功能,包括代理管理、命令控制、通信加密、图形界面等核心组件,为渗透测试人员提供专业级的工具支持。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

http://www.hskmm.com/?act=detail&tid=14781

相关文章:

  • 国标GB28181软件EasyGBS网页直播平台在邮政快递场景的落地与应用
  • sql统计一个字段各个值各有多个个的方法
  • WBS、甘特图、关键路径……项目计划的五大核心概念一文全懂
  • 智启新程:哲讯科技引领SAP ERP实施新范式
  • 移动端性能监控探索:鸿蒙 NEXT 探针架构与技术实现
  • 哲讯科技:以数智之力,铸就企业SAP ERP实施新典范
  • PR曲线绘制
  • 5台电脑怎么同步文件最安全高效?别再只知道用局域网共享了!
  • 关于CompatibilityHID例程的使用
  • SystemVerilog 代码风格指南
  • 赋能智慧化工:无锡哲讯科技SAP解决方案,构筑安全、合规与高效的数字新底座
  • 芯之所向,智造未来:无锡哲讯科技赋能芯片行业的高效管理与数字革新
  • UART、I2C、SPI:三种常见通信协议的区别
  • Day05---数据类型的转换
  • 个人项目——论文查重
  • 效率党的图片处理新选择:滴答修——在线全能工具箱,免费且强大
  • GPU0与GPU1
  • 对接全球股票市场K线数据实战
  • 9.23
  • centos安装docker和Jenkins
  • 硬件检测神器 HWiNFO:全组件监控 + 多系统兼容,免费无广告,运维 / 评测必备
  • Qt - 音频采集程序
  • 923-
  • 基于 AI 网关提升大模型应用可用性的实践
  • 绝了!TaskMatrix Pro - 谷歌、火狐浏览器任务管理插件,四象限矩阵让拖延症瞬间消失 - 开源免费
  • 洛谷P10288 [GESP样题 八级] 区间
  • AI 时代下,开发流程的重塑:从“代码先行”到“文档驱动”
  • P13617 [ICPC 2025 APC] Bit Counting Sequenc
  • perl -MCPAN -e install GD;
  • P3959 [NOIP 2017 提高组] 宝藏 题解