WinorDLL64:来自庞大的 Lazarus 武器库的后门?

WinorDLL64:来自庞大的 Lazarus 武器库的后门?

源节点: 1975596

目标区域以及行为和代码的重叠表明该工具被臭名昭著的与朝鲜结盟的 APT 组织使用

ESET 研究人员发现了 Wslink下载器 我们在 2021 年发现的。我们根据其文件名将此有效负载命名为 WinorDLL64 WinorDLL64.dll. Wslink,它有文件名 WinorLoaderDLL64.dll, 是 Windows 二进制文件的加载器,与其他此类加载器不同,它作为服务器运行并在内存中执行接收到的模块。 正如措辞所暗示的那样,加载程序用作将有效负载或实际恶意软件加载到已经受损的系统上的工具。 尚未确定最初的 Wslink 妥协向量。

最初未知的 Wslink 负载在我们的博文发布后不久从韩国上传到 VirusTotal,并根据 Wslink 的唯一名称命中了我们的 YARA 规则之一 WinorDLL64. 关于 Wslink,ESET 遥测仅在中欧、北美和中东发现了一些检测结果。

WinorDLL64 payload 充当后门,最显着的是获取大量系统信息,提供文件操作手段,例如泄露、覆盖和删除文件,并执行其他命令。 有趣的是,它通过 Wslink 加载程序已经建立的连接进行通信。

在 2021 年,我们没有发现任何数据表明 Wslink 是来自已知威胁参与者的工具。 然而,在对有效载荷进行广泛分析后,我们归因于 WinorDLL64 对基于目标区域的低置信度的 Lazarus APT 组以及行为和代码与已知 Lazarus 样本的重叠。

这个臭名昭著的与朝鲜结盟的组织至少从 2009 年开始活跃,对一些备受瞩目的事件负责,例如 索尼影视娱乐黑客 和数千万美元 2016 年的网络抢劫者是, WannaCryptor (又名 WannaCry)于 2017 年爆发,以及针对 韩国公共和关键基础设施 至少从 2011 年开始。US-CERT 和 FBI 称该组为 隐藏眼镜蛇.

基于我们 博闻强识 从这个小组的活动和运营来看,我们认为 Lazarus 由一个系统组织、准备充分的大型团队组成,并由几个使用大型工具集的子组组成。 去年,我们 发现了一个 Lazarus 工具 那利用了 CVE-2021,21551 荷兰一家航空航天公司的员工和比利时的一名政治记者的漏洞。 这是该漏洞首次被记录在案; 结合起来,该工具和漏洞导致对受感染机器上所有安全解决方案的监控失明。 我们还提供了广泛的描述 虚拟机的结构 在 Wslink 的示例中使用。

这篇博文解释了 WinorDLL64 归因于 Lazarus,并提供了对有效载荷的分析。

拉撒路的链接

我们发现行为和代码与来自 Lazarus 的样本存在重叠 幽灵秘密行动Bankshot植入物 McAfee 描述的。 GhostSecret 和 Bankshot 文章中对植入程序的描述都包含与 WinorDLL64 的功能重叠,我们在样本中发现了一些代码重叠。 在这篇博文中,我们将只使用 FE887FCAB66D7D7F79F05E0266C0649F0114BA7C 来自 GhostSecret 的示例,用于与 WinorDLL64 进行比较(1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), 除非另有说明。

以下详细信息总结了我们将低可信度归因于 Lazarus 的支持事实:

1. 受害者学

  • AhnLab 的研究人员在他们的遥测中确认了 Wslink 的韩国受害者,考虑到传统的 Lazarus 目标,这是一个相关指标,我们只观察到几次命中。

图 1. 报告的韩国受害者,其中 mstoned7 是 Ahnlab 的研究员

2。 恶意软件

  • McAfee 报告的最新 GhostSecret 样本(FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) 是从 2018 年 2018 月开始; 我们在 2018 年底发现了 Wslink 的第一个样本,其他研究人员在 XNUMX 年 XNUMX 月报告了命中率,他们在我们发表后披露了这些命中率。 因此,这些样本被发现的时间间隔相对较短。
  • PE 富标头 表明在其他几个已知的 Lazarus 样本中使用了相同的开发环境和类似规模的项目(例如, 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). 我们使用以下仅涵盖这些 Wslink 和 Lazarus 样本的规则发现了这种重叠,这是一个低权重的指标。 我们对它们进行了测试 VirusTotal 的追查 和我们的内部文件语料库。

