Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府

Kimsuky APT(也称为 Thallium、Black Banshee 和 Velvet Chollima)是朝鲜的威胁行动者,自 2012 年以来一直活跃。该组织开展网络间谍活动,主要针对韩国的政府实体。2020 年 12 月,KISA(韩国互联网与安全局)提供了有关 Kimsuky 用于针对韩国的网络钓鱼基础设施和 TTP的详细分析

Malwarebytes 威胁情报团队正在积极监控该攻击者,并且已经能够发现用于攻击韩国政府内知名人士的网络钓鱼网站、恶意文档和脚本。这些最近活动中使用的结构和 TTP 与 KISA 报告中报告的内容一致。

受害学者

Kimsuky 使用的诱饵之一,韩文名为“외교부 사판 2021-05-07”,翻译为“外交部版 2021-05-07”,表明它是针对韩国外交部朝鲜。根据我们收集的数据,我们确定它是 Kimsuky 非常感兴趣的一个实体。与韩国政府相关的其他目标包括:

  • 大韩民国外务省一秘
  • 大韩民国外务省二秘
  • 贸易部长
  • 韩国驻香港总领事馆副总领事
  • 国际原子能机构(IAEA)核安全官员
  • 斯里兰卡驻华大使馆大使
  • 外交贸易部参赞

除了针对政府,我们还观察到 Kimsuky 收集了有关韩国大学和公司的信息,包括首尔国立大学和大新金融安全公司以及 KISA。这并不意味着威胁行为者还主动针对他们,也不意味着他们受到了威胁。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府

网络钓鱼基础设施

该组织有能力建立网络钓鱼基础设施来模仿知名网站并诱骗受害者输入其凭据这是该攻击者用来收集电子邮件地址的主要方法之一,这些地址稍后将用于发送鱼叉式网络钓鱼电子邮件。该组织仍在使用之前在 KISA 报告中提到的类似网络钓鱼模型,但有一些小的变化。

例如,他们将 Mobile_detect 和 Anti_IPs 模块从 B 型添加到 C 型(KISA 报告),以便能够检测移动设备并基于此调整视图。此网络钓鱼模型能够根据从网络钓鱼电子邮件收到的参数值以英语或韩语显示网络钓鱼页面。Kimsuky 已部署此模型,不仅针对讲韩语的受害者,还针对讲英语的人。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 1:网络钓鱼服务模型

我们观察到他们开发了不同的网络钓鱼技术来模仿以下 Web 服务并窃取凭据:

  • Gmail
  • Hotmail
  • Microsoft Outlook
  • Nate
  • Daum
  • Naver
  • Telegram
  • KISA
Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 2:Kimsuky APT 开发的 Nate 钓鱼页面

我们已经确定了 Kimsuky 用来托管其网络钓鱼基础设施的几个 URL:

http://accounts.goggle.hol.es/MyAccount
https://myaccount.google.newkda.com/signin
http://myaccount.google.newkda.com/signin
http://myaccount.google.nkaac.net/signin
https://myaccounts-gmail.autho.co/signin
http://myaccounts-gmail.kr-infos.com/signin
http://myaccount.cgmail.pe.hu/signin
https://accounts.google-manager.ga/signin
https://accounts.google-signin.ga/v2
https://myaccount.google-signin.ga/signin
https://account.grnail-signin.ga/v2
https://myaccount.grnail-signin.ga/v2
https://myaccounts.grnail-signin.ga/v2
https://accounts.grnail-signin.ga/v2
https://protect.grnail-signin.ga/v2
https://accounts.grnail-signing.work/v2
https://myaccount.grnail-signing.work/v2
https://myaccount.grnail-security.work/v2
https://signin.grnail-login.ml
https://login.gmail-account.gq
https://signin.gmrail.ml
https://login.gmeil.kro.kr
https://account.googgle.kro.kr

该组织使用 Twitter 帐户来查找和监控其目标,以准备精心制作的鱼叉式网络钓鱼电子邮件。该组织还使用 Gmail 帐户进行网络钓鱼攻击或注册域。该攻击者使用的 Gmail 帐户之一是“[email protected]”,用于注册以下域:

