朝鲜APT组织Kimsuky:持续以欺骗手段威胁韩国

Seqrite 实验室的安全研究人员最近发现了 APT 组织“Kimsuky”(又名“Black Banshee”)发起的两次截然不同的攻击活动。该组织一直积极利用不断演变的攻击策略瞄准韩国。在这些攻击活动中,威胁行为者投放了两份以韩国政府为主题的文件作为诱饵,专门针对韩国境内的政府机构。
在本篇博文中,我们将深入探讨分析过程中发现的攻击活动的技术细节。我们将分析感染的各个阶段,首先从一封包含 LNK(快捷方式)文件附件的钓鱼邮件开始。该 LNK 文件旨在投放经过混淆的 VBA(Visual Basic for Applications)脚本。对脚本进行反混淆处理后,我们发现它还投放了另外两个文件:一个 PDF 文件和一个 ZIP 文件。ZIP 文件包含四个恶意文件:两个日志文件(1.log 和 2.log)、一个 VBA 脚本(1.vba)和一个 PowerShell 脚本(1.ps1)。这两个攻击活动都涉及同一组恶意文件。
感染链:
图1 感染链
初步调查结果:
活动-1:
在第一次攻击活动中,我们发现了一份与税收相关的减税和纳税文档,其中包含相同的恶意 LNK 附件。该附件随后部署了一个恶意 VBScript,从而进一步促成了攻击。
图2 Revanue.pdf文件
根据我们的初步调查结果,我们发现对手使用了包含相同 LNK 文件内容的不同文档。
战役-2:
在第二次行动中,我们注意到韩国颁布了一项旨在防止性犯罪者再次犯罪的新政策。该举措包括分发一份详细的文件,概述相关规定,并将其分发给家庭、日托中心、幼儿园以及包括乡镇和村政府在内的各地方行政办公室以及社区中心。然而,包括网络犯罪分子在内的黑客正在利用这一传播过程,发送包含有害附件的欺骗性电子邮件。这些电子邮件的目标是居民收件人和地方办事处的关键人员。
图3 性犯罪者个人信息通知.pdf
攻击者利用这些信息和文档的传播,通过电子邮件将其伪装成“性犯罪者个人信息通知.pdf.lnk”文件名进行传播**。****该**附件包含一个恶意 LNK 文件,对收件人构成网络安全威胁。
技术分析和方法:
活动 1 和 2:
我们已从 campaign-1 下载了名为 28f2fcece68822c38e72310c911ef007f8bd8fd711f2080844f666b7f371e9e1.lnk 的文件,并从 campaign-2 下载了通过电子邮件共享的“성범죄자 신상정보 고지.pdf.lnk”(Sex Offender Personal Information Notification.pdf.lnk)文件。在分析此 LNK 文件的过程中,它似乎正在从外部 C2 服务器获取其他文件,如下面的快照所示。
图4 从C2服务器下载VBScript(攻击活动-1)
图 5 从 C2 下载 VBScript(Campaign -2)
该文件从上面提供的 URL 下载并保存到 Temp 文件夹中,如下所示。
图 6 下载到临时文件夹(Campaign-1)
图 7 下载到临时文件夹(Campaign-2)
从 C2 服务器下载的文件似乎是经过混淆的 VBScript。使用 DE 对该脚本进行混淆后,我们发现了另外两个文件:一个 PDF 文件和一个 ZIP 文件。
图8 混淆的VB脚本
该文件的第一部分采用 Base64 字符串编码。
图 9 Base64 编码的 PDF
解码后我们发现一个PDF文件。
图10 解码后的PDF
VBScript 的第二部分也采用 Base64 编码。解码后,我们发现了一个 ZIP 文件。
图 11 Zip 文件
图 12 Detect It Easy
Zip 文件包含以下数量的文件。
图 13 Zip 文件内部
在 ZIP 压缩文件中,我们发现了四个文件:一个 VBScript 脚本、一个 PowerShell 脚本和两个 Base64 编码的文本文件。这些编码的文本文件包含经过混淆的数据,进一步分析后,可能获得有关该恶意软件功能和目标的关键情报。下图展示了这两个文本文件的编码内容,我们将对其进行解码和分析,以阐明攻击链的下一阶段。
图14-1 Base64编码的Log.txt文件
图 15 – 2 个采用 Base64 编码的日志 .txt 文件
1.vbs 文件采用了高级混淆技术,利用 chr() 和 CLng() 函数在运行时动态构造字符并调用命令。此策略有效地规避了基于签名的检测机制,使脚本在执行过程中逃避检测。
脚本终止后,连接起来的字符将形成一个完整的命令,随后执行该命令。该命令很可能旨在调用 1.ps1 PowerShell 脚本,并将 1.log 作为参数传递以进行进一步处理。
图 16 – 1.vbs
在尝试对 VBScript 进行去混淆处理时,我们发现了以下命令行执行,该执行随后触发 PowerShell 脚本进行进一步处理。
图 17 去混淆后的 VB 脚本
执行 1.vbs 文件时,它会触发 1.ps1 文件的调用,如下面的快照所示。
图18 执行1.VBS
1.ps1 脚本包含一个函数,用于解码 1.log 文件中的 Base64 编码数据并执行生成的脚本。
图19-1.ps1文件
图20-1 解码后的Log.txt
1.ps1 脚本从受感染主机检索 BIOS 序列号(唯一的系统标识符)。随后,该序列号将用于在系统临时文件夹中创建专用目录,以确保与攻击相关的文件存储在受感染主机的特定位置,如上图所示。
作为一个虚拟机感知样本,该脚本会检查自身是否在虚拟机环境中执行。如果检测到虚拟机,它将删除与攻击相关的所有四个文件(1.vbs、1.ps1、1.log 以及存储在以序列号命名的目录中的任何有效载荷文件),从而有效地停止攻击执行,如图所示。
该脚本包含 11 个函数,这些函数定义了恶意软件运行的后续阶段,包括数据泄露、加密货币钱包信息窃取以及建立命令与控制 (C2) 通信。这些函数对于攻击的执行至关重要,有助于恶意软件实现其目标并确保与威胁行为者的持续通信。
从 1 个日志文件中检索到的恶意功能列表:
- 上传文件**():**
上传函数会将数据以 1MB 为单位分块传输到服务器,从而窃取数据,使其能够高效处理大文件。脚本会等待服务器的响应,如果收到 HTTP 状态码“200”,则继续执行。如果响应不同,则脚本终止操作。每个分块都通过 HTTP POST 请求发送,函数会在继续执行之前验证每次上传迭代是否成功。
图21 UploadFile()
- 获取ExWFile():
GetExWFile函数会遍历一组包含加密货币钱包扩展名的预定义哈希表。找到匹配项后,它会识别与这些扩展名关联的“.ldb”和“.log”文件,以便进行数据窃取。随后,这些文件会被传输到_$Storepath_变量指定的目标文件夹。
图22 GetExWFile()
- 获取浏览器数据():
该脚本会检查以下浏览器(Edge、Firefox、Chrome 或 Naver Whale)是否正在运行,以提取用户配置文件数据,包括 Cookie、登录凭据、书签和网页数据。在收集这些信息之前,脚本会终止浏览器进程,以确保访问不中断。然后,它会检索每个已识别浏览器的已安装扩展程序和缓存文件(例如 webcacheV01.dat)的数据。对于某些浏览器,它还会执行解密操作以解锁加密密钥,从而提取敏感信息,并将其与解密的主加密密钥一起存储。
图23 浏览器数据()
- 下载文件():
下载文件功能根据C2命令下载任意文件。
图24 下载文件()
- 注册任务():
它为文件“1.log”和“1.vbs”创建持久性。
图25 RegisterTask()
- 发送 ():
send()函数将所有收集到的信息压缩成一个名为“init.zip”的ZIP文件上传到服务器。上传完成后,它会将ZIP文件重命名为“init.dat”,并从系统中删除所有备份文件。
图26 发送()
这些函数的执行流程遵循一系列操作,在攻击过程中执行多个操作。其中一个函数会触发另一个 PowerShell 命令,该命令调用 2.log 文件,该文件负责执行键盘记录活动。
图27 函数执行流程及执行“2.log”的命令。
图28 执行2个日志文件
图29 内部2个日志文件
2.log 文件的解码内容如上所示。它包含一个脚本,该脚本导入了用于检测按键、检索窗口标题和管理键盘状态的基本 Windows API 函数。该脚本执行剪贴板监视、按键记录和记录窗口标题等操作。
图 30.2 剪贴板监控代码。
结论
据观察,威胁行为者正在使用耗时且多组件的技术,这些技术相互关联,以增强其规避能力。与其他数据窃取程序不同,该程序主要关注与网络相关的信息,这些信息可用于主动侦察。鉴于该数据窃取程序的目标是敏感用户数据,因此在当今的数字环境中,使用 Seqrite Antivirus 等信誉良好的安全解决方案保护自己至关重要。在 Seqrite 实验室,我们针对此类数据窃取程序在感染的不同阶段提供检测功能,并提供针对最新威胁的防护。
Seqrite保护:
- 木马49424.SL
- 木马49422.C
MITRE ATT&CK:
初始访问 | T1566.001 | 网络钓鱼:鱼叉式网络钓鱼附件 |
执行 | T1059.001<br><br>T1059.005 | 命令和脚本解释器:PowerShell<br><br>命令和脚本解释器:Visual Basic |
持久性 | T1547.001 | 启动或登录自动启动执行:注册表运行键/启动文件夹 |
防御规避 | T1140 | 反混淆/解码文件或信息 |
凭证访问 | T1555.003 | 密码存储中的凭据:来自 Web 浏览器的凭据 |
发现 | T1082 | 系统信息发现 |
收藏 | T1056.001 | 输入捕获:键盘记录 |
指挥与控制 | T1071.001 | 应用层协议:Web协议 |
渗漏 | T1041 | 通过 C2 通道进行渗透 |
IoC:
MD5 | 文件名 |
1119A977A925CA17B554DCED2CBABD8 | *.lnk |
64677CAE14A2EC4D393A81548417B61B | 1.log |
F0F63808E17994E91FD397E3A54A80CB | 2.log |
A3353EA094F45915408065D03AE157C4 | 预防性医疗指南 |
CE4549607E46E656D8E019624D5036C1 | 1.vbs |
1B90EFF0B4F54DA72B19195489C3AF6C | *.lnk |
1D64508B384E928046887DD9CB32C2AC | 성범죄자 신상정보 고지.pdf.lnk |
C2
- hxxps[:]//cdn[.]glitch[.]global/
- hxxp[:]//srvdown[.]ddns.net