最近,研究人员发现了一款朝鲜黑客组织Lazarus使用的木马化的DeFi应用,其编译时间为2021年11月。该应用包含一个合法的DeFi钱包,用于保存和管理加密货币钱包,但在运行时会注入恶意文件。这个恶意软件是一个功能完备的后门程序。
背景信息显示,研究人员于2021年12月在VirusTotal发现了一份文件,看上去是一个与DeFi相关的合法应用,该文件的编译时间为2021年11月。该应用在运行时会释放一个恶意文件和一个合法应用的安装器。随后,恶意软件会将合法应用覆盖并从磁盘上移除。
初始感染链推测攻击者通过鱼叉式钓鱼邮件引诱用户执行木马化的APP。感染过程始于木马化的应用,安装包伪装成一个DeFi钱包程序,并植入恶意木马。
执行后,恶意软件会获取下一阶段恶意软件路径(C:\ProgramData\Microsoft\GoogleChrome.exe)并进行一字节异或解密。在创建下一阶段恶意软件时,安装器会将包含MZheader的前8个字节写入GoogleChrome.exe文件。然后,恶意软件会加载资源CITRIX_MEETINGS并将其保存到路径C:\ProgramData\Microsoft\CM202025.exe。生成的文件是一个伪装成合法DeFi钱包应用的文件,最后以之前创建的恶意软件文件名生成的恶意软件会伪装成谷歌Chrome浏览器,并在启动后检查是否提供了参数,如果提供了参数,则会覆盖原始的木马化安装器,以达到隐藏已存在的目的。然后,恶意软件会执行一个由开源代码构建的DeFi钱包应用,以欺骗受害者。
随后,恶意软件会初始化配置信息,包括C2服务器地址、受害者ID和时间等。恶意软件可以配置多达5个C2地址,并随机选择一个地址发送beacon信号。如果C2返回预期值,则恶意软件开始进行后门操作。
与C2服务器通信后,恶意软件会使用RC4和硬编码密钥0xD5A3对数据进行加密。然后,恶意软件会生成POS参数,将请求类型(msgID)、受害者ID和随机生成的值组合生成jsessid参数,并使用cookie参数保存4个随机生成的4字节值。这些值也会进行RC4加密并进行base64编码。根据对C2脚本的分析,研究人员发现恶意软件除了使用jsessid参数外,还使用了jcookie参数。
随后的HTTP请求显示,恶意软件尝试使用请求类型60d49d98和随机生成的cookie值连接到C2。
根据C2的响应,恶意软件执行后门任务指令,然后执行不同的功能来收集系统信息和控制受害者机器。
在攻击活动中,Lazarus组织使用了一台被入侵的位于韩国的Web服务器。研究人员从其中一个被黑的服务器中获取了相应的C2脚本,这个脚本是VBScript.EncodeASP文件,非常常见于Lazarus组织的C2脚本。解码后,可以看到错误码60d49d95和成功消息字符串60d49d94。此外,连接历史保存在stlogo.jpg文件中,下一阶段C2地址保存在同一文件夹的globals.jpg文件中。
脚本会检查jcookie参数的值,如果长度大于24个字符,则提取前8个字符作为msgID,并根据msgID的值调用不同的函数。后门命令和执行结果将保存为全局变量。该脚本使用lFlag和lBuffer作为flag和缓存来传递后门和第二阶段C2服务器之间的命令和数据。
经过分析,研究人员认为该恶意软件与Lazarus组织有关,因为它与先前发现的CookieTimecluster非常相似,而CookieTimecluster是Lazarus组织一直使用的恶意软件集合。研究人员发现该恶意软件与CookieTimecluster的后门switch结构完全相同,从客户端提取IP地址的脚本几乎相同,并且保存数据到文件的脚本也非常相似。
以上为网易所报道的内容。