[观成科技] 加密C2框架Merlin流量分析

一、工具介绍

Merlin是一款支持多种协议的后渗透测试工具。与CS相比,由于该工具使用go语言进行开发(go语言支持跨平台编译),使得Merlin具备了跨平台的优势。该工具传输数据使用了JWE(JSON Web Encryption)格式进行加密数据传输,有效的保护了通信数据的隐蔽性。

二、工具原理分析

工作流程:

Merlin默认情况下,Server和CLI程序是放在同一台设备上,当部署在不同设备上时需要添加"-addr"参数指定地址端口。Merlin上线时,Agent上线后会给Server发送POST请求,请求中携带AgentID信息,Server端对请求包进行校验,检测是否符合请求特征,并使用生成的JWEKey尝试解析请求中的AgentID信息,如果使用JWEKey没有解析成功,则使用PSK(默认值为merlin)计算sha256后作为key进行校验,解密后取AgentID,之后的通信中Agent发送主机的相关信息。

验证过程与加解密分析

服务端会对Agent发送的请求包进行校验,验证步骤如下:

  • 请求方式是否为"POST"
  • 请求头中UA字段是否为默认的值
  • "Content-Type"字段是否为默认配置
  • 验证JWT加密模式,尝试解出AgentID(uuid)

这里调用第三方库"github.com/go-jose/go-jose/v3/jwt",对JWT数据进行解密。解密后为AgentID信息。

  • 请求体与响应体使用JWE对数据进行加密

该工具使用第三方库"github.com/go-jose/go-jose/v3"对数据进行加密和解密,格式为JWE格式。这里定义了加密算法信息。

三、流量分析

HTTP流量分析:

对merlin agent回连控制端的HTTP流量进行分析,交互的流量中存在如下特征:

* 请求方式均为POST

* 请求的路径不变,默认均为"/"

* 请求头中均含有"Authorization: Bearer eyJhbGciOiJkaXIiLCJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwidHlwIjoiSldUIn0"

* 请求头中"Content-Type"默认值为"application/octet-stream; charset=utf-8

"

* 响应头中"Content-Type"默认值为"application/octet-stream"

对请求头中的内容进行解密。

"alg":"dir" ---这个字段是使用的签名算法,dir表示直接使用对称密钥进行签名;

"cty":"JWT" ---这里指定JWT的内容类型;

"enc":"A256GCM" ---这里指定加密使用的算法为AES256 GCM模式,默认的key是"merlin"的sha256哈希值;

"typ":"JWT" ---指的是格式类型,这里使用的是JWT格式。

请求体中的内容使用JWE格式进行加密解密。

JWE格式分为五部分,每个部分都是用base64url编码,解码第一部分可以看到算法内容:

"alg":"PBES2-HS512+A256KW" ---指使用PBES2进行密钥加密,使用HMAC SHA-512和A256KW两种加密算法;

"enc":"A256GCM" ---指定使用AES256 GCM模式对内容进行加密;

"p2c":3000 ---表示迭代次数3000次;

"p2s":"veb2ksZs8TiXTA6U6xWpTw" ---是盐值。

HTTPS流量分析

对HTTPS流量进行分析:

该工具为反连木马,连接远程控制服务器时,其HTTPS通信方式默认使用TLS 1.3版本,证书经过加密,无法看到。但其流量存在心跳特征,默认的心跳间隔为30s,且心跳包存在独特的载荷变化规律。通过心跳间隔和载荷变化规律能够对该工具的HTTPS模式进行有效检测。

四、工具检测

根据分析结果,我们可以对merlin通信的加密流量进行有效的检出。

五、总结

Merlin支持在多种平台上使用,在较为复杂的环境中都能很好的得到应用。该工具使用独特的JWE格式加密传输数据,可以更好的躲避明文流量设备的检测,但是通过TLS限定域指纹和多流行为可以对该工具进行有效的检出。如今,越来越多的攻击者采用加密通信的C2工具,以提升攻击的隐蔽性。观成科技安全研究团队持续追踪这些C2工具的最新动态,积极研究和更新针对加密流量的检测技术。

相关推荐
国际云,接待1 天前
阿里云国际站,如何通过代理商邀请的链接注册账号
运维·服务器·科技·阿里云·云计算
189228048611 天前
NX753NX756美光科技闪存NX784NX785
人工智能·科技·microsoft
北京阿尔泰科技厂家1 天前
24位高精度数据采集卡NET8860音频振动信号采集监测满足自动化测试应用现场的多样化需求
科技·集成测试·音视频·数据采集·工业控制·工业自动化·数据采集卡
乌恩大侠1 天前
【东枫科技】KrakenSDR 测向快速入门指南
科技
科士威传动1 天前
微型导轨在手术机器人领域中有哪些关键操作?
科技·机器人·自动化·制造
南玖yy1 天前
C++ 类模板三参数深度解析:从链表迭代器看类型推导与实例化(为什么迭代器类模版使用三参数?实例化又会是怎样?)
开发语言·数据结构·c++·人工智能·windows·科技·链表
gaosushexiangji2 天前
实验分享|基于sCMOS相机科学成像技术的耐高温航空涂层材料损伤检测实验
大数据·人工智能·科技
Howie Zphile2 天前
科技修真的解决方案
科技·科技修真幻想
塔能物联运维3 天前
塔能科技:为多行业工厂量身定制精准节能方案
科技
项目管理打工人3 天前
高端装备制造企业如何选择适配的项目管理系统提升项目执行效率?附选型案例
大数据·人工智能·驱动开发·科技·硬件工程·团队开发·制造