rich_signature.length == 80 和
pe.rich_signature.toolid(175, 30319) == 7 和
pe.rich_signature.toolid(155, 30319) == 1 和
pe.rich_signature.toolid(158, 30319) == 10 和
pe.rich_signature.toolid(170, 30319) >= 90 和
pe.rich_signature.toolid(170, 30319) <= 108

此规则可以转换为以下更易读并由 VirusTotal 使用的符号,其中可以看到产品版本和构建 ID (VS2010 构建 30319), 使用的源文件/目标文件的数量和类型 ([LTCG C++] 其中 LTCG 代表链接时间代码生成, [ASM], [ C ]), 和出口数量 ([经验]) 在规则中:

[LTCG C++] VS2010 构建 30319 计数 = 7
[EXP] VS2010 版本 30319 计数=1
[ASM] VS2010 构建 30319 计数=10
[C] VS2010 build 30319 在 [90 .. 108] 中计数

  • GhostSecret 文章描述了“一个独特的数据收集和植入安装组件,它在端口 443 上侦听入站控制服务器连接”,该组件另外作为服务运行。 这是对 Wslink 下载程序行为的准确描述,端口号除外,端口号可能因配置而异。 总而言之,尽管实现方式不同,但两者的目的相同。
  • 加载器由Oreans的Code Virtualizer虚拟化,这是一个商业保护器,用于 频繁 由拉撒路。
  • 装载机使用 内存模块 库直接从内存加载模块。 该库不常被恶意软件使用,但在 Lazarus 和 Kimsuky 等与朝鲜结盟的组织中非常流行。
  • 我们在分析过程中发现 WinorDLL64 和 GhostSecret 之间的代码重叠。 表 1 列出了结果和归因显着性。

表 1. WinorDLL64 和 GhostSecret 之间的相似之处以及它们在将两者归因于同一威胁参与者方面的重要性

WinorDLL64 和 GhostSecret 之间的其他相似之处 影响力故事
负责获取处理器架构的代码中的代码重叠
当前目录操作中的代码重叠
获取进程列表的代码重叠
文件发送代码重叠
上市过程中的行为重叠
当前目录操作中的行为重叠
文件和目录列表中的行为重叠
列表卷中的行为重叠
读/写文件中的行为重叠
创建过程中的行为重叠
安全删除文件中的大量行为重叠
进程终止时有相当多的行为重叠
收集系统信息时有相当多的行为重叠

文件发送功能中的代码重叠在图 2 和图 3 中突出显示。

图 2. GhostSecret 发送文件

图 3. Wslink 发送文件

技术分析

WinorDLL64 充当后门,最显着的是获取大量系统信息,提供文件操作手段,并执行其他命令。 有趣的是,它通过加载程序已经建立的 TCP 连接进行通信,并使用加载程序的一些功能。

图 4. Wslink 通信的可视化

后门是一个 DLL,带有一个接受一个参数的未命名导出——一种已经在我们的文章中描述过的通信结构 以前的博文. 该结构包含一个 TLS 上下文——套接字、密钥、IV——以及用于发送和接收使用 256 位 AES-CBC 加密的消息的回调,使 WinorDLL64 能够通过已建立的连接与操作员安全地交换数据。

以下事实使我们非常有信心地相信该库确实是 Wslink 的一部分:

  • 独特的结构以预期的方式在任何地方使用,例如,TL​​S 上下文和其他有意义的参数以预期的顺序提供给正确的回调。
  • DLL 的名称是 WinorDLL64.dll Wslink 的名字是 WinorLoaderDLL64.dll.

WinorDLL64 接受多个命令。 图 5 显示了接收和处理命令的循环。 每个命令都绑定到一个唯一的 ID,并接受包含其他参数的配置。

图 5. 后门命令接收循环的主要部分

带有我们的标签的命令列表如图 6 所示。

图 6. 命令列表

表 2 包含 WinorDLL64 命令的摘要,其中修改的和旧的类别指的是与先前记录的 GhostSecret 功能的关系。 我们只强调修改类别中的重大变化。

表 2. 后门命令概述

