Winnti:对供应链的攻击-亚洲游戏开发商处在最前沿

这不是攻击者第一次攻击游戏产业,损害开发人员,在游戏的构建环境中添加后门,然后以合法的名义伪装分发恶意软件。 2013年4月,卡巴斯基实验室报告了类似事件。 该攻击归因于一个名为Winnti的网络组织。

最近,ESET专家被对供应链的新攻击所吸引。 两款游戏和一个游戏平台被入侵以引入后门。 这些攻击针对亚洲和游戏行业,而Winnti再次落后于他们。


三箱一箱


尽管恶意软件配置不同,但三个受感染的软件产品包含相同的后门代码,并开始使用相同的机制。 现在,有两种产品没有后门程序,但其中一种仍以木马版本分发-具有讽刺意味的是,此游戏称为Infestation,由泰国公司Extreme Extreme发行。 自2月初以来,我们一直在尝试与开发人员联系,但到目前为止仍无济于事。

我们将分析恶意负载的引入方式,然后详细考虑后门。

有效载荷实施


有效负载代码在木马可执行文件执行期间运行。 在PE入口点之后,立即拦截标准C运行时初始化调用(下图中的__scrt_common_main_seh )以启动恶意有效负载(图2)。 这可能表明攻击者更改了程序集配置,而不是源代码本身。



图1.可执行文件的净入口点



图2.受损可执行文件的入口点

在恢复C运行时初始化代码和后续主机应用程序代码的正常执行之前,添加到可执行文件中的代码将解密并启动RAM中的后门。 内置的有效负载具有特殊的结构,如下图所示,由添加的解压缩代码解释。



图3.嵌入式有效负载结构

它包含RC4密钥(使用0x37加密的XOR),用于解密文件名和嵌入式DLL文件。

恶意负载


实际的恶意有效负载仅包含17 KB的代码和数据。

构型


下图所示的配置数据是由空格分隔的行的列表。



图4.有效负载配置数据

该配置包含四个字段:

  1. 管理C&C服务器的URL。
  2. 变量(t)用于确定超时(以毫秒为单位),然后继续。 等待时间在2/3至5/3 t的范围内随机选择。
  3. 标识广告系列的行。
  4. 可执行文件名称列表,以分号分隔。 如果其中任何一个有效,则后门将停止其执行。

我们确定了有效载荷的五个版本:



在前三个选项中,未重新编译代码,但是在DLL文件本身中编辑了配置数据。 其余内容是字节副本。

C&C基础架构


域名的选择应类似于受感染应用程序的开发人员的站点。 顶级域配置为使用Namecheap服务重定向到相应的合法站点,而子域指向恶意C&C服务器。



在撰写本文时,所有域均不可用,C和C服务器未响应。

研究报告


机器人ID是从计算机的MAC地址生成的。 后门将机器信息(包括用户名,计算机名称,Windows版本和系统语言)传输到C&C服务器,然后等待命令。 使用密钥“ *&b0i0rong2Y7un1 ”使用XOR加密数据,并使用base64进行编码。 从C&C服务器接收的数据使用相同的密钥加密。

队伍


一个简单的后门仅支持攻击者可以使用的四个团队:

DownUrlFile
DownRunUrlFile
RunUrlBinInMem
- UnInstall

球队的名字不言自明。 它们使攻击者可以从给定URL运行其他可执行文件。

也许最后一个命令不太明显。 UnInstall不会从系统中删除恶意软件。 最后,它将被嵌入仍可运行的合法可执行文件中。 该命令不是删除某些内容,而是通过将注册表项的值设置为1来禁用恶意代码:

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\ImageFlag

启动有效负载后,将请求注册表中的值,并且如果指定了执行,将取消执行。 也许攻击者正试图通过避免没有兴趣的受害人回叫来减少C&C服务器的负载。

第二阶段


根据遥测,发送给受害者的第二阶段有效载荷之一是Win64 / Winnti.BN。 据我们所知,该恶意软件的api.goallbandungtravel[.]com是通过HTTPs从api.goallbandungtravel[.]com 。 我们看到它使用以下文件名作为Windows服务和DLL安装在C:\Windows\System32

-cscsrv.dll
-dwmsvc.dll
-iassrv.dll
-mprsvc.dll
-nlasrv.dll
-powfsvc.dll
-racsvc.dll
-slcsvc.dll
-snmpsvc.dll
-sspisvc.dll

我们分析的样本足够大-大约60 MB。 但是,这只是可见性,因为实际的大小或PE文件的大小从63到72 KB(取决于版本)。 许多干净的文件仅被添加到恶意文件中。 这很可能是由重置并安装恶意服务的组件完成的。

启动服务后,它将.mui扩展名添加到其DLL .mui ,并使用RC5对其进行解密。 解密的MUI文件包含偏移量为0的与位置无关的代码。RC5密钥是从硬盘的序列号和“ f@Ukd!rCto R$. ”行f@Ukd!rCto R$. ” 我们无法获取MUI文件或首先安装它们的代码。 因此,恶意服务的确切目的对我们来说是未知的。

最新的恶意软件版本包括使用C&C服务器http://checkin.travelsanignacio[.]com的自动更新机制。 该服务器提供了使用RC5静态密钥加密的MUI文件的最新版本。 在我们的研究过程中,此C&C服务器没有响应。

目标


让我们从那些没有专门针对广告系列的人开始。 在有效负载开始时,恶意软件会检查系统语言是俄语还是中文(请参见下图)。 如果答案是肯定的,该程序将停止工作。 不可能解决此异常-攻击者从根本上对具有这些语言设置的计算机不感兴趣。



图5.在启动有效负载之前检查语言

分布统计


根据遥测,大多数感染发生在亚洲,尤其是泰国。 鉴于受侵害的应用程序仍由开发人员分发,因此该应用程序很受欢迎,如果受害者的数量达到数十万,也就不足为奇了。



结论


供应链攻击很难在用户端检测到。 无法分析所有正在运行的软件以及所有建议的更新。 默认情况下,用户信任开发人员,并假定他们的文件不包含恶意代码。 这可能就是为什么几个网络组织针对软件供应商发起攻击的原因-妥协将允许创建一个僵尸网络,其规模可与特洛伊木马软件的流行程度相提并论。 这种策略有一个缺点-揭露该方案后,攻击者将失去对僵尸网络的控制,用户将能够通过安装下一个更新来清理系统。

Winnti网络小组的动机目前未知。 攻击者可能正在寻求经济利益,或计划将僵尸网络用作较大规模行动的一部分。

ESET产品将威胁检测为Win32 / HackedApp.Winnti.A,Win32 / HackedApp.Winnti.B,有效负载为Win32 / Winnti.AG,第二阶段为Win64 / Winnti.BN。

此处提供了危害指标。

Source: https://habr.com/ru/post/zh-CN443416/


All Articles