观成科技:加密C2框架Covenant流量分析

  • 工具介绍

Covenant是一个基于.NET的开源C2服务器,可以通过HTTP/HTTPS 控制Covenant agent,从而实现对目标的远程控制。Covenant agent在与C2通信时,使用base64/AES加密载荷的HTTP隧道构建加密通道。亦可选择使用SSL/TLS标准加密协议,但需自行准备证书,此工具并没有C&C服务端默认SSL证书。

  • 工具原理分析
  1. 工作流程

利用Covenant C2工具进行一次完整建联包含3个阶段,流程如下图所示:

  1. 阶段1:

被控制端主动连接控制端,并使用GET方法请求默认的url:/en-us/index.html、/en-us/docs.html、/en-us/test.html其中之一来判断控制端是否存活。

  1. 阶段2:

控制端会将特定内容”Hello World”返回给被控制端。

  1. 阶段3:

当建立连接成功后,被控制端会使用POST方法请求默认url:/en-us/index.html、/en-us/docs.html、/en-us/test.html其中之一,并将受控目标的GUID、Type、HMAC等数据加密发送给控制端。

相关固定配置如下图所示:

图1:DefaultHttpProfile.yaml配置文件

  1. HTTP流量分析

被控制端与控制端一次完整的上线通信相关流量分析如下:

  1. 阶段1:

图2:上线包

木马运行后,第一次请求的url是配置文件中默认提供的。

  1. 阶段2:

上线包中返回体中,控制端返回了特定内容Hello World给被控制端,特定内容Hello World也是配置文件中默认提供的。

  1. 阶段3

图3:连接成功

连接成功后,被控制端主动将GUID、Type、IV、EncryptedMessage、HMAC一组固定的数据发送给控制端,并且数据经过加密后放在POST请求的data字段中,url同上线包一样是默认提供的;服务端返回的数据,同样加密后放到返回包body标签中,在第二个Hello World字符串后进行传输。对其进行解密,看到传输内容如下图所示:

图4:解密

上述解密内容中GUID为token;Type为生成木马时在木马样本中定义好的数值,当发送第一个POST请求包时Type为0,返回包Type为1,后续通信该值一直为1;Meta无特殊含义值为空;IV为AES加密的初始向量;EncryptedMessage为AES加密传输的消息;HMAC为消息验证码,对AES-key与EncryptedMessage进行消息验证,确保完整性。

其中AES的密钥AES-key在生成木马时随机产生,并硬编码在木马样本中,如下图:

图5:AES-key

加密过程如下图:

图6:加密过程

心跳包使用的url也是在配置文件DefaultHttpProfile.yaml中定义,默认为/en-us/index.html、/en-us/docs.html、/en-us/test.html其中之一,心跳时间与抖动时间在创建木马时可自定义设置,默认心跳为5秒、抖动时间为10秒,与阶段一中上线包区别为:心跳包会在Cookie中传递由服务端确定好的GUID(token值),如下图:

图7:心跳包

  1. HTTPS流量分析

Covenant C2服务端提供了WEB服务,有前端界面,方便使用,其WEB服务界面如下:

图8:WEB前端界面

当启动服务端后,其WEB服务使用HTTPS协议,并且WEB服务使用固定TCP端口7443以及默认证书,如下图:

图9:WEB服务默认端口

图10:WEB服务默认证书

生成木马时,C&C通信方式也可以选择HTTPS加密,由于Covenant C2工具不提供agent与C2服务端之间通信的默认SSL证书,所以此工具的HTTPS模式需要自行生成并配置证书。

  • 工具检测

虽然此工具的心跳是自定义的,但值是固定整数值,不能中途更改,其工具的心跳存在周期性,并且其web服务使用固定服务端口7443以及默认证书,可通过证书指纹、机器学习模型以及多流行为检测此工具的HTTPS模式C&C通信流量。

根据分析结果,我们通过利用行为检测引擎,实现了对Covenant C2工具的有效检测。

