【观成科技】APT组织常用开源和商业工具加密流量特征分析

news/2024/11/3 1:36:43/

  1. 概述

在当前的网络安全环境中,APT组织的活动愈发频繁,利用其高级技术和社会工程手段,针对全球范围内的政府、军事和企业目标发起了一系列复杂的网络攻击。在不断升级的攻击中,开源和商业工具凭借其灵活性、易用性和全球化攻击能力等优势,逐渐成为一些APT组织的首选。然而,这些工具通常具备复杂的加密通信机制,使得对其流量特征的分析与研究尤为重要。本文将分析APT组织所使用的开源和商业工具,说明它们在数据结构、通信协议和加密方式等方面的独特性,旨在为网络安全防御者提供识别和防御APT攻击的新视角。

  1. 工具列表

工具

组织

协议

加密方法

CobaltStrike

海莲花、APT29

HTTP、TLS1.2

AES、MASK、RSA

Remcos

摩诃草

TLS1.3

/

TinyShell

东亚方向

TCP

AES-128-CBC

Chisel

海莲花

WebSocket

/

AsyncRAT

Earth Berberoka、APT29、MuddyWater等

TLS1.0

AES-256-CBC

Brute Ratel C4

摩诃草

TLS1.2

/

  1. 流量特征分析

我们针对APT组织在不同攻击阶段所使用的开源和商业工具进行了深入研究,着重分析这些工具的加密通信特征,为检测发现相关APT组织活动提供依据。

    1. CobaltStrike

由于 Cobalt Strike 拥有强大的命令与控制 (C2) 功能、丰富的后渗透模块和灵活的脚本支持,使其成为安全评估和攻击模拟的重要工具。近年,海莲花组织频繁使用这一工具。在使用 HTTP 协议进行通信时,该组织采用了 MASK 掩码的加密方式,随机生成4字节密钥,和数据进行异或运算形成密文。该加密方式通过对数据进行特定规则的变换,使加密后的数据能够更好的隐藏攻击者的恶意行为。并且确保了相同的内容在每次加密后,其密文都会不同。这些加密的数据通常会被隐藏在 Cookie、URL 和其他字段中进行传输。见下图。

图 1 Cobalt Strike MASK加密流量

    1. Remcos

Remcos 作为远程控制程序被摩诃草组织频繁使用。该工具使用 TLS 1.3 协议进行通信。其加密通信有区别于正常TLS通信的地方:在两次 TLS 握手中,ServerHello 消息中的 Random 字段值不变,如下图所示。

图 2 Remcos流量

载荷传输的数据由自定义的格式构成,如下图所示,数据由“4字节的固定魔术值+4字节的数据长度+4字节的控制码+数据”组成。

图 3 数据结构

    1. TinyShell

东亚方向某组织曾使用此工具,TinyShell是一款开源的Unix类后门shell工具,具备以下三个功能:通信加密;支持上传、下载;正向连接和反弹shell。该工具使用自定义的TCP协议进行通信,通信数据采用AES-128-CBC加密,并通过HMAC进行验证。其通信特征表现为在建立TCP连接后,载荷长度序列有一定规律[40, 52, 52, 36, 124],反映了其固定的行为模式,见下图。

图 4 TinyShell流量

    1. Chisel

海莲花组织使用过此工具,Chisel的通信流量特征包括在其WebSocket协议升级中包含隧道工具的版本信息“chisel-v3”,以及在WebSocket信道内进行SSH加密协商时的版本信息“SSH-chisel-v3-server”。并且此组织使用Chisel的时候服务器存在两点特征:一是服务器的SSH是大端口,二是server host key中使用了较少见的算法套件ecdsa-sha2-nistp521。

图 5 Chisel流量

图 6 Chisel流量详情

    1. AsyncRAT

AsyncRAT因其强大的远控功能和易用性,被多个APT组织用于实施远程控制和数据窃取。通信协议使用TLS1.0版本,加密载荷内的通信数据采用AES-256-CBC进行二次加密。该工具行为模式相对固定,存在明显的心跳行为,时间间隔和心跳数据长度均固定。

图 7 AsyncRAT流量

AsyncRAT 使用的默认证书中的证书序列号为“0f 39 39 39 39 31 32 33 31 32 33 35 39 35 39 5a”,见下图。

图 8 AsyncRAT证书特征

    1. Brute Ratel C4

近期研究发现,Patchwork组织进行了较大的武器更新,首次使用了商业攻击工具Brute RatelC4。该工具是由MandiantCrowdStrike的前红队队员ChetanNayak发布的工具包,用以替代因使用广泛而被安全公司重点防范的CobaltStrike框架。

该工具使用TLS协议进行通信,流量中有明显的心跳特征,并且心跳载荷长度固定。将载荷进行解密后,可以看到应用层HTTP报文。HTTP通信采用POST方法,URLUser-Agent等字段均为监听器配置中设置的固定值,请求体Data部分有Base64编码的数据,每次发送的心跳内容保持不变。

图 9 Brute Ratel C4 TLS流量

图 10 Brute Ratel C4解密后流量

  1. 检测

观成瞰云(ENS)-加密威胁智能检测系统能够对APT组织使用的多种开源和商业攻击武器进行有效检出,检测结果见下图。

图 11 观成瞰云(ENS)-加密威胁智能检测系统Remcos检测结果

12 观成瞰云(ENS-加密威胁智能检测系统Chisel检测结果

图 13 观成瞰云(ENS)-加密威胁智能检测系统CobaltStrike检测结果

  1. 总结

在分析 APT 组织使用的开源和商业工具的加密通信特征后,我们能够更好的掌握这些工具的行为模式和通信特征,从而为APT攻击的检测提供新的线索。随着网络攻击手段的不断演变,我们的检测和防御措施也必须持续改进,在此过程中,对加密通信流量的分析将成为防御策略的核心,帮助我们应对不断变化的APT威胁。接下来,观成科技安全研究团队将继续追踪和分析APT组织使用的开源和商业工具,以保持对最新威胁的警觉,并不断优化检测方法,以适应变化的攻击手段,进一步守护加密网络空间的安全。


http://www.ppmy.cn/news/1544022.html

相关文章

Xamarin 实现播放视频 MP4

我的想法是在App启动时播放一段视频,实现方式如下: 准备一个视频: Logo.mp4 添加到资源中:Assets 然后将资源设置为 AndroidAsset 启动时,将资源文件拷贝到程序目录的files下: protected override void On…

【C++】模板(入门+进阶)

「前言」 🌈个人主页: 代码探秘者 🌈C语言专栏:C语言 🌈C专栏: C / STL使用以及模拟实现 🌈数据结构专栏: 数据结构 / 十大排序算法 🌈Linux专栏: Linux系统编…

【网络面试篇】TCP与UDP类

目录 一、综述 1. TCP与UDP的概念 2. 特点 3. 区别 4. 对应的使用场景 二、补充 1. 基础概念 (1)面向连接 (2)可靠的 (3)字节流 2. 相关问题 (1)TCP 和 UDP 可以同时绑定…

ISO 26262与ISO 21434:汽车安全领域的双重保障与交汇探索

ISO 26262和ISO 21434都是关于汽车安全的国际标准,它们在汽车安全领域各自有不同的侧重点,但它们也存在交集。 ISO 26262是一个针对汽车行业的功能安全标准,它主要关注汽车电子和电气系统的安全性。这个标准从概念阶段开始,贯穿了…

微信小程序时间弹窗——年月日时分

需求 1、默认当前时间2、选择时间弹窗限制最大值、最小值3、每次弹起更新最大值为当前时间&#xff0c;默认值为上次选中时间4、 minDate: new Date(2023, 10, 1).getTime(),也可以传入时间字符串new Date(2023-10-1 12:22).getTime() html <view class"flex bb ptb…

src和href的区别

src和href都是HTML中用于指定资源地址的属性&#xff0c;但它们在用途、引用方式、对文档的影响以及适用范围等方面存在显著的区别。以下是对这两者的详细比较&#xff1a; 一、用途不同 src&#xff1a;主要用于嵌入到文档中的资源。它告诉浏览器去加载指定的资源&#xff0…

深入探索:深度学习在时间序列预测中的强大应用与实现

深入探索&#xff1a;深度学习在时间序列预测中的强大应用与实现 时间序列分析是数据科学和机器学习中的一个重要研究领域&#xff0c;广泛应用于金融市场、天气预报、能源管理、交通预测、健康监控等多个领域。时间序列数据具有顺序相关性&#xff0c;通常展示出时间上较强的…

kafka里的consumer 是推还是拉?

大家好&#xff0c;我是锋哥。今天分享关于【kafka里的consumer 是推还是拉&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; kafka里的consumer 是推还是拉&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在Kafka中&#xff0c;消费者&…