ns1.microsoft-office.us
ns2.microsoft-office.us

它们于 4 月 3 日注册,我们相信已被保留用于未来的活动。从这些领域出发,我们能够发现该参与者使用的基础设施。其中一些与之前报道的由 Kimsuky 运营的活动重叠。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图3:基础设施枢轴

命令和控制基础设施

Kimsuky 将其部分网络钓鱼基础设施重用于其指挥和控制通信。在最近一次针对韩国政府的攻击中,他们重新使用了用于托管其网络钓鱼网站的基础设施,用于 AppleSeed 后门 C&C 通信。除了使用 AppleSeed 后门来定位 Windows 用户外,该攻击者还使用了Android 后门来定位 Android 用户。Android 后门可以被视为 AppleSeed 后门的移动变体。它使用与 Windows 相同的命令模式。此外,Android 和 Windows 后门都使用了相同的基础架构。值得一提的是,此apt称自己为Thallium(化学元素铊)

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 4:C2 基础设施

以下是参与者用于C2 通信的一些 IP 和域名:

210.16.120.34
216.189.157.89
45.58.55.73
45.13.135.103
27.102.114.89
210.16.121.137
58.229.208.146 
27.102.107.63
download.riseknite.life
onedrive-upload.ikpoo.cf
alps.travelmountain.ml
texts.letterpaper.press

对最近一次 AppleSeed 攻击的分析

在本节中,我们将分析用于攻击韩国外交部的 AppleSeed 后门。

初始访问

该攻击者已通过鱼叉式网络钓鱼电子邮件将其嵌入存档文件 (외교부 사판 2021-05-07.zip) 作为附件分发。目标电子邮件地址是使用我们在上一节中描述的攻击者电子邮件网络钓鱼活动收集的。该攻击者于 2021 年 5 月 7 日进行了这次鱼叉式网络钓鱼攻击

存档文件包含一个 JavaScript 文件 (외교부 사판 2021-05-07.pdf.jse),它伪装成一个包含两个 Base64 编码 blob 的 PDF 文件。第一个是 Base64 格式的诱饵 PDF 文件的内容,另一个包含同样为 Base64 格式(编码两次)的 AppleSeed payloads。

首先它使用MSXML Base64解码功能解码第一层,然后使用certutil.exe解码第二层并获得最终的 ApppleSeed 负载。诱饵 PDF 文件已使用 MSXML Base64 解码功能进行解码。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图5:JS投递器

解码 PDF 和 AppleSeed 负载后,内容将写入ProgramData目录。最后,通过调用Wscript.Shell.Run打开诱饵 PDF 文件,通过 PowerShell 调用regsvr32.exe执行 AppleSeed 负载。调用regsvr32.exe运行 DLL 会将其注册为自动调用名为DllRegisterServer的 DLL 导出函数的服务器。

powershell.exe -windowstyle hidden regsvr32.exe /s AppleSeed_Payload
Wscript_Shell.Run(Pdf_Name);

AppleSeed后门

有效载荷是使用 UPX 打包程序打包的 DLL 文件。解压后的样本经过高度混淆,重要的 API 调用和字符串已使用自定义加密算法进行加密。字符串和 API 调用的加密版本采用十六进制 ASCII 格式。每当在代码中恶意软件需要使用字符串时,它就会获取加密的字符串并将其传递给两个函数以对其进行解密。

第一个函数“string_decryptor_prep”获取加密的字符串,然后准备一个包含四个元素的自定义数据结构:

typedef struct _UNICODESTR {
	wchar_t *Buffer; // Encrypted string 
	DWORD padding;
	uint64_t Length; // Length of the string
	uint64_t MaxLength; // Max length for the string which has been calculated based on the lenght
} UNICODESTR;

第二个函数“string_decryptor”获取前一个函数中创建的数据结构,然后解密字符串并将其放入相同的数据结构中。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 6:字符串解密函数