图11:Covenant C2检出结果

  • 总结

利用Covenant C2工具进行C&C通信,攻击者可以将通信内容加密从而规避传统明文流量设备的检测,但是基于人工智能、流行为特征和TLS限定域指纹检测的加密威胁智能检测系统能够检测此类加密通信行为。如今,越来越多的攻击者采用加密通信的C2工具,以提升攻击的隐蔽性。观成科技安全研究团队持续追踪这些C2工具的最新动态,积极研究和更新针对加密流量的检测技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/268439.html

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

相关文章

【InternLM 实战营笔记】基于 InternLM 和 LangChain 搭建你的知识库

准备环境 bash /root/share/install_conda_env_internlm_base.sh InternLM升级PIP # 升级pip python -m pip install --upgrade pippip install modelscope1.9.5 pip install transformers4.35.2 pip install streamlit1.24.0 pip install sentencepiece0.1.99 pip install a…

【推荐算法系列十七】:GBDT+LR 排序算法

排序算法经典中的经典 参考 推荐系统之GBDTLR 极客时间 手把手带你搭建推荐系统 课程 逻辑回归(LR)模型 逻辑回归(LR,Logistic Regression)是一种传统机器学习分类模型,也是一种比较重要的非线性回归模型&#xff…

js监听网页iframe里面元素变化其实就是监听iframe变化

想要监听网页里面iframe标签内容变化,需要通过监听网页dom元素变化,然后通过查询得到iframe标签,再通过iframe.contentWindow.document得到ifram内的document,然后再使用选择器得到body元素,有了body元素,就…

2024年 前端JavaScript Web APIs 第一天 笔记

1.1 -声明变量const优先 1.2 -DOM树和DOM对象 1.3 -获取DOIM元素 1.4 -DOM修改元素内容以及年会抽奖 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content&quo…

【JAVA重要知识 | 第三篇】深入理解并暴打AQS原理、ReentrantLock锁

文章目录 3.深入理解AQS、ReentrantLock3.1AQS3.1.1AQS简介3.1.2核心结构&#xff08;1&#xff09;设计模型&#xff08;2&#xff09;组成部分&#xff08;3&#xff09;State关键字 3.1.3实现的两类队列&#xff08;1&#xff09;同步队列①CLH②Node③主要行为 img条件队列…

Maven实战(2)之搭建maven私服

一, 背景: 如果使用国外镜像,下载速度比较慢; 如果使用阿里云镜像,速度还算OK,但是假如网速不好的时候,其实也是比较慢的; 如果没有网的情况下更加下载不了. 二, 本地仓库、个人/公司私服、远程仓库关系如下: 三, 下载安装nexus私服 略

【代码】Android|获取压力传感器、屏幕压感数据(大气压、原生和Processing)

首先需要分清自己需要的是大气压还是触摸压力&#xff0c;如果是大气压那么就是TYPE_PRESSURE&#xff0c;可以参考https://source.android.google.cn/docs/core/interaction/sensors/sensor-types?hlzh-cn。如果是触摸压力就是另一回事&#xff0c;我需要的是触摸压力。 不过…

在golang中使用protoc

【Golang】proto生成go的相关文件 推荐个人主页&#xff1a;席万里的个人空间 文章目录 【Golang】proto生成go的相关文件1、查看proto的版本号2、安装protoc-gen-go和protoc-gen-go-grpc3、生成protobuff以及grpc的文件 1、查看proto的版本号 protoc --version2、安装protoc-…

鸿蒙App开发新思路:小程序转App

国家与国家之间错综复杂&#xff0c;在谷歌的安卓操作系统“断供”后&#xff0c;鸿蒙系统的市场化&独立化的道路便显而易见了。 2024年1月18日&#xff0c;华为宣布&#xff0c;不再兼容安卓的“纯血鸿蒙”--HarmonyOS NEXT鸿蒙星河版最终面世&#xff0c;并与2024年Q4正…

