概述
Cyble 研究与情报实验室 (CRIL) 于 10 月 16 日发现了一个名为“open-vpn[.]top”的网络钓鱼网站。这个欺骗性网站旨在模仿合法的 OpenVPN 网站。它被怀疑与一个名为Higaisa的高级持续威胁 (APT) 组织发起的新活动有关。
Higaisa APT 据信起源于韩国,最初由腾讯安全威胁情报中心于 2019 年初披露。该组织的恶意活动至少可以追溯到 2016 年,涉及使用 Gh0st 和 PlugX 等木马,以及移动恶意软件。他们的目标包括政府官员、人权组织和其他与朝鲜有关的实体。
网络钓鱼网站经常被威胁行为者 (TA) 作为传播恶意软件的主要方法。这些 TA 经常在网络钓鱼活动中使用品牌假冒手段,巧妙地诱使用户产生错误的信任感和合法性,最终引诱毫无戒心的个人。鉴于个人广泛使用 VPN 来克服在线审查制度,可以想象这些 TA 专门针对那些试图逃避此类限制的人。下图描绘了欺诈性 OpenVPN 网站。
图 1 – 假 OpenVPN 网站
该网站托管了一个恶意 OpenVPN 安装程序文件,该文件与正版 OpenVPN 可执行文件和基于 Rust 的恶意可执行文件捆绑在一起。值得注意的是,基于 Rust 的可执行文件具有有效的数字签名。该数字签名归属于中国机构“智雅云科(成都)财税服务有限公司”,如下所示。
图 2 – 恶意软件文件的有效数字签名
CRIL 进一步调查,以确定与之前活动的任何相似之处。在分析过程中,我们发现 Malwarebytes 之前已识别出通过 LNK 文件发起初始感染的活动。此外,Zscaler 还发布了对该活动中使用的最终有效负载的深入分析。
技术分析
我们从钓鱼网站获取了一个名为“OpenVPN.exe”的文件。该文件是基于 32 位图形用户界面的可执行文件。
执行该文件后,它会提示用户选择所需的语言,如下图所示。它会显示一个安装向导以继续安装过程。
图 3 – 打开 VPN 安装程序
在安装过程中,安装程序会在“C:Program Files (x86)OpenVPN”目录中放置多个文件。这些文件包含正版 OpenVPN MSI 安装程序 (openvpn.msi)、两个合法的运行时 DLL(vcruntime140.dll 和 vcruntime140Org.dll)以及一个使用 Rust 编程语言编写的附加恶意 64 位控制台可执行文件,名为“rom” .exe”,这是一个 shellcode 运行程序。然后,安装程序文件执行恶意“rom.exe”文件。
下图显示了 OpenVPN 可执行文件删除的文件。
图 4 – 程序文件中投放的恶意软件 (x86)
当“rom.exe”执行时,恶意软件会使用 Windows API(例如FindResource()、LoadResource()和SizeofResource())来搜索存储在可执行文件资源部分中的加密内容。随后,它解密该内容(即 Shellcode)并继续执行它。下图显示了恶意软件定位并执行Shellcode的情况。
图 5 – 加载和执行 Shellcode 的例程
执行时,Shellcode 通过计算当前代码段的 32 位哈希值并随后将其与代码段的原始 32 位哈希值进行比较来进行反调试检查。此检查旨在检测调试尝试。当使用调试器并添加断点时,调试器会在原始操作码所在的位置插入操作码“0xCC”。对操作码的这种改变破坏了代码部分的原始散列。如果哈希不匹配,Shellcode 将自行终止。下图是hash对比。
图 6 – 反调试的哈希比较
恶意软件执行反调试操作后,利用16字节异或密钥对Shellcode进行二次解密并执行,如下图所示。
图 7 – Shellcode 解密
解密后,它会创建一个新线程,用于生成加密会话密钥。该密钥旨在发送到 C&C 服务器以建立安全通信通道。
为了生成会话密钥,Shellcode 首先使用 API 函数UUIDCreate(),该函数生成 16 字节的 UUID(通用唯一标识符)。然后,该 UUID 将用于创建 AES 加密密钥。下图描述了负责创建此 UUID 的代码。
图 8 – 创建 UUID 代码的例程
生成初始 UUID 后,它会继续创建另一个 UUID。新创建的 UUID 的最后一个字节通常用于生成一个字节,该字节将用于使用基于ROR和ADD的指令计算 32 位哈希。这个过程与反调试操作时shell代码计算hash的过程类似。然后将该哈希值传递给CryptBinaryToStringA() API 函数,以便使用第二个 UUID 生成 Base64 编码数据,如下图所示。
图 9 – 创建哈希值并转换为 Base64 的 Shellcode
Shellcode 使用 Windows 加密 API CryptCreateHash()使用第一个 UUID 生成 MD5 哈希值。随后,Shellcode 继续创建第二个 MD5 哈希值,这次是之前生成的哈希值。下图显示了创建这些哈希值的例程。
图 10 – 创建 MD5 哈希值的例程
生成哈希值后,Shellcode 将继续使用CryptDeriveKey()函数创建 128 位 AES 加密密钥。下图显示了创建此 128 位 AES 密钥所涉及的例程。
图 11 – AES 密钥加密密钥生成
新生成的 AES 密钥用于启用与 C&C 服务器的加密通信。为了与 C&C 服务器建立安全连接,Shellcode 使用套接字。
在密钥初始化之后,Shellcode 启动另一个线程,在该线程中建立套接字连接并验证互联网连接。为了确定互联网的可用性,Shellcode 会评估与预定义网站列表的连接。如果可以访问这些网站中的任何一个,Shellcode 就会继续执行其他操作。下图显示了包含硬编码 URL 的例程。
图 12 – 硬编码 URL
网络通讯
在检查互联网连接后,Shellcode 启动与 C&C 服务器的通信。为了促进这种通信,Shellcode 产生了额外的线程。具体来说,它创建了两个额外的线程,协作管理后门和 C&C 服务器之间交换的命令。
Shellcode 创建一个调度线程来处理工作线程发出的命令。调度线程的功能是利用PeekMessageW() API 创建消息队列。然后,工作线程继续使用PostThreadMessageW() API将消息 ID 与命令缓冲区一起发送到消息队列。
一旦调度线程从工作线程接收到消息,就会在GetMessageW() API 的帮助下检索该消息。
根据接收到的消息的ID,命令处理程序将相应地接收该消息。下图显示了调度线程。
图 13 – Shellcode 调度线程
shellcode 正在与 IP 43.246.209[.]83进行通信,其详细信息如下:
与 C&C 服务器成功建立连接后,攻击者就能够控制受害者的计算机、执行恶意活动并部署其他恶意软件,例如勒索软件等。
CRIL 还注意到另外三个文件与 C&C 服务器进行通信,伪装成 GoogleMeet 和 ZoomInstaller。
结论
出于各种战略原因,TA 经常将其恶意软件有效负载隐藏在正版软件安装程序文件中。这种方法利用了用户对合法软件的信任,增加了用户愿意执行这些文件的可能性 – 相信它们是安全的。此外,正版软件安装程序经常通过广泛认可的渠道分发,从而减少怀疑并增加成功渗透的机会。
在这种情况下,TA 在合法的 OpenVPN 软件应用程序中隐藏了 shellcode 运行程序。分析后的 Shellcode 显示出高度的复杂性,并对毫无戒心的用户构成了重大危险,这主要是因为相关文件拥有有效的数字签名。在撰写本博客时,此属性显着降低了检测到的可能性。
此外,恶意软件操作的手动性质表明,TA 正在仔细选择目标,以进行更精确和具体的操作。鉴于进一步发生此类攻击的可能性,这强调了用户保持警惕的重要性。用户应对未来类似威胁的可能性保持警惕。
恶意安装程序(MD5 SHA1 SHA256)
aec9716853a0814b3bf974314542b999
93a5cb6925e6d7154401142478739bf82f1a7611
2ce87c2719fa5119e6519a1c97b18a4b30ec1ec39167454c94a057831ae3ebcf
ROM程序(MD5 SHA1 SHA256)
fb08395645ba9da02224101ad25e06d3
b620fdd9ae29303d3e6eab359deeec6f09ffb888 d329431aa23dba73214d1c104d01d57653fc59989a915337d1f92e6c7b56ac13
GoogleMeet.exe(MD5 SHA1 SHA256)
d0b94b242e23327e81b5a0b50b4a5171
79d35375f8bfb168c07c7c7fe235dee4e086e6cd ff1221e79f2b3c563ccb8345cf833001a276932b3ec7d10c9f0bc9c362af1a8f
Zoom.exe(MD5 SHA1 SHA256)
1e76771744ba85ae91d35756dd3d5ebd
54228718bddb9c282abbdbf726c99a3da83c5d0d 9c426d8f9cf933ec604757617660b80e6dce884ac13ac29c28f50262f9695795
原文地址:
https://cyble.com/blog/higaisa-apt-resurfaces-via-phishing-website-targeting-chinese-users/
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里
原文始发于微信公众号(Ots安全):Higaisa APT对我国用户的OpenVPN钓鱼网站-死灰复燃