news 2026/3/2 9:51:39

【观成科技】C2框架AdaptixC2加密流量分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【观成科技】C2框架AdaptixC2加密流量分析
  • 工具介绍

AdaptixC2 是一款设计简洁、灵活且易于定制的命令与控制 (C2) 框架。与复杂且臃肿的大型 C2 平台不同,其轻量级设计使得攻击者能够更轻松地在不同环境中部署和调整。该框架采用模块化设计,支持C2工具的基本功能,例如在受感染的机器上运行命令、传输文件、注入进程、设置持久化以及收集系统信息。

  • 工作流程分析

客户端通过HTTPS协议连接TeamServer,而受控端默认使用HTTP协议连接TeamServer(也可选择HTTPS)。在HTTP通信中,传输的载荷数据采用RC4加密,且每次建立监听器时都会生成新的RC4密钥。

图1 核心工作流程图

整个工作流程可以分为三个阶段:

1.指令下发阶段:攻击者通过客户端向TeamServer发送命令。TeamServer接收指令后执行任务调度与存储管理,将指令存入任务队列等待受控端拉取。

2.指令执行阶段:受控端定期向TeamServer发送心跳请求,检查是否有待执行任务。当发现新指令时,受控端拉取指令并执行相应操作,如文件操作、命令执行或信息收集。

3.结果返回阶段:受控端完成指令执行后,将结果封装为数据包回传给TeamServer。TeamServer接收结果后更新任务状态、存储数据,并将结果实时推送给客户端,供攻击者在操作界面查看。

  • 加密流量分析

图2 心跳请求与指令下发和执行

3.1 HTTP层面分析

当木马使用默认的HTTP协议通信时,受控端定期向TeamServer发送心跳请求的过程中不存在载荷指令,当攻击者下发的指令由TeamServer转发给受控端后,受控端会向TeamServer确认指令内容然后回复指令执行的结果,此时存在载荷指令。

图3 心跳包与指令包

客户端下发的指令由TeamServer发送给受控端,指令存在于HTTP响应体data部分,受控端检测到指令后会在紧接着的HTTP请求包的请求体部分对指令进行确认,确认通过TeamServer会正常发送HTTP响应包,之后受控端会在下一个HTTP请求包的请求体部分返回指令执行的结果。在此过程中,HTTP响应体data部分的指令、HTTP请求包的请求体部分对指令的确认以及指令执行结果的返回数据都是使用RC4进行加密的。

图4 加密前客户端下发的指令及转化

图5 指令下发与指令确认

图6 指令执行结果

HTTP响应包中传输指令数据的默认格式为47字节。当客户端下发指令并由TeamServer转发后,受控端会对指令进行确认,因此下发指令的HTTP响应包长度等于下一次HTTP请求的数据包长度加上47字节的固定响应体长度。

图7 固定响应体长度

图8 数据包长度

指令数据包长度计算公式为:

总长度=4字节(总长)+4字节(task_id)+4字节(进程命令)+1字节(output标志)+4字节(程序状态)+4字节(字符串长度)+命令字符串长度

例如:执行shell ipconfig时,实际命令被转换为ps run -o C:\Windows\System32\cmd.exe /c ipconfig(49字节),加上固定头部共61字节。

图9 代码依据

图10 代码依据

代码中规定请求方法为POST/GET,请求的uri是/xxx.php,请求头中包含特有的内容X-Beacon-Id,UA头部固定为Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20121202 Firefox/20.0,从下图的代码及工具使用截图可以看出:

图11 代码依据

图12 工具运行截图

3.2 HTTPS层面分析

当选择使用HTTPS协议时,木马会在HTTP协议基础上再封装一层TLS进行通信。整体通信逻辑保持不变:受控端定期向TeamServer发送心跳请求,TeamServer做出相应响应,数据包方向分为上行和下行。

图13 心跳请求包

客户端下发指令由TeamServer转发给受控端,受控端对下发的指令进行确认以及回复指令进行的结果,与HTTP层面相同涉及三次会话交互,第一个会话中下发指令,第二个会话中确认指令,第三个会话中回复指令执行结果。

图14 指令1

图15 指令2

图16 指令3

  • 工具检测

观成瞰云-加密威胁智能检测系统通过对提取工具通信中行为特征已经支持对该隐蔽通信通道工具AdaptixC2进行有效检出,检测告警见下图。

图17检测告警图

  • 总结

通过对AdaptixC2工具的研究发现,虽然该工具使用的通信协议TLS或HTTP隧道,发送的指令和数据都是密文,但是通过对工具使用行为的分析发现数据包具有一些固定特征和规律,即使经过TLS加密后该规律依然存在,可以通过这些行为特征对该工具进行识别,后续观成科技安全研究团队将持续跟踪这类C2框架,并积极研究更新检测手段,为客户网络安全保驾护航。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/16 13:12:36

前端使用docker打包nuxt官网项目

安装docker的文章在另一篇:https://blog.csdn.net/m0_69727853/article/details/154741168?spm1001.2014.3001.5501 1. 查看docker是否安装成功 docker -v 2. 如果显示没有docker,查看当前的环境变量是否正确 tips提示:如果找不到安装的doc…

作者头像 李华
网站建设 2026/2/16 0:10:49

Java计算机毕设之基于Java+springboot的寿险公司人力资源管理系统基于SpringBoot的人力资源管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/25 7:23:05

PolarDB-X 企业版分布式集群部署文档

目录PolarDB-X 企业版分布式集群部署文档快速连接快速连接命令集群信息集群状态Pod 列表服务列表镜像版本安装步骤1. 安装 Helm2. 创建命名空间3. 添加 Helm 仓库并安装 Operator4. 获取最新镜像版本5. 创建集群配置文件6. 部署集群7. 监控部署进度8. 获取连接密码集群架构架构…

作者头像 李华
网站建设 2026/3/1 23:18:42

计算机Java毕设实战-基于springboot的社区协作与资源共享系统社区闲置资源交易与共享系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/25 15:23:37

【计算机毕业设计案例】基于springboot的闲一品闲置品交易平台于Java+SpringBoot的闲置用品交易平台(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华