亚博下注电竞_手机官网APP下载
>
后台-模块-广告管理-内容页头部广告位(PC)
后台-模块-广告管理-内容页头部广告位(手机)

APT 组织 SparklingGoblin 使用的 SideWalk 后门的分析

  ESET 研究人员最近发现了一种新的未被公开的模块化后门,SideWalk,正在被一个 APT 小组使用,研究人员将其命名为 sparlinggoblin,这个后门最近攻击一家美国电脑零售公司,这个后门与该组织使用的另一个后门 CROSSWALK 有很多相似之处。

  2019 年 11 月,研究人员发现了 Winnti 组织针对香港几所大学的活动,在该活动中,攻击者主要利用 ShadowPad 后门和 Winnti 恶意软件,但也利用 Spyder 后门和基于 DarkShell 的后门,研究人员将其命名为 Doraemon。之后,研究人员观察到多个针对世界各地使用类似工具集和 ttp 的组织的攻击。考虑到这些特定的 ttp,并避免增加 Winnti 组织 标签的混淆,研究人员决定将这组活动记录为一个新组织,研究人员将其命名为 SparklingGoblin,研究人员相信它与 Winnti 组织有关。

  自 2020 年年中以来,SparklingGoblin 一直非常活跃,并在 2021 年持续了活跃状态。该组织的目标主要是东亚和东南亚

  SparklingGoblin 的 .NET 加载程序通过使用以下一个文件名的计划任务进行持久化 :

  它使用 InstallUtil.exe 实用程序使用以下命令执行加载程序:

  如上所述,加载程序负责从磁盘读取加密的 shellcode,对其进行解密,并使用 process hollowing 技术将其注入合法的进程。请注意,使用的解密算法因示例而异。

  另外,需要注意的是,SparklingGoblin 使用了各种不同的 shellcode 加载程序,如 mottug 加载程序和基于 chacha20 的加载程序。Motnug 是一个非常简单的 shellcode 加载器,经常用于加载 CROSSWALK 后门,而基于 ChaCha20 的加载器,顾名思义,用于解密和加载使用 ChaCha20 算法加密的 shellcode。这个加载器中使用的 ChaCha20 实现与下面描述的 SideWalk 后门中使用的相同。此实现是基于计数器的(CTR 模式),使用 12 字节的随机数和 32 字节的密钥,计数器值为 11,导致以下初始状态:

  与 CROSSWALK 类似,SideWalk shellcode 使用一个主要结构来存储字符串、变量、导入地址表 ( IAT ) 及其配置数据。然后将此结构作为参数传递给所有需要它的函数。在 SideWalk 的初始化过程中,首先将字符串解密并添加到结构中,然后填充负责存储 IAT 的结构部分,最后解密 SideWalk 的配置。

  一旦解密了数据和代码,SideWalk 将继续通过计算 32 位校验和来验证其完整性,每 32 位字将结果向右旋转 13 位,并将哈希值与对应于未篡改的 shellcode 的引用值进行比较。如果哈希值与参考值不同,则它退出。这允许 shellcode 检测代码的断点或补丁,并避免在这种情况下执行。相应的反编译代码如下图所示。

  除了字符串池之外,解码后的数据还包含要加载的 DLL 的名称以及函数名称的哈希值。与使用哈希的字符串表示的 CROSSWALK 相反,哈希直接存储在其原始二进制表示中。在解析了导入地址之后,主结构的相应部分如图 7 所示。要加载的 DLL 的名称以灰色突出显示,要导入的 Windows API 函数名称的哈希值用紫色表示,导入函数的地址用绿色表示。

  SideWalk 对解码数据中列出的每个 dll 的导出进行迭代,并使用自定义哈希算法对它们进行哈希,然后将它们与要导入的函数名的哈希值进行比较。一旦找到匹配项,匹配函数的地址就会添加到主结构中。

  SideWalk 的一项功能是在开始与 C&C 服务器通信之前检查是否存在代理配置。为此,它尝试了两种技术:

  如果找到了代理,SideWalk 将使用它与 C&C 服务器通信。这种行为与 CROSSWALK 处理代理的方式非常相似。

  请注意,SideWalk 具有模拟登录用户的必要权限,因为它由基于 InstallUtil 的 .NET 加载程序加载,该加载程序作为计划任务持续存在,因此在 SYSTEM 帐户下运行。反编译过程如下图所示。

  SideWalk 使用 Google Docs 页面作为解析程序,如下面的截图所示,在编写本文时,它仍然是打开的。请注意,任何人都可以编辑此页面。

  有效载荷及其大小,包括一个 ChaCha20 加密的 IP 地址、解密它的密钥,以及用于完整性检查的解密密钥的哈希值;

  为了便于将来使用该格式,研究人员在GitHub 存储库中提供了一个脚本。

  SideWalk 用于与其 C&C 服务器通信的通信协议是 HTTPS,发送到 C&C 的 POST 请求标头的格式可以在下图中看到。

  请注意,此格式用于请求和响应,这意味着当 SideWalk 处理从 C&C 服务器发回的数据时,它会根据相同的格式对其进行解析。 CROSSWALK 和 SideWalk 在 C&C 服务器通信端没有特别的相似之处。

  hash:从 0x10 到 payload 的 total_size 的数据哈希值。哈希算法是对哈希数据的不同部分进行多次 MD5 调用的自定义哈希组合。

  受害者 ID:身份验证信息,它是各种设备信息(包括设备 GUID 和计算机名称)的自定义哈希的结果。

  执行 ID:在启动线程之前,此 ID 是使用 CryptGenRandom 生成的,。每次执行都不同。

  命令 ID/ 响应 ID:当恶意软件向 C&C 服务器发出请求时,恶意软件已处理的操作 ID,以及当它是 C&C 服务器对恶意软件的响应时要执行的命令 ID。

  数据:由恶意软件获取或由 C&C 服务器发送的 ChaCha20 加密、压缩数据。

  标头缓冲区和数据缓冲区使用相应的密钥进行加密,第一个代表识别受感染设备的元数据,第二个缓冲区对应于 C&C 服务器和恶意软件之间共享的实际数据,下图显示的这些字段的详细信息在解密后可见。

  当研究人员开始分析 SideWalk 时,由于其 C&C 服务器已经关闭,在不知道 C&C 服务器发送的数据的情况下无法完全理解某些可能的操作,但下表中记录了恶意软件的大部分功能。

  src=注意:由于研究人员没有从 C&C 服务器检索任何插件,因此很难评估 SideWalk 的全部功能。

  尽管 SideWalk 和 CROSSWALK 代码不同,但这两类代码在架构上有很多相似之处,包括类似的反篡改技术、线程模型和数据布局,以及在执行过程中处理数据的方式。在功能方面,这两个后门都是模块化的,能够处理代理以与其 C&C 服务器正确通信。

  考虑到所有这些相似性,研究人员认为 SideWalk 和 CROSSWALK 很可能是由相同的开发者编写的。

  SideWalk 和 CROSSWALK 的线程模型非常相似。开发者在线程之间划分任务,并使用 PostThreadMessage Windows API 调用在线程之间进行通信。例如,一个线程负责发出请求,一旦它得到响应,它就会把响应传递给相应的线程。

  编程风格也非常相似:使用功能性方法。数据结构存储配置、字符串和导入,并将其作为参数传递给所有需要它的函数。

  SideWalk 和 CROSSWALK 都是模块化后门,可以加载 C&C 服务器发送的附加模块。 SideWalk 模块处理的实现方式类似于 CROSSWALK。一些可能的模块操作是执行、安装和卸载。

  然后,来自存储在数据部分中的名称哈希的函数地址被解析并存储在其主结构中(指向数据部分中的 IAT);

  最后,其包含 C&C 服务器地址的配置被解密(尽管 SideWalk 使用的解密算法不同);

  SideWalk 是一个由 sparlinggoblin APT 团队使用的未被公开的后门。它很可能是由与 CROSSWALK 背后的开发组织相同的开发人员设计的。

标签: 页下注格式  

  • 关注微信
后台-模块-广告管理-内容页底部广告位(PC)
后台-模块-广告管理-内容页底部广告位(手机)



Copyright ©2017-2021 亚博下注电竞_手机官网APP下载 【  版权所有】

网站地图 亚博下注电竞