产品类别 命令编号 Functionality 产品描述
全新 0x03 执行 PowerShell 命令 WinorDLL64 指示 PowerShell 解释器不受限制地运行并从标准输入读取命令。 之后,后门将指定的命令传递给解释器,并将输出发送给操作员。
0x09 压缩并下载一个目录 WinorDLL64 递归迭代指定目录。 每个文件和目录的内容都被单独压缩并写入一个临时文件,然后发送给操作员然后安全地删除。
0x0D 断开会话 断开指定登录用户与用户的远程桌面服务会话的连接。 该命令还可以根据参数执行不同的功能。
0x0D 列出会话 获取有关受害者设备上所有会话的各种详细信息,并将它们发送给操作员。 该命令还可以根据参数执行不同的功能。
0x0E 测量连接时间 使用 Windows API 的GetTickCount 测量连接到指定主机所需的时间。
修改日期 0x01 获取系统信息 获取有关受害者系统的全面详细信息并将其发送给操作员。
0x0A 安全删除文件 用随机数据块覆盖指定的文件,将每个文件重命名为随机名称,最后安全地将它们一个一个地删除。
0x0C 杀死进程 终止名称与提供的模式和/或特定 PID 匹配的所有进程。
0x02/0x0B 创建一个流程 以当前用户或指定用户的身份创建一个进程,并可选择将其输出发送给操作员。
0x05 设置/获取当前目录 尝试设置并随后获取当前工作目录的路径。
0x06 列出卷 遍历从 C: 到 Z: 的驱动器并获取驱动器类型和卷名。 该命令还可以根据参数执行不同的功能。
0x06 列出目录中的文件 遍历指定目录下的文件,获取名称、属性等信息。该命令还可以根据参数执行不同的功能。
0x07 写入文件 下载规定数量的数据并将其附加到指定文件。
0x08 从文件中读取 指定的文件被读取并发送给操作员。
0x0C 列出进程 获取有关受害者设备上所有正在运行的进程的详细信息,并另外发送当前进程的 ID。

结论

Wslink 的有效负载致力于提供文件操作、执行更多代码以及获取有关底层系统的大量信息的方法,由于对网络会话的特殊兴趣,这些信息可能会在以后用于横向移动。 Wslink 加载程序侦听配置中指定的端口,可以为其他连接的客户端提供服务,甚至加载各种有效负载。

WinorDLL64 在开发环境、行为和代码中与几个 Lazarus 样本有重叠,这表明它可能是这个与朝鲜结盟的 APT 组织的庞大武器库中的一个工具。

ESET Research 提供私人 APT 情报报告和数据源。 有关此服务的任何查询,请访问 ESET 威胁情报 页面上发布服务提醒。

国际石油公司

SHA-1 ESET检测名称 产品描述
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F Win64/Wslink.A 发现的 Wslink 负载 WinorDll64 的内存转储。

MITRE ATT&CK 技术

该表是使用 12版 ATT&CK框架。 我们不再提及加载程序的技术,仅提及有效负载。

战术 ID 名字 产品描述
资源开发 T1587.001 开发能力:恶意软件 WinorDLL64 是一个自定义工具。
执行 T1059.001 命令和脚本解释器:PowerShell WinorDLL64 可以执行任意的 PowerShell 命令。
T1106 原生API WinorDLL64 可以使用 创建进程W创建进程为用户W 蜜蜂。
防御规避 T1134.002 访问令牌操作:使用令牌创建进程 WinorDLL64可以调用API WTS查询用户令牌创建进程为用户W 在模拟用户下创建进程。
T1070.004 指标删除:文件删除 WinorDLL64 可以安全地删除任意文件。
药物发现 T1087.001 帐户发现:本地帐户 WinorDLL64 可以枚举会话并列出关联的用户和客户端名称以及其他详细信息。
T1087.002 帐户发现:域帐户 WinorDLL64 可以枚举会话并列出关联的域名以及其他详细信息。
T1083 文件和目录发现 WinorDLL64 可以获得文件和目录列表。
T1135 网络共享发现 WinorDLL64 可以发现共享网络驱动器。
T1057 进程发现 WinorDLL64 可以收集有关正在运行的进程的信息。
T1012 查询注册表 WinorDLL64 可以查询 Windows 注册表以收集系统信息。
T1082 系统信息发现 WinorDLL64 可以获得计算机名称、操作系统和最新服务包版本、处理器体系结构、处理器名称和固定驱动器上的空间量等信息。
T1614 系统位置发现 WinorDLL64可以使用 GetLocaleInfoW API。
T1614.001 系统位置发现:系统语言发现 WinorDLL64可以使用获取受害者的默认语言 GetLocaleInfoW API。
T1016 系统网络配置发现 WinorDLL64可以枚举网络适配器信息。
T1049 系统网络连接发现 WinorDLL64 可以收集监听端口的列表。
T1033 系统所有者/用户发现 WinorDLL64 可以枚举会话并列出关联的用户、域和客户端名称以及其他详细信息。
购物 T1560.002 归档收集的数据:通过图书馆归档 WinorDLL64 可以使用 快点 图书馆。
T1005 来自本地系统的数据 WinorDLL64 可以收集受害者设备上的数据。
影响力故事 T1531 删除帐户访问权限 WinorDLL64 可以断开登录用户与指定会话的连接。

时间戳记:

更多来自 我们安全生活