LokiBot是一款可以窃取敏感数据的恶意软件,包括口令、加密货币信息等。之前,研究人员就发现一个利用远程代码执行漏洞来使用Windows Installer服务来传播LokiBot、一个使用ISO镜像的Lokibot变种和一个使用隐写术改善驻留机制的变种。近期,研究人员发现一个伪装成游戏启动器来诱使用户执行的LokiBot。进一步分析表明,该变种的样本使用了一个奇怪的安装程序,其中释放了一个编译的C#代码文件。
而使用“compile after delivery”(交付后编译)检测绕过技术的该变种,之前被机器学习检测平台检测和拦截过。
技术分析
感染是从一个伪装为Epic Games store安装器的文件开始的。该伪造的安装器是使用NSIS安装器认证工具构造的。恶意NSIS Windows安装器使用了Epic Games的logo来诱使用户将其看作一个合法的安装器。
图 1. LokiBot恶意软件安装器使用的文件图标
恶意软件安装器执行后会释放2个文件:受感染机器的%AppData%目录中的一个C#源代码文件和.NET可执行文件。
图 2. 安装器脚本截图
进一步分析.NET可执行文件发现了一个严重混淆的文件,其中含有大量的垃圾代码,作用是使逆向工程变得非常困难。
图 3. 表明释放的.NET可执行文件的函数代码
该.NET可执行文件会读取和编译释放的 C# 代码文件——名字是MAPZNNsaEaUXrxeKm。
图 4. 二进制文件中的垃圾代码(上)表示释放的代码读取和编译的代码(下)
编译 C# 代码文件后,二进制文件会使用InvokeMember函数来调用C# 代码文件中的EventLevel 函数。调用的函数会解密和加载嵌入的加密的汇编代码。
图 5.调用EventLevel()函数的二进制文件的代码
图 6. 表明汇编代码解密过程的代码段
LokiBot 样本的安装路径融合了两种技术来绕过检测:
· 第一,使用C# 源码来绕过防护机制,目标可执行二进制文件
· 此外,使用 C# 源码文件中嵌入的加密的汇编代码形式的混淆文件
感染的最后一阶段是LokiBot payload的执行。在这些活跃的信息窃取器中,对安装和混淆机制的调整表明,LokiBot未来将会继续发展。
本文翻译自:https://blog.trendmicro.com/trendlabs-security-intelligence/lokibot-impersonates-popular-game-launcher-and-drops-compiled-c-code-file/如若转载,请注明原文地址: