我们发现了一种针对美国一个鲜为人知的与国际权利相关的小型联邦政府委员会的新针对性攻击。尽管我们在几个月内通过多个渠道多次尝试让他们了解并解决此问题,但他们始终没有作出回应。

在最初直接与受影响组织沟通后,他们没有回应、返回通讯或提供任何信息。

推特专用加速器

解决此问题的尝试包括对该组织的多次直接后续联系。我们还使用了其他标准渠道,向受影响的组织和美国政府报告此类安全问题的标准渠道进行报告。

在这些对话和联系中,我们没有收到关于我们报告的问题是否解决的任何后续信息,也没有与我们分享进一步的信息。

由于缺乏明显的行动或回应,我们决定将我们的发现公之于众,以便社区能够意识到这一威胁,并采取措施保护他们的客户和社区。我们不便在此描述受影响的实体的具体名称。

由于他们未与我们进行交流,关于此次攻击的信息非常有限。我们无法针对这次攻击进行归因,也无法评估其影响或持续时间。我们只能描述在攻击中观察到的两个文件。在本博客中,我们将提供对这两个文件的分析。

虽然我们没有有关此攻击影响或攻击者所采取行动的信息,但根据对相关文件的分析,我们认为可以合理地推测,攻击者能够拦截并可能提取该组织的所有本地网络流量。这可能包括与其他美国政府机构及其他关注国际权利的国际政府和非政府组织NGO之间交换的信息。我们也有迹象表明,攻击者能够在受感染系统的操作系统上下文中执行他们选择的代码,从而获得完全控制权。

综合来看,这次攻击可能使攻击者对网络保持完全可见,并对系统完全控制。因此,这可能是对该网络或其他网络更深入渗透的多阶段攻击的第一步。

发现的两个文件概述

第一个文件伪装成 ocidll,并利用 WinDivert一个合法的封包捕获工具来监听所有互联网通信。它允许攻击者在感染的系统上下载和运行任何恶意代码。这个下载工具的主要目的可能是利用特权本地权限来绕过防火墙和网络监控。

第二个文件也伪装成 ocidll,在攻击的后期阶段替代了第一个文件,并且是一个解密器,与 Trend Labs 在 Operation Red Signature 描述的解密器非常相似。在以下文本中,我们将对这两个文件进行分析,描述所用的互联网协议,并演示如何在受感染的机器上执行任何代码。

第一个文件 下载器

我们发现第一个文件伪装成 ocidll“CWindowsSystem32ocidll”,Oracle Call Interface。它包含一个压缩库我们称之为 NTlib。该 ocidll 只导出一个函数 DllRegisterService。该函数检查主机名的 MD5,如果不匹配,它会停止。这使得我们有两个可能性:要么攻击者事先知道目标设备的主机名,或者该文件在安装过程中被编辑,仅在受感染的机器上运行,从而使动态分析变得困难。

我们找到了两个该文件的样本:

SHA256 描述 E964E5C8A9DD307EBB5735406E471E89B0AAA760BA13C4DF1DF8939B2C07CB90 没有存储的哈希,可以在任何 PC 上运行 C1177C33195863339A17EBD61BA5A009343EDB3F3BDDFC00B45C5464E738E0A1 是完全相同的文件,但包含了主机名的哈希

ocidll 然后解压并加载 NTlib,并等待攻击者发送 PE 文件,然后执行它。

NTlib 在 ocidll 和 WinDivert 之间作为一层。

关于 WinDivert 的 文档 描述它为“一个强大的用户模式捕获/嗅探/修改/阻止/重新注入包,适用于 Windows 7、Windows 8 和 Windows 10。WinDivert 可用于实现用户模式的封包过滤器、封包嗅探器、防火墙、NAT、VPN、隧道应用程序等,而无需编写内核模式代码。”

NTlib 使用 WinDivert 的低级 IP 封包导向函数为 TCP 通信创建一个更高级别的接口。NTLib 会检查输入是否在特定位置包含魔法字节 0x20160303,类似于某种身份验证。

NTLib 的导出函数包括:

NTAcceptNTAcceptPWDNTSendNTReceiveNTIsClosedNTCloseNTGetSrcAddrNTGetDscAddrNTGetPwdPacket

导出函数的名称不言而喻。唯一有趣的函数是 NTAcceptPWD,它接收一个激活密钥作为参数,并嗅探所有传入的 TCP 通信,寻找与该激活密钥的通信。这意味着该恶意软件本身并不自己打开任何端口,而是利用系统或其他应用程序打开的端口进行通信。恶意通信并不会重新注入到 Windows 网络堆栈中,因此正在监听该端口的应用程序并不会接收到这些流量,甚至不知道其端口有部分流量被拦截。

ocidll 利用 NTlib 来查找与激活密钥 CB 57 66 F7 43 6E 22 50 93 81 CA 60 5B 98 68 5C 89 66 F1 6B 的通信。当 NTlib 捕获到激活密钥后,ocidll 会响应本地信息Windows GUID、OEM 代码页标识和线程区域,然后等待导出 SetNtApiFunctions 的加密 PE 文件。如果该 PE 文件被正确解密、解压并加载,便调用新获得的函数 SetNtApiFunctions。

协议

如前所述,通信以攻击者通过 TCP 向受感染机器的任何开放端口发送激活密钥 CB 57 66 F7 43 6E 22 50 93 81 CA 60 5B 98 68 5C 89 66 F1 6B 开始。

受感染机器的响应:

消息大小 24值:28[4 B]随机加密密钥 1 [4 B]经过随机加密密钥 1 和预计算密钥加密:0 [4 B]ThreadLocale [4 B]OEMCP 或 0 [4 B]0x20160814测试解密的正确性[4 B]02064000 [每个 4 B]

加密使用的是与预计算的 256 B 密钥的异或密码:

5C434846474C3F284EB64A4343433B4031E546C049584747454956FE4C51B369595AA5DB6DA082696E6C6D72654E74DC706969696166570B6CE66F7E6D6D6B6F7C247277D98F7F80CB0193C6A88F949293988B749A02968F8F8F878C7D31920C95A493939195A24A989DFFB5A5A6F127B9ECCEB5BAB8B9BEB19AC028BCB5B5B5ADB2A357B832BBCAB9B9B7BBC870BEC325DBCBCC174DDF12F4DBE0DEDFE4D7C0E64EE2DBDBDBD3D8C97DDE58E1F0DFDFDDE1EE96E4E94B01F1F23D7305381A010604050AFDE60C7408010101F9FEEFA3047E07160505030714BC0A0F7127171863992B5E40272C2A2B30230C329A2E2727271F2415C92AA42D3C2B2B292D3AE2

该密钥与另一个 4 B 密钥进行异或运算。

在发送上述消息后,受感染机器等待下一个消息,其中包含上述加密的 PE 文件:

消息大小 24 [4 B]随机加密密钥 2 [4 B]经过随机加密密钥 2 和预计算密钥加密:6LZO 等级?[4 B]0 [8 B]0x20160814 [4 B]0x20160814 [4 B]整个消息大小 [4 B]偏移量0[4 B]长度整个消息大小[4 B]经过密钥 0x1415CCE 及预计算的密钥加密:0 [16 B]解压后的 PE 文件长度 [4 B]0 [16 B]解压后的 PE 文件长度 [4 B]0 [16 B]LZO 等级 6 压缩的 PE 文件

加密方式与前一个消息相同。

在我们的研究中,我们未能获取此次攻击中包含的 PE 文件。在我们的分析中,我们通过使用具有以下函数的库演示了代码执行能力:

在一个受控实验室环境中,我们能够通过网络在受感染的机器上启动计算器,使用的 python 脚本可在这里找到 (GitHub 链接)。

Avast 在美国政府委员会网路上发现后门

第二个文件 解密器

我们发现的第二个文件同样伪装成 ocidll。该文件替换了第一个下载器 ocidll,并可能代表同一攻击的后续阶段。该文件的目的是解密并在内存中运行文件 “SecurityHealthServerdll”。

SHA256 6C6B40A0B03011EEF925B5EB2725E0717CA04738A302935EAA6882A240C2229A

我们发现该文件与参与 Operation Red Signature 的 rcview40udll 相似。rcview40udllbcfacc1ad5686aee3a9d8940e46d32af62f8e1cd1631653795778736b67b6d6e是通过被盗证书签名的,并通过一个被黑客入侵的更新服务器分发给特定目标。它解密了名为 rcview40log 的文件,该文件包含 9002 RAT 并在内存中执行它。

此 ocidll 导出与 rcview40udll 相同的函数:

新的 ocidll 使用 RC4 解密 SecurityHealthServerdll,使用字符串 TSMSISRVdll 作为加密密钥。这与我们在 rcview40udll 中看到的情况相似,后者也用 RC4 解密 rcviewlog,使用字符串 kernel32dll 作为加密密钥。

考虑到这个 ocidll 与 rcview40udll 之间的相似性,我们相信攻击者很可能获得了三年前的 rcview40udll 源代码。较新的 ocidll 做了小的修改,比如在新的线程中启动解密的文件,而不是像 rcview40udll 那样进行函数调用。ocidll 还被编译为 x8664 架构,而 rcview40udll 只编译为 x86 架构。

结论

虽然我们仅拥有攻击拼图的部分信息,但我们可以看到,这些系统的攻击者能够以一种使他们能够以操作系统身份运行代码并捕获往来于受感染系统的任何网络流量的方式来破坏网络中的系统。

我们还看到证据表明,此攻击至少以两个阶段进行,如我们所发现和分析的两个不同版本的 ocidll 所示。

第二个版本的 ocidll 与在 Operation Red Signature 中使用的 rcview40udll 存在多处共性,因此我们相信这些攻击者掌握了在该攻击中使用的恶意软件的源代码。

由于受影响的组织未与我们进行互动,我们没有关于此次攻击的更多事实信息。合理推测,某种形式的数据收集和网络流量提取可能发生,但这仍然是经过推测的想法。进一步来说,这可能提供了对网络的全面可见性和对受感染系统的完全控制,因此可以合理推测这可能是对该网络或其他网络更深入渗透的多阶段攻击的第一步,典型的 APT 类型操作。

不过,我们无法确定这次攻击的规模和范围,仅基于我们所看到的情况。缺乏响应的情况是前所未有的,令人担忧。其他专注于国际权利的政府与非政府机构应利用我们提供的 IoC 检查他们的网络,看看他们是否可能受此攻击的影响。

标签:分析、后门、政府、恶意软件

分享:X Facebook

ICQ 在运行近 28 年后将关闭服务

你的 ICQ 号码即将成为过去的回忆。自 2010 年以来负责 ICQ 的俄罗斯公司 VK 宣布,该服务将于 6 月 26 日停止运作。该公司鼓励用户转向其其他聊天解决方案。ICQ 关闭的公告...

订阅邮箱