解密器函数首先通过对每两个 ascii 字符(即示例 1 中的c3、42、b1、1d…)调用hexascii_to_binary函数,将 hex ascii 格式的输入字符串转换为二进制。然后将输入中的前 16 个字节用作密钥,其余部分是在 16 个字节块(即 ed、d5、0d、60)中解密的实际值。
解密是一个简单的异或运算key[i] ^ string[i-1] ^ string[i](对于第一个字符 string_to_be_decrypted[i-1] 设置为零)。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 7:字符串解码器示例

大多数重要的 API 调用在运行时使用“string_decryptor”函数动态解析。(已动态解析 288 个 API 调用。)

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 8:解析 API 调用

AppleSeed 负载有一个名为“DllRegisterServer”的导出函数,该函数将在使用 RegSvr32.exe 执行 DLL 时调用。DllRegisterServer 有一个函数负责执行 DLL 初始化和设置,包括以下步骤:

  • 将自身复制到“C:\ProgramData\Software\ESTsoft\Common”中,并重命名为ESTCommon.dll,假装它是属于ESTsecurity公司的DLL 。
  • 通过创建以下注册表项使其持久化:
Registry key name: EstsoftAutoUpdate
Registry key value: Regsvr32.exe /s C:\ProgramData\Software\ESTsoft\Common\ESTCommon.dll
Registry location: HKLU\Software\Microsoft\Windows\CurrentVersion\RunOnce
Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 9:注册表创建
  • 通过在“C:\ProgramData\Software\ESTsoft\Common\flags” 目录中创建以下文件并将“flag”写入其中来激活功能:FolderMonitor、KeyboardMonitor、ScreenMonitor、UsbMonitor。

在下一步中,它会创建一个互斥锁,以确保它只感染受害者一次。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 10:互斥体创建

创建该互斥体后,它通过调用GetTokenInformation API 调用检查当前进程是否具有正确的访问权限,如果它没有正确的权限,它会尝试通过将SeDebugPrivilege传递给它来使用 AdjustTokenPrivilege 提升其权限以获得系统级权限。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 11:权限提升

最后,它在单独的线程中执行其主要功能。每个线程中收集的所有数据都被压缩和加密,并在单独的线程中使用 HTTP POST 请求发送到命令和控制服务器。将数据发送到服务器后,数据会从受害者的机器中删除。
ApppleSeed 负载使用 RC4 来加密和解密数据。为了生成 RC4 密钥,它通过调用CryptGenRandom创建一个 117 字节的随机缓冲区,然后使用CryptCreateHashCryptHashData将缓冲区添加到 MD5 哈希对象中。然后它调用 CryptDeriveKey 来生成 RC4 密钥。
创建的 117 字节缓冲区使用 RSA 算法加密,并与 RC4 加密数据一起发送到服务器。RSA 密钥采用十六进制 ASCII 格式,并已使用“string_decryptor”函数解密。

输入捕获(KeyLogger)

键盘记录器函数使用 GetKeyState 和 GetKeyboardState 来捕获受害者机器上按下的键,并将每个进程的所有键记录到 log.txt 文件中。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 12:键盘记录器

屏幕截图

该模块通过调用以下 API 调用序列来截取屏幕截图并将它们写入文件:GetDesktopWindowGetDCCreateCompstibleDCCreateCompatibleBitmapBitbltGetDIBits,然后使用CreateFileWWriteFile将它们写入文件。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 13:捕获屏幕

收集可移动媒体数据

该模块查找连接到机器的可移动媒体设备并收集其数据,然后将其发送到命令和控制服务器。为了识别 USB 驱动器,它调用 CM_Get_Device_IDW 来检索格式为“ <device-ID>\<instance-specific-ID>”的设备实例 ID,然后检查它是否包含 USB 字符串值。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 14:获取可移动设备

收集文件

该线程在 Desktop、Documents、Downloads 和AppData\Local\Microsoft\Windows\INetCache\IE目录中查找 txt、ppt、hwp、pdf 和 doc 文件,并将它们存档以准备好被泄露到服务器。

Kimsuky APT 继续使用 AppleSeed 后门攻击韩国政府
图 15:文件收集

