[观成科技] 加密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工具的最新动态,积极研究和更新针对加密流量的检测技术。

相关推荐
m0_591338912 小时前
day3江协科技----4显示屏
科技
zandy10116 小时前
架构深度解析:衡石科技如何凭借云原生与存算分离架构重塑BI性能边界
科技·云原生·架构
落叶,听雪9 小时前
权威解读:软件测试报告、中软测试报告、登记测试报告,三者如何区分?
人工智能·科技·软著·软著申请
wanhengidc12 小时前
云手机是云端科技吗
科技·智能手机
九河云1 天前
不同级别华为云代理商的增值服务内容与质量差异分析
大数据·服务器·人工智能·科技·华为云
WLJT1231231231 天前
科技暖居:家电里的烟火与光阴
科技·生活
MicroTech20251 天前
MLGO微算法科技基于迁移学习与特征融合的运动想象分类算法技术
科技·算法·迁移学习
万悉科技3 天前
万悉科技GEO专题分享会——共探AI时代中国出海企业的流量新机遇
人工智能·科技
世优科技虚拟人3 天前
数字刘邦“亮相”汉文化论坛:AI数字人推动文化传承与科技融合
人工智能·科技·数字人·文化创新·文化传承
sdyeswlw3 天前
科技赋能校园!智慧环境监测系统方案构建校园健康新生态
科技