导语:McAfee Advanced Threat Research分析人员发现了一场全球数据侦察行动GhostSecret,并发现了新的植入程序Proxysvc,这一切都是Hidden Cobra组织所为。
McAfee Advanced Threat Research分析人员发现了一场全球数据侦察行动,该行动袭击了许多行业,包括关键基础设施、娱乐、金融、医疗保健和电信。这个名为GhostSecret的行动利用了与国家资助的网络组织Hidden Cobra相关的多种植入程序、工具和恶意软件变种。其基础设施目前仍然活跃。
我们对此次行动的调查显示,该攻击者使用了多种恶意软件植入程序,其中包括具有类似于Bankshot功能的未知植入程序。从3月18日至26日,我们观察到恶意软件在世界多个地区运行。这个新的变体类似于2014年索尼图片攻击中使用的部分Destover恶意软件。
此外,研究团队发现了Proxysvc,这似乎是一种没有被记录的植入程序。我们还发现了其他的控制服务器,这些控制服务器仍然活跃并且与这些新的植入程序相关联。根据我们对提交的公开和私人信息以及产品遥测的分析结果,似乎Proxysvc与2017年的Destover变体一起使用,并且自2017年年中以来一直未被发现。
GhostSecret背后的攻击者使用类似的基础设施来应对早期的威胁,包括FakeTLS在植入程序中使用的SSL证书,该证书被用于Sony Pictures攻击中使用的名为Escad的Destover后门变种中。根据我们的技术分析、遥测和来自提交的数据,我们可以确定这是Hidden Cobra组织所为。研究团队在2018年3月发现了与此次行动有关的活动,当时攻击的目标是土耳其银行。这些初步发现似乎是GhostSecret操作的第一阶段。有关此威胁的更多信息,请参阅“Global Malware Campaign Pilfers Data from Critical Infrastructure, Entertainment, Finance, Health Care, and Other Industries.”。
一、分析
McAfee Advanced Threat Research团队发现了一种以前未知的数据收集植入程序,该植入程序于2018年2月中旬出现。此植入程序似乎是Hidden Cobra之前创作的植入程序的衍生物,其功能类似于Bankshot,其代码与Hidden Cobra其他植入程序代码重叠。但是,该变体并非基于Bankshot。我们对PE文件rich-header数据的分析表明,这两种植入程序都是在不同的开发环境中编译的。代码和PE文件rich-header表明,Bankshot、Proxysvc和类似Destover的植入程序是不同的系列,但也包含与当前Hidden Cobra工具重叠的代码和函数。
2018年Bankshot的PE rich header
2018年2月新植入程序的PE rich header
Proxysvc.dll的PE rich header
将2018年2月新植入程序的PE头数据与2014年索尼攻击发生前不久的Backdoor.Escad(Destover)变体进行比较时,我们发现签名是相同的。类似于Destover的变体与2015年的变体代码类似,代码相似率83%,并且包含与我们分析的Backdoor.Escad变体相同的PE标头签名。因此,新植入程序可能是Destover的衍生物。我们确定植入程序不是以前知名的Destover样本的直接拷贝;相反,Hidden Cobra使用早期版本中的函数创建了一个新的混合变体。
2014 Backdoor.Escad (hash: 8a7621dba2e88e32c02fe0889d2796a0c7cb5144).
2015 Destover variant (7fe373376e0357624a1d21cd803ce62aa86738b6).
2月份的植入程序fe887fcab66d7d7f79f05e0266c0649f0114ba7c是在编译后两天于2月14日从美国未知的提交者处获得的。该韩语文件使用的控制服务器IP地址203.131.222.83。除了控制服务器地址不同之外,植入程序与2017年未知样品(8f2918c721511536d8c72144eabaf685ddc21a35)几乎相同。 2017年控制地址为14.140.116.172。这两种植入程序都特别使用了FakeTLS和PolarSSL,我们在之前的Hidden Cobra植入程序中看到了这一点。自Sony Pictures事件发生以来,PolarSSL库出现在植入程序中,并专门用于种植Backdoor.Destover。该植入程序包含了一个通过端口443发送流量的自定义控制服务器协议。该实现不通过标准SSL格式化数据包,而是以自定义格式进行格式化并通过SSL进行传输,即FakeTLS。与Backdoor.Escad相比,控制服务器流量几乎相同。
Backdoor.Destover中的TLS
Backdoor.Escad中的TLS
对IP地址14.140.116.172的进一步研究使我们得到了涉及整个基础设施的额外隐藏组件。Proxysvc.dll包含所有位于印度的硬编码IP地址列表,包括前面的地址。除却名称,此组件不是SSL代理,而是一个独特的数据收集和植入程序安装组件,它在端口443上监听入站控制服务器连接。
Proxysvc于3月22日在美国首次由公共和私人来源收集。3月19日从韩国提交该组件的可执行dropper。3月16日至21日的McAfee遥测分析显示Proxysvc在野外活跃。我们的研究表明,这个组件主要出现在高等教育机构。我们怀疑这个组件涉及核心控制服务器基础架构。这些目标是故意选择运行Proxysvc的,因为攻击者需要知道哪些系统受到感染才能连接到它们。这些数据还表明,该基础设施在发现之前已经运行了一年多。Advanced Threat Research团队发现这个组件在11个国家的系统上运行。鉴于Proxysvc的功能有限,它似乎是SSL监听器隐蔽网络的一部分,这些网络允许攻击者收集数据并安装更复杂的植入程序或其他基础设施。SSL监听器支持多个控制服务器连接,而不是硬编码地址列表。通过消除对硬编码IP地址的依赖并仅接受入站连接,控制服务可以保持未知。
3月份运行Proxysvc.dll的受感染系统数量。来源:McAfee高级威胁研究
在3月14日至3月18日期间,类Destover植入程序出现在17个国家的组织中。受影响的组织包括电信,健康,金融,关键基础设施和娱乐等行业。
3月份运行Destover的受感染系统数量。来源:McAfee高级威胁研究
二、控制服务器
对控制服务器基础设施的进一步调查揭示了与2018年2月植入使用的控制服务器203.131.222.83相关的SSL证书d0cb9b2d4809575e1bc1f4657e0eb56f307c7a76。该服务器位于泰国曼谷的Thammasat大学。同样托管Sony Pictures植入程序的控制服务器。自Sony Pictures攻击以来,该SSL证书已用于Hidden Cobra。分析此证书可以揭示其他的控制服务器也使用相同的PolarSSL证书。McAfee遥测数据揭示了几个活跃的IP地址,其中两个IP地址与2018年类Destover的植入程序位于同一网段内。
2018年3月15日至19日,Thammasat大学托管的控制服务器的感染数量。来源:McAfee Advanced Threat Research。
三、植入程序的起源
McAfee Advanced Threat Research确定类Destover的变体源于2015年开发的代码。该代码在2017和2018年出现的变体中再次出现,它们使用几乎相同的函数并对命令进行了一些修改,并且还提供了基于相同开发环境PE头信息。
两种植入(fe887fcab66d7d7f79f05e0266c0649f0114ba7c和8f2918c721511536d8c72144eabaf685ddc21a35)都基于2015年的代码。在比较2015年8月8日编译的7fe373376e0357624a1d21cd803ce62aa86738b6时,我们发现它与2018年的植入程序有83%的相似。关键的异同如下。
相似性
· 两个变体都使用GetProcAddress动态导入API,其中包括用于为任何活动远程会话收集用户名和域名的wtsapi32.dll
· 两个变体都包含基于控制服务器发出的命令ID的各种功能
· 两种恶意软件的常见功能:
· 列出目录中的文件
· 创建任意进程
· 将从控制服务器收到的数据写入磁盘文件
· 收集所有驱动器的信息
· 收集所有进程的运行时间
· 将特定文件的内容发送到控制服务器
· 擦除和删除磁盘上的文件
· 设置植入程序的当前工作目录
· 将磁盘空间信息发送到控制服务器
· 两种变体都使用批处理从系统中删除其二进制文件
· 两种变体都在系统上运行命令,将输出记录到临时文件,并将文件内容发送到其控制服务器
差异性
2018年植入程序中移除的功能:
· 以特定用户的身份创建流程
· 终止一个特定的过程
· 删除特定文件
· 为特定文件设置文件时间
· 获取当前系统时间并将其发送到控制服务器
· 读取磁盘上文件的内容。如果指定的文件路径是目录,则列出目录的内容。
· 在文件上设置属性
2015年植入程序中不包含必须连接的IP地址的硬编码值。相反,它包含由connect()API用于指定端口443和控制服务器IP地址的硬编码sockaddr_in数据结构(位于二进制结束前的0x270个字节处):
· 193.248.247.59
· 196.4.67.45
这两个控制服务器都使用PolarSSL证书d0cb9b2d4809575e1bc1f4657e0eb56f307c7a76。
四、Proxysvc
乍一看,SSL监听器Proxysvc看起来像一个代理设置工具(用于执行中间人流量拦截)。但是,对样本进行更仔细的分析表明,这是另一种使用HTTP over SSL从控制服务器接收命令的植入程序。
Proxysvc是一个下载器,其主要功能是在不泄露攻击者控制地址的情况下向端点提供额外的payload。此植入程序包含有限的侦察和后续payload的安装功能。此植入是一个服务DLL,也可以作为独立进程运行。
Proxysvc的 ServiceMain()子函数
植入程序不能连接控制服务器的IP地址或URL。相反,它接受来自控制服务器的命令。植入程序绑定并监听端口443以接收任何传入连接。
Proxysvc 绑定特定端口
Proxysvc接收连接
Proxysvc在接受来自潜在控制服务器的连接时进行有趣的检查。它会检查IP地址列表以确保传入的连接不是来自以下任何地址。如果传入的请求确实来自其中之一,则会提供零响应(ASCII“0”)并关闭连接。
· 121.240.155.74
· 121.240.155.76
· 121.240.155.77
· 121.240.155.78
· 223.30.98.169
· 223.30.98.170
· 14.140.116.172
五、SSL Listener功能
植入程序从控制服务器接收基于HTTP的命令,并从HTTP头解析HTTP Content-Type和Content-Length。如果HTTP内容类型匹配以下值,则植入程序执行由控制服务器指定的命令:
Content-Type:8U7y3Ju387mVp49A
HTTP Content-Type与特定值比较
具有以下功能:
1.将从控制服务器接收到的可执行文件写入临时文件并执行
Proxysvc将二进制文件写入临时文件并执行
2.收集系统信息并将其发送到控制服务器。从终端收集的系统信息包括:
· MAC 地址
· 计算机名
· 产品名称,来自HKLM\Software\Microsoft\Windows NT\CurrentVersion ProductName
· 这些信息被连接成一个格式为“MAC_Address | ComputerName | ProductName”的字符串并发送到控制服务器
· 使用当前的系统时间戳将来自控制服务器的HTTP请求记录到植入程序安装目录中的临时文件prx中
六、分析主植入程序
2018年2月的植入程序具有多种功能,包括数据泄露和在受害者系统上执行任意命令。鉴于植入程序可以从控制服务器获得大量的指令结构,这是一个广泛的数据侦察和泄露框架,表明了其先进性。例如,植入程序可以擦除和删除文件,执行其他的植入程序,从文件中读取数据等。
通过动态加载API执行恶意活动,植入程序开始执行。用于加载API的库包括:
· Kernel32.dll
· Apvapi32.dll
· Oleaut32.dll
· Iphlpapi.dll
· Ws2_32.dll
· Wtsapi32.dll
· Userenv.dll
· Ntdll.dll
动态载入API函数
作为其初始化的一部分,植入程序收集基本系统信息,并使用443端口上的SSL将其发送到硬编码的控制服务器203.131.222.83:
· 系统区域设置中的国家/地区名称
· 操作系统版本
· 处理器描述
· HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 ProcessorNameString处的产品描述
· 计算机名称和网络适配器信息
· 磁盘C:到Z的磁盘空间信息:包括以字节为单位的总空间、可用空间等。
· 当前内存状态,包括以字节为单位的总物理内存、可用内存等。
· 当前远程会话的域名和用户名
Win32 WTS API获取用户名和域名
七、数据侦察
植入程序通过SSL接收编码的命令数据。该数据被解码后,导出正确的命令ID。有效的命令ID位于0和0x1D之间。
Switch 处理命令ID
基于命令ID,植入程序具备以下功能:
· 收集系统信息并将其泄露给控制服务器(与前面介绍的基本数据收集功能相同)
· 获取系统中所有驱动器的卷信息(A:到Z:)并泄露到控制服务器
收集卷信息
· 列出目录中的文件。目录路径由控制服务器指定。
· 读取文件的内容并将其发送到控制服务器
读取文件并发送给服务器
· 将控制服务器发送的数据写入指定的文件
打开文件
将从控制服务器接收的数据写入文件
· 根据控制服务器指定的文件路径创建新进程。
创建进程
· 擦除和删除控制服务器指定的文件
擦除和删除文件
· 使用cmd.exe在系统上执行二进制文件,并将结果记录到临时文件中,然后读取并将记录结果发送到控制服务器。命令行:
cmd.exe /c “<file_path> > %temp%\PM*.tmp 2>&1”
执行命令并将结果写入临时文件
· 获取当前运行的所有进程的信息
获取系统当前所有进程时间
从相关进程中导出用户名和域名
· 使用批处理文件从磁盘删除自己。
自删除的bat
· 将从控制服务器收到的编码数据作为注册表值存储在:
HKLM\Software\Microsoft\Windows\CurrentVersion\TowConfigs Description
· 设置并获取植入程序的当前工作目录
设置和获取工作路径
命令处理程序索引表在植入程序中按以下方式组织:
命令索引表
八、总结
McAfee Advanced Threat研究团队发现了之前未发现的组件,认为它属于Hidden Cobra,该组件继续以全球各地的组织为目标。这些数据收集植入程序复杂性的演变揭示了攻击者继续开发工具的先进能力。我们的调查发现了一个未知的基础设施,这些基础设施与最近在印度的服务器进行的操作相关,该服务器使用先进的植入程序建立隐蔽网络来收集数据并发起进一步的攻击。
McAfee Advanced Threat研究团队将随着调查的进展提供进一步更新。
IoC
IP
· 203.131.222.83
· 14.140.116.172
· 203.131.222.109
Hashes
· fe887fcab66d7d7f79f05e0266c0649f0114ba7c
· 8f2918c721511536d8c72144eabaf685ddc21a35
· 33ffbc8d6850794fa3b7bccb7b1aa1289e6eaa45