Morphisec威胁实验室发现了一波新的恶意软件攻击,目标是教育部门和游戏社区。安全研究人员Shmuel Uzan表示,这些复杂的恶意软件变种利用Lua(游戏开发中广泛使用的脚本语言)通过GitHub等平台渗透系统。该运动已在全球范围内展开,北美洲、南美洲、欧洲、亚洲和澳大利亚均报告有感染病例。
这种恶意软件的兴起可以归因于它利用了Lua的流行,尤其是在使用Roblox等游戏引擎的学生游戏玩家中。据报道,“搜索游戏作弊的用户最后往往会从GitHub等平台或类似来源下载文件。”攻击者利用这些寻求作弊的用户,在看似无害的下载中嵌入恶意Lua脚本。
恶意软件通常通过ZIP存档传递,其中包含多个组件,包括Lua编译器、Lua DLL文件、模糊的Lua脚本和批处理文件。这些组件一旦安装在受害者的机器上,就会一起执行恶意操作。执行后,Lua脚本与命令与控制(C2)服务器建立通信,发送有关受感染系统的详细信息。
一旦恶意软件处于活动状态,C2服务器将向受感染的计算机提供指令,这些指令分为两种类型的任务:Lua加载任务和任务有效载荷。Lua加载任务保持持久性和隐藏进程,而任务有效载荷则专注于下载其他恶意软件有效载荷或应用新配置。报告解释说,“Lua加载器任务涉及维持持久性或隐藏进程等操作”,而有效载荷的设计目的是扩展恶意软件的能力。
为了逃避检测,Lua脚本使用Prometheus Obfuscator进行了模糊处理,这是一种旨在保护底层代码不受逆向工程影响的工具。这种程度的混淆使得安全研究人员很难分析和理解恶意软件的全部功能。乌赞在报告中指出:“使用普罗米修斯混淆器对脚本进行混淆……使得研究人员分析和理解代码变得更加困难。”
为了阻止研究人员反转或重新格式化代码,该恶意软件采用了一种独特的反反转技术,当试图美化模糊代码时,该技术会触发错误消息。混淆器的功能包括通过检查执行过程中生成的错误消息的行数来检测代码是否被篡改。如果代码已被更改,恶意软件终止,显示一条消息:“检测到篡改!”
除了混淆之外,该恶意软件还利用Lua的ffi(外部函数接口)库直接执行C代码。这种技术允许攻击者调用C函数和使用C数据结构,而不需要编写C包装代码。Lua和C之间的这种集成增强了恶意软件操纵系统级进程和执行更高级攻击的能力。
恶意软件一旦渗入受害者的系统,就会通过创建计划任务和生成随机任务名称来建立持久性。该恶意软件还收集受害者计算机的大量信息,包括用户的GUID、计算机名称、操作系统和网络详细信息。它甚至捕获受损系统的屏幕截图,并将这些数据发送到攻击者的C2服务器。
报告强调,“脚本检索 MachineGuid…并把从计算机收集的数据和截图发送给对手C2。”此级别的数据收集使攻击者能够全面了解受影响的计算机,从而更有效地定制后续攻击。
一旦恶意软件成功收集到所需的数据,C2服务器就会以封锁消息或JSON响应做出响应,该响应将为执行任务或下载额外有效载荷提供进一步的指示。如果服务器响应被阻止,恶意软件会尝试从备份位置(如pastebin.com)检索新地址,确保与攻击者继续通信。
这种恶意软件提供的有效载荷包括Redline Infostealers,这是一种用来从受害者那里获取凭据和敏感信息的恶意软件。报告指出,Redline因其窃取宝贵数据的能力,在网络犯罪领域获得了突出地位,这些数据后来在暗网上出售。乌赞警告说:“从这些攻击中获取的证件被卖给更复杂的组织,用于攻击的后期阶段。”