2021 年 5 月 25 日,Volexity 发现了一项针对位于美国和欧洲的多个组织的网络钓鱼活动。迄今为止,已观察到以下行业成为目标:
非政府组织
研究机构
政府机构
国际机构
该活动的网络钓鱼电子邮件声称来自美国国际开发署政府机构,其中包含一个导致 ISO 文件被传送的恶意链接。该文件包含一个恶意 LNK 文件、一个恶意 DLL 文件,以及一个引用外国对 2020 年美国联邦选举的威胁的合法诱饵。
这篇博文提供了有关观察到的活动的详细信息,并概述了该活动可能与 APT29 相关的可能理由。
网络钓鱼电子邮件活动
原始电子邮件如下所示:
Volexity 还观察到几个小时前来自同一发件人的较小规模的活动,其内容大致相同,但主题是“美国国际开发署特别警报!”。电子邮件中的大多数超链接采用以下格式。
https://r20.rs6.net/tn.jsp?f=001R6x5duwxLa513iT3wolVtyZj3Ojypr9nwPwZKB3X68SGRFzUVNUR4MdENUXj_c4poo1hx_rFF79P1NsazE-FONIrA9G0ypkCwKTRfL95fp3xUyuceYYrPAtcDp20R1wmw-XZ197ks1FH22V3BIcZYlAfIHdUZQ3M&c=[随机数据]&ch=[随机数据]&__=[受害者邮箱账号]
尽管每个链接在给定的电子邮件中是一致的,但电子邮件的各个部分却有所不同。
Constant Contact 电子邮件营销软件使用“rs6.net”域来跟踪链接的点击率,这意味着攻击者应该能够映射其活动的成功。在 USAID 网站的时事通讯页面上,他们的注册链接是通过 Constant Contact。由于使用该软件,攻击者能够生成更有说服力的鱼叉式网络钓鱼电子邮件。此外,该电子邮件似乎来自美国国际开发署;然而,该组织的新闻相关电子邮件传统上是通过press@usaid.gov电子邮件地址发送的。
当收件人单击上面引用的常量联系人 URL 时,他们的网络请求将被重定向到以下 URL:
https://usaid.theyardservice.com/d/[受害者邮箱]
此网络请求将启动将恶意 ISO 文件“ICA-declass.iso”下载到受害者系统的过程。相同的文件会传送给每个用户,而不管他们的电子邮件或引用 URL。
交付的恶意软件
有问题的恶意软件以ISO文件的形式提供,该文件充当嵌入式文件的容器。此 ISO 具有以下属性:
SHA1 | bf7b36c521e52093360a4df0dd131703b7b3d648 |
修改日期 | 2021:05:25 13:37:24-04:00 |
卷名 | ICA_DECLASS |
ISO 文件类似于压缩包,可以包含多个嵌入文件。一段时间以来,它们作为 ZIP 和 RAR 文件的替代品一直受到犯罪威胁者的欢迎。ISO 中存在以下文件:
文件名 | SHA1 哈希 |
ICA-declass.pdf | 738c20a2cc825ae51b2a2f786248f850c8bab6f5 |
Reports.lnk | 1cb1c2cd9f59d4e83eb3c950473a772406ec6f1a |
Documents.dll | 1fb12e923bdb71a1f34e98576b780ab2840ba22e |
PDF 文件似乎是直接从dni.gov 网站上提取的,并充当诱饵;其内容如图2所示。
如果用户打开了嵌入式LNK文件,它将运行Document.dll文件并使用其导出的功能“Open”。
应该注意的是,几乎所有来自 LNK 文件的元数据都已被删除。通常,LNK 文件包含创建、修改和访问的时间戳,以及有关创建它们的设备的信息。
ISO 中包含的 DLL 具有以下属性:
SHA1 哈希 | 1fb12e923bdb71a1f34e98576b780ab2840ba22e |
文件名 | Document.dll |
编译时间戳 | 2019-04-27 18:24:28 UTC |
文件类型 | PE32+ 可执行文件 (DLL) (GUI) x86-64,适用于 MS Windows |
PDB字符串 | C:\Users\dev\Desktop\나타나게하다\Dll6\x64\Release\Dll6.pdb |
虽然 PDB 字符串包含韩语单词“开发”,但 Volexity 不认为讲韩语的黑客或开发人员应对此恶意软件系列负责。相反,Volexity 认为这是一个虚假的标志。此外,2019 年的编译时间戳很可能是伪造的。
根据虚拟机环境中常见的注册表项的存在,DLL 配备了许多反沙盒和反虚拟机检查,如图 4 所示:
通过这些检查后,恶意软件会通过翻转其中的字节顺序来消除对payload的混淆。一旦混淆,有效载荷就会在同一个进程中执行。最终的有效负载是CobaltStrike信标,其中包含以下配置选项:
Beacon类型 | HTTPS |
端口 | 492 |
休眠时间 | 60591 |
最大获取大小 | 1403629 |
Jitter | 37 |
最大DNS | 未找到 |
公钥_MD5 | 2f163ef9db5234bd45b49c41f2dbdb61 |
C2服务器地址 | https://dataplane.theyardservice.com/jquery-3.3.1.min.woff2 https://cdn.theyardservice.com/jquery-3.3.1.min.woff2 https://static.theyardservice.com/jquery-3.3.1.min.woff2 https://worldhomeoutlet.com/jquery-3.3.1.min.woff2 |
用户代理 | 未找到 |
HttpPostUri | /jquery-3.3.2.min.woff2 |
Malleable_C2_Instructions | 从末尾删除 1517 个字节 |
HttpGet_Metadata | 未找到 |
HttpPost_Metadata | 未找到 |
SpawnTo | ‘\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00’ |
管道名称 | 未找到 |
DNS_空闲 | 未找到 |
DNS_Sleep | 未找到 |
SSH_主机 | 未找到 |
SSH_端口 | 未找到 |
SSH_用户名 | 未找到 |
SSH_密码_明文 | 未找到 |
SSH_Password_Pubkey | 未找到 |
SSH_横幅 | 未找到 |
HttpGet_Verb | GET |
HttpPost_Verb | POST |
HttpPostChunk | 0 |
Spawnto_x86 | %windir%\syswow64\dllhost.exe |
Spawnto_x64 | %windir%\sysnative\dllhost.exe |
加密方案 | 0 |
Proxy_Config | 未找到 |
代理_用户 | 未找到 |
Proxy_Password | 未找到 |
Proxy_Behavior | 使用 IE 设置 |
水印 | 1359604927 |
bStageCleanup | True |
bCFGCaution | False |
杀死日期 | 0 |
bProcInject_StartRWX | False |
bProcInject_UseRWX | False |
bProcInject_MinAllocSize | 0 |
ProcInject_PrependAppend_x86 | ‘\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\ xec\x90\xec\x90\xec\x90’ |
ProcInject_PrependAppend_x64 | ‘\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\xec\x90\ xec\x90\xec\x90\xec\x90\xec\x90’ |
ProcInject_Execute | 未找到 |
ProcInject_AllocationMethod | NtMapViewOfSection |
bUsesCookies | Ture |
主机头 | 未找到 |
要删除的标题 | 未找到 |
在成功感染 CobaltStrike 后,Volexity 遇到了攻击者下载的辅助 DLL payload。这个恶意软件家族被 Volexity 命名为“FRESHFIRE”,它使用受感染主机名的特定属性来解密和执行从远程 C2 服务器接收的数据。
此第二阶段 DLL 具有以下属性:
SHA1 哈希 | 38c99e8cd95f28b8d79b758cb940cf139e09f6ae |
文件名 | DbgView.dll |
编译时间戳 | 2021:05:25 9:32:14 UTC |
文件类型 | PE32+ 可执行文件 (DLL)(控制台)x86-64,适用于 MS Windows |
原始文件名 | google.dll |
此 DLL 的导出函数“WaitPrompt”启动恶意行为。
该恶意软件首先尝试打开名为“UlswcXJJWhtHIHrVqWJJ”的互斥锁。
如果系统上已经存在此互斥锁,恶意软件将退出,否则将继续进行。
恶意软件然后查询文件“C:\dell.sdr”的文件属性,并将这些文件属性中的数据附加到上述互斥锁名称中。然后将此组合字符串与 MD5 进行散列并用于生成三重 DES 解密密钥。
然后该示例将时间戳上传到 Firebase并从 Firebase 存储下载 blob。此数据使用生成的密钥进行 base64 解码和解密。然后,数据在单独的线程中执行,并向用于下载有效负载的 Firebase 存储地址发送 HTTP DELETE 请求。
观察到此恶意软件正在使用以下 URL:
refreshauthtoken-default-rtdb.firebaseio.com/root/time/%d/%s.json
refreshauthtoken-default-rtdb.firebaseio.com/root/data/%d/%s.json
Volexity 能够从 Firebase URL 捕获加密的payloads,目前正在对其进行分析。
归因
虽然 Volexity 不能肯定地说这些攻击的幕后黑手是谁,但它确实相信它有一个已知的黑客的专门用途,它在以前的几次场合中都曾处理过。但是,许多攻击属性与 APT29 之前使用的策略一致:
使用包含 LNK的存档文件格式来交付初始有效载荷 (2018)
使用从伪造的美国政府来源地址发送的以美国选举为主题的诱饵文件(2016 年)
将CobaltStrike 与自定义可塑性配置文件一起用作初始有效载荷 (2018)
该活动的性质相对广泛,许多目标同时收到相同的鱼叉式网络钓鱼内容
值得注意的是,在2018年的案例中,FireEye强调了使用相同的MAC地址创建了2016年和2018年观察到的LNK,而本博文中详细介绍的最新LNK清除了此元数据。这也许表明攻击者正在从有关其工作的公开报告中学习。从基础设施的角度来看,所使用的域与 Volexity 报告的 Dark Halo 活动有些相似。在 Dark Halo 的情况下,域名是通过拍卖或市场交易购买的,这意味着它们似乎是很久以前在 WHOIS 记录中创建的。在这些攻击中用于命令和控制的域再次出现这种情况。在 Volexity 发表之后,据称 Dark Halo 活动也是 APT29 的作品;但是,Volexity 目前还没有得出这个结论。
Volexity 不能完全确定这项新活动是 APT29 的工作,但可以适度地相信它是。
结论
Volexity 认为,APT29 威胁行动者可能对针对美国和欧洲众多组织的网络钓鱼活动负责。目前尚不清楚有多少组织成为攻击目标,但 Volexity 的几个客户——以及一些提交给 VirusTotal 的组织——都受到了攻击。
在没有公开详细的鱼叉式网络钓鱼活动的相对较长的中断之后,APT29 似乎已经回归,其历史 TTP 仅略有变化。在这种情况下,攻击者声称来自美国国际开发署,诱使受害者点击嵌入文件以下载并执行恶意 ISO 文件。在这样做时,CobaltStrike Beacon 植入被执行,为攻击者提供远程访问。
在撰写本文时,所有涉及的文件在 VirusTotal 上的静态检测率都相对较低。这表明攻击者可能在突破目标方面取得了一些成功。
鼓励组织采取以下措施来防御这种威胁:
阻止识别为该网络钓鱼活动一部分的以下网络指标:
theyardservice.com
worldhomeoutle.com
83.171.237.173
192.99.221.77
refreshauthtoken-default-rtdb.firebaseio.com
有关可用于阻止的文件哈希列表,请参阅附录
使用附录中提供的 YARA 规则来检测这篇博文中观察到的恶意软件
附录 A – YARA 规则
rule apt_win_flipflop_ldr : APT29
{
meta:
author = "threatintel@volexity.com"
date = "2021-05-25"
description = "A loader for the CobaltStrike malware family, which ultimately takes the first and second bytes of an embedded file, and flips them prior to executing the resulting payload."
hash = "ee42ddacbd202008bcc1312e548e1d9ac670dd3d86c999606a3a01d464a2a330"
strings:
$s1 = "irnjadle"
$s2 = "BADCFEHGJILKNMPORQTSVUXWZY"
$s3 = "iMrcsofo taBesC yrtpgoarhpciP orived r1v0."
condition:
all of ($s*)
}
rule trojan_win_cobaltstrike : Commodity
{
meta:
author = "threatintel@volexity.com"
date = "2021-05-25"
description = "The CobaltStrike malware family."
hash = "b041efb8ba2a88a3d172f480efa098d72eef13e42af6aa5fb838e6ccab5O0a7c"
strings:
$s1 = "%s (admin)" fullword
$s2 = {48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D 0A 43 6F 6E 74 65 6E 74 2D 54 79 70 65 3A 20 61 70 70 6C 69 63 61 74 69 6F 6E 2F 6F 63 74 65 74 2D 73 74 72 65 61 6D 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 74 68 3A 20 25 64 0D 0A 0D 0A 00}
$s3 = "%02d/%02d/%02d %02d:%02d:%02d" fullword
$s4 = "%s as %s\\%s: %d" fullword
$s5 = "%s&%s=%s" fullword
$s6 = "rijndael" fullword
$s7 = "(null)"
condition:
all of them
}
import "pe"
rule apt_win_freshfire : APT29
{
meta:
author = "threatintel@volexity.com"
date = "2021-05-27"
description = "The FRESHFIRE malware family. The malware acts as a downloader, pulling down an encrypted snippet of code from a remote source, executing it, and deleting it from the remote server."
hash = "ad67aaa50fd60d02f1378b4155f69cffa9591eaeb80523489a2355512cc30e8c"
strings:
$uniq1 = "UlswcXJJWhtHIHrVqWJJ"
$uniq2 = "gyibvmt\x00"
$path1 = "root/time/%d/%s.json"
$path2 = "C:\\dell.sdr"
$path3 = "root/data/%d/%s.json"
condition:
(
pe.number_of_exports == 1 and
pe.exports("WaitPrompt")
) or
any of ($uniq*) or
2 of ($path*)
}
附录 B – 文件哈希
文件名: ICA-declass.iso
MD5: 29e2ef8ef5c6ff95e98bff095e63dc05
SHA1: bf7b36c521e52093360a4df0dd131703b7b3d648
SHA256: 94786066a64c0eb260a28a2959fcd31d63d175ade8b05ae682d3f6f9b2a5a916
文件名: Documents.dll
MD5: 1c3b8ae594cb4ce24c2680b47cebf808
SHA1: 1fb12e923bdb71a1f34e98576b780ab2840ba22e
SHA256: ee42ddacbd202008bcc1312e548e1d9ac670dd3d86c999606a3a01d464a2a330
文件名: ICA-declass.pdf
MD5: b40b30329489d342b2aa5ef8309ad388
SHA1: 738c20a2cc825ae51b2a2f786248f850c8bab6f5
SHA256: 7d34f25ad8099bd069c5a04799299f17d127a3866b77ee34ffb59cfd36e29673
文件名: Reports.lnk
MD5: dcfd60883c73c3d92fceb6ac910d5b80
SHA1: 1cb1c2cd9f59d4e83eb3c950473a772406ec6f1a
SHA256: 48b5fb3fa3ea67c2bc0086c41ec755c39d748a7100d71b81f618e82bf1c479f0
文件名: DbgView.dll
MD5: cca50cd497970977a5e880f2e921db72
SHA1: 38c99e8cd95f28b8d79b758cb940cf139e09f6ae
SHA256: ad67aaa50fd60d02f1378b4155f69cffa9591eaeb80523489a2355512cc30e8c
参考链接:
https://www.volexity.com/blog/2021/05/27/suspected-apt29-operation-launches-election-fraud-themed-phishing-campaigns/