2024全国水科技大会暨水环境新污染物控制青年学者论坛

论坛召集人&#xff1a;李江 贵州大学资源与环境工程学院教授 鼓励广大学者不负时代召唤&#xff0c;努力参与到我国的新污染物污染防治、有毒有害化学品环境安全、环境保护和生态守护等领域的理论研究和技术创新之中&#xff0c;并为从事环境及相关学科领域研究的研究生和学者…

Legacy Mirror Shaders and Post Effects

下载&#xff1a;​​Unity资源商店链接资源下载链接 效果图&#xff1a;

快递平台独立版小程序源码|带cps推广营销流量主+前端

源码介绍&#xff1a; 快递代发快递代寄寄件小程序可以对接易达云洋一级总代 快递小程序&#xff0c;接入云洋/易达物流接口&#xff0c;支持选择快递公司&#xff0c;三通一达&#xff0c;极兔&#xff0c;德邦等&#xff0c;功能成熟 如何收益: 1.对接第三方平台成本大约4元…

操作系统(1)——学习导论(Ⅱ)

目录 小程一言专栏链接: [link](http://t.csdnimg.cn/6grrU) 学习导论&#xff08;Ⅱ&#xff09;操作系统-赏前人佳作大型操作系统大型操作系统的一些特点和功能举例 服务器操作系统服务器操作系统特点和功能举例 多处理器操作系统举例 个人计算机操作系统举例 掌上计算机操作…

buildadmin 入口文件index.php的代码解析

buildadmin的入口文件和一般的tp8的入口文件是不一样的&#xff0c;参考这个入口文件的写法&#xff0c;我们可以大至了解&#xff0c; 为什么&#xff0c;前端的 index.html 和 php的入口文件同在 public 的目录下&#xff0c;而可以不冲突 先看一下 buildadmin的入口文件 &l…

WebSocket介绍+3分钟时间使用WebSocket搭建属自己的聊天室

WebSocket 的由来 在 WebSocket 出现之前&#xff0c;我们想实现实时通信、变更推送、服务端消息推送功能&#xff0c;我们一般的方案是使用 Ajax 短轮询、长轮询两种方式&#xff1a;比如我们想实现一个服务端数据变更时&#xff0c;立即通知客户端功能&#xff0c;没有 WebS…

【网站项目】308学生档案管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【PDF技巧】网上下载的pdf文件怎么才能编辑

不知道大家有没有遇到过网上下载的PDF文件不能编辑的情况&#xff0c;今天我们来详细了解一下导致无法编辑的原因即解决方法有哪些。 第一种原因&#xff1a;PDF文件中的内容是否是图片&#xff0c;如果确认是图片文件&#xff0c;那么我们想要编辑&#xff0c;就可以先使用PD…

HTML5:七天学会基础动画网页6

CSS3自定义字体 ①&#xff1a;首先需要下载所需字体 ②&#xff1a;把下载字体文件放入 font文件夹里&#xff0c;建议font文件夹与 css 和 image文件夹平级 ③&#xff1a;引入字体&#xff0c;可直接在html文件里用font-face引入字体&#xff0c;分别是字体名字和路径 例…

《TCP/IP详解 卷一》第12章 TCP初步介绍

目录 12.1 引言 12.1.1 ARQ和重传 12.1.2 滑动窗口 12.1.3 变量窗口&#xff1a;流量控制和拥塞控制 12.1.4 设置重传的超时值 12.2 TCP的引入 12.2.1 TCP服务模型 12.2.2 TCP可靠性 12.3 TCP头部和封装 12.4 总结 12.1 引言 关于TCP详细内容&#xff0c;原书有5个章…

上位机图像处理和嵌入式模块部署(上、下位机通信的三个注意点)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 如果最终部署在客户现场的是一个嵌入式设备&#xff0c;那么上位机在做好了算法编辑和算法部署之后&#xff0c;很重要的一步就是处理上位机和下位…