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

news/2025/9/23 16:25:27/文章来源:https://www.cnblogs.com/qife122/p/19107453

项目描述

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.mzph.cn/news/913151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wordpress发布插件太原网站seo

指纹由于其终身不变性、唯一性和方便性&#xff0c;几乎已成为生物特征识别的代名 词。通常我们说的指纹就是人的手指末端正面皮肤上凸凹不平的纹线&#xff0c;纹线规律地排列 形成不同的纹型。而本节所讲的指纹是指网站CMS 指纹识别、计算机操作系统及W eb 容器的指纹识别等…

ncpa.cpl 意义 这个名称的

ncpa.cpl 意义 这个名称的ncpa.cpl 其实是 Windows 控制面板小程序 (Control Panel item) 的文件名。全称含义:nc → Network Connections(网络连接)pa → Panel Applet(控制面板小程序).cpl → Control Panel ex…

国标GB28181软件EasyGBS网页直播平台在邮政快递场景的落地与应用

国标GB28181软件EasyGBS网页直播平台在邮政快递场景的落地与应用随着电子商务的迅猛发展,邮政快递行业迎来了前所未有的发展机遇,但同时也面临着诸多挑战。如何在保障货物安全、提高运输效率的同时,实现全面的监控和…

做网站的软件下载做知乎网站要多少钱

文章目录 1. 数据的关联与合并1.1 join关联1.1.1 内关联1.1.2 左关联1.1.3 右关联 1.2 Union合并 2. 缓存和checkpoint 1. 数据的关联与合并 1.1 join关联 students表数据&#xff1a; 1.1.1 内关联 内关联只返回两个 DataFrame 中在连接键上匹配的行。 # join 关联 from…

创建了网站黄石网站建设黄石

文章目录 引言复习完全背包问题——买书个人实现 状态转换机——股票买卖V个人实现参考实现 新作两数相除个人实现 新作LRU缓存实现个人实现unordered_map相关priority_queue相关 参考实现自己复现 总结 引言 今天知道拼多多挂掉了&#xff0c;难受&#xff0c;那实习就是颗粒无…

长沙教育网站开发秦皇岛建网站

哈希表是种数据结构&#xff0c;它可以提供快速的插入操作和查找操作。第一次接触哈希表时&#xff0c;它的优点多得让人难以置信。不论哈希表中有多少数据&#xff0c;插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上&#xff0c;这只需要几条机器指令。…

做网站一定要买主机吗wordpress书库插件

jquery 实现双击编辑并保存Jesse2013-12-11 19:47:001153最近在做一个数据修改的例子&#xff0c;一个个点开修改很麻烦&#xff0c;于是就想到ecshop后台里的 只需单击就以编辑了&#xff0c;在网上查阅资料&#xff0c;就想到双击修改&#xff0c;失去鼠标焦点后post执行HTML…

北京wap网站建设wordpress重复评论

null可赋值任何变量,将变量置为空 DBNull只用于DataRow对象,表示数据库中的空值 String.Empty是0长度字串 Convert.IsDBNull判断是否为DBNull DBNull.Value与Null的区别 Null是.net中无效的对象引用。 DBNull是一个类。DBNull.Value是它唯一的实例。它指数据库中数据为空(&l…

做视频网站注意什么天津工程网站建设

一、峰会简介 近年来&#xff0c;以云计算、移动互联网、物联网、工业互联网、人工智能、大数据及区块链等新一代信息技术构建的智能化应用和产品出现爆发式增长&#xff0c;突破了对于软件形态的传统认知&#xff0c;正以各种展现方式诠释着对新型智能软件的定义。这也使得对…

sql统计一个字段各个值各有多个个的方法

sql统计一个字段各个值各有多个个的方法SELECT COUNT(CASE WHEN apprStatus = 1 and policy_id IN(19657ffd7b6o25bj6ojr) THEN 1 END) AS count_init, COUNT(CASE WHEN apprStatus = 2 and policy_id IN(19657ffd7b6o…

完整教程:深度学习-神经网络(上篇)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

WBS、甘特图、关键路径……项目计划的五大核心概念一文全懂

在做项目时,你是不是经常遇到这种情况:事情一大堆,但总觉得手里没抓住重点; 每天忙忙碌碌,结果一看进度表,发现项目已经延迟; 领导问:“咱们项目什么时候能上线?”你心里没数,只能硬着头皮说“快了快了”。其…

智启新程:哲讯科技引领SAP ERP实施新范式

智启新程:哲讯科技引领SAP ERP实施新范式在全球化竞争与数字化转型的双重驱动下,ERP系统已成为企业高效运营与战略决策的核心支柱。SAP ERP作为全球领先的企业管理解决方案,其成功实施不仅关乎技术落地,更是企业业…

学做湘菜的视频网站win7如何做网站

一、前言 通常情况下&#xff0c;当我们默认安装docker服务时&#xff0c;在不指定默认存储路径时&#xff0c;docker会自动创建目录&#xff0c;经常会出现打满根目录的情况。 默认存储路径为&#xff1a;/var/lib/docker 下 可通过如下进行查询&#xff1a; docker info输出…

品牌购物网站十大排名建官网公司

注&#xff1a;以下所有代码中&#xff0c;红色部分为增加部分。一、在后台增加批量添加按钮打开“phpcms\modules\content\templates\content_list.tpl.php”文件搜索“$category[‘catname‘]));?>”在这句话的后天的添加&#xff1a;a echo"" href":;&q…

asp网站后台模板佛山做网站制作公司

最近想学一下Mamba模型&#xff0c;奈何看了很多视频还是感觉一知半解&#xff0c;因此做一篇笔记&#xff0c;顺便介绍一下Mamba结构作为CV backbone和时间序列预测领域的应用。 论文1. Mamba: Linear-Time Sequence Modeling with Selective State Spaces 0. Abstract 现有…

广州网站建设信科便宜高端ppt模板

短时傅里叶变换及其逆变换 本篇文章主要记录了使用python进行短时傅里叶变换&#xff0c;分析频谱&#xff0c;以及通过频谱实现在频域内降低底噪的代码及分析&#xff0c;希望可以给同样在学习信号处理的大家一点帮助&#xff0c;也希望大家对我的文章多提意见建议。 一. 短…

南京 网站建站上海企业信息查询

每一个有新生儿的家庭都一定会挑选奶瓶&#xff0c;但是因为市面有太多品牌和款式&#xff0c;让大家难以挑选&#xff0c;更为重要的是还有可能会不小心选到劣质的产品&#xff0c;不仅奶嘴的仿真度差、易胀气&#xff0c;还可能高温消毒后散发有害物质&#xff01;那么新生儿…

做shopify网站阿里云搭建网站

比如我在d:\fff下面有很多子文件夹&#xff0c;子文件夹里还有子文件夹&#xff0c;里面有些文件夹里有.ppm.bz2的后缀的文件&#xff0c;需要把他们找出来复制到d:\fff2里面&#xff0c;应该怎么用批处理写&#xff1f;最佳答案1234echo offfor /r d:\fff %%a in (*.ppm.bz2) …