[观成科技] 加密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 小时前
糖核苷酸UDP-GlcA的理化性质、纯度表征与低温储运要点
科技
合合技术团队2 小时前
合合信息亮相新加坡科技周,携手博彦科技共拓海外AI市场
大数据·人工智能·科技·合合信息·textin·多模态文本智能技术
沐曦股份MetaX3 小时前
沐曦股份携手FlagOS完成面壁智能MiniCPM-V4.7端侧模型Day 0适配
科技·搜索引擎·自然语言处理·开源·开源软件·gpu算力
用AI来创业吧6 小时前
企业官网搭建一般多久能上线:把工期拆成 7 段,算清哪段会拖
性能优化·自动化·安全威胁分析
迪康Defender7 小时前
终端安全行为分析:审计日志如何转化为业务报表?落地实践与避坑指南
运维·经验分享·安全·信息可视化·自动化·安全威胁分析·运维开发
卿卿的产品经理日记9 小时前
【AI产品经理实战】Day 34|计算机科学速成②:从水流开关到 Unicode,把整个电脑拆成一长串 0 和 1
人工智能·笔记·科技·学习·产品经理
sinovoip10 小时前
Banana Pi BPI-CM7 用一台比信用卡还小的电脑挑战 Raspberry Pi
科技·开源·电脑·业界资讯
cc57250265318 小时前
2027金融数据产品校招:金融科技专业如何用SQL、指标字典和原型做作品集
科技·金融
创邻科技1 天前
国产图数据库刷新 LDBC 世界纪录:创邻科技 Galaxybase 在 SF100、SF300、SF1000 测试中全面领先”
数据库·科技
voipmaker1 天前
融合通信工程实战:SIP 与 GB28181 联合接入布控球的常见问题
科技·物联网·网络协议·音视频·实时音视频·信息与通信·政务