命令结构

AppleSeed 后门使用两层命令结构与其命令和控制服务器进行通信。这是用于 C&C 通信的 URL 模式:

entity:url url:?m=[命令层1]&p1=[卷序列号]&p2=[命令层2]

第一层命令定义了服务器期望在受害者上执行的命令类型,它可以具有以下值之一:

命令描述
aping 模式(收集受害者信息,包括 IP、时间戳、受害者操作系统版本)
b上传数据模式
c下载命令(等待命令)
d删除命令
e上传命令模式
f列出目录模式
g删除文件模式
h检查文件模式是否存在
第一层命令

命令层 2 仅用于当命令层 1 处于上传数据模式 (c) 并定义上传类型时。它可以具有以下值之一:

命令描述
a上传命令执行结果
b上传文件和可移动媒体数据
c上传截图
d上传输入捕获数据(键盘记录器数据)
第二层命令

结论

Kimsuky 是朝鲜的威胁行为者之一,主要针对韩国政府实体。在这篇博文中,我们了解了该组织的活动,包括其网络钓鱼基础设施以及命令和控制机制。我们的研究表明,该组织仍在使用 KISA 在 2020 年 12 月报告的类似基础设施和 TTP。它最近的活动针对使用 Apple Seed 后门的外交部。

MITRE ATT&CK 技术

战术ID名称细节
侦察T1598钓鱼信息使用网络钓鱼收集电子邮件地址以进行有针对性的攻击
资源开发T1583.00收购基础设施:领域在攻击前几个月购买和注册域名
资源开发T1587.001开发能力:恶意软件为攻击开发 AppleSeed 后门
资源开发T1585.002建立帐户:电子邮件帐户创建电子邮件帐户以注册域并用于网络钓鱼攻击
资源开发T1585.001建立帐户:社交媒体帐户使用 Twitter 收集有关受害者的信息
初始访问T1566.001网络钓鱼:鱼叉式钓鱼附件通过网络钓鱼邮件分发包含 JS dropper 的存档文件
执行T1059.001命令和脚本解释器:PowerShell使用 PowerShell 执行命令
执行T1059.007命令和脚本解释器:JavaScript使用JS执行PowerShell
坚持T1547.001启动或登录自动启动执行:注册表运行键/启动文件夹创建注册表 RunOnce 键
权限提升T1134访问令牌操作调整其令牌权限以拥有 SeDebugPrivilege
防御规避T1134访问令牌操作调整其令牌权限以拥有 SeDebugPrivilege
防御规避T1140去混淆/解码文件或信息– 使用命令 certutil 解码 base64 内容
– 解密来自服务器的数据
防御规避T1070.004主机上的指标删除:文件删除删除其泄露的数据以掩盖其踪迹
防御规避T1112修改注册表 修改运行注册表项
防御规避T1027混淆的文件或信息– 所有字符串和 API 调用都使用自定义加密进行混淆
– 丢弃的有效载荷使用 UPX 打包
防御规避T1218.010签名二进制代理执行:Regsvr32通过 Regsvr32 加载有效负载
凭证访问T1056.001输入捕获:键盘记录记录受害者机器上的输入
发现T1083文件和目录发现获取文件和目录列表
发现T1082系统信息发现收集操作系统类型和卷序列号
收藏T1560归档收集的数据在渗漏之前压缩和加密收集的数据
收藏T1005来自本地系统的数据从本地系统收集数据
收藏T1025来自可移动媒体的数据从可移动媒体收集数据
收藏T1056.001输入捕获:键盘记录记录受害者机器上的击键
收藏T1113屏幕截图捕获屏幕截图
命令与控制T1001数据混淆加密数据以进行渗漏
命令与控制T1071.001应用层协议:Web 协议使用 HTTP 进行命令和控制通信
渗透T1041通过 C2 通道进行渗透通过用于 C2 的相同通道提取数据

网络钓鱼目标侦察与攻击资源分析.pdf

下载地址:
网络钓鱼目标侦察与攻击资源分析.pdf

from

Leave a Reply

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