这不是攻击者第一次攻击游戏产业,损害开发人员,在游戏的构建环境中添加后门,然后以合法的名义伪装分发恶意软件。 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.有效负载配置数据该配置包含四个字段:
- 管理C&C服务器的URL。
- 变量(t)用于确定超时(以毫秒为单位),然后继续。 等待时间在2/3至5/3 t的范围内随机选择。
- 标识广告系列的行。
- 可执行文件名称列表,以分号分隔。 如果其中任何一个有效,则后门将停止其执行。
我们确定了有效载荷的五个版本:

在前三个选项中,未重新编译代码,但是在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。
此处提供了危害指标。