朝鲜黑客组织Lazarus使用木马化的DeFi应用程序传播恶意软件。Lazarus是朝鲜知名黑客组织,经济利益是其首要目标,尤其是加密货币相关业务。随着NFT和Defi的不断发展,Lazarus黑客组织在经济领域的攻击目标也在不断演变。近日,研究人员发现了朝鲜黑客组织Lazarus使用的木马化DeFi应用程序,编译于2021年11月。该应用程序包含用于存储和管理加密货币钱包的合法DeFi钱包,并在执行时植入恶意文件。注入的恶意软件是一个功能齐全的后门。背景2021年12月,研究人员发现上传到VirusTotal的恶意文件似乎是与DeFi相关的合法应用程序。该文件的编译时间为2021年11月。执行时,该应用程序会释放一个恶意文件和一个合法应用程序安装程序。然后,恶意软件会使用木马化应用程序覆盖合法应用程序。最后,木马化的应用程序从磁盘中删除。图1感染时间线初始感染链研究人员怀疑攻击者通过鱼叉式钓鱼邮件诱使用户执行木马化应用程序。感染过程从木马化应用程序开始。安装包伪装成DeFi钱包程序,但内含恶意木马。执行后得到下一阶段的恶意软件路径(C:\ProgramData\Microsoft\GoogleChrome.exe),并用一个字节异或解密。在下一阶段恶意软件的创建过程中,安装程序将包含MZ标头的前8个字节写入GoogleChrome.exe文件。然后恶意软件从正文中加载资源CITRIX_MEETINGS并将其保存到路径C:\ProgramData\Microsoft\CM202025.exe。生成的文件是合法的DeFi钱包应用程序。最后,以之前创建的恶意软件文件名作为参数执行:C:\ProgramData\Microsoft\GoogleChrome.exe[当前文件名]图2恶意软件创建过程后门创建最终生成的恶意软件是一个浏览器伪装成谷歌浏览器木马化应用程序。启动后,恶意软件会检查是否提供参数,然后尝试将合法文件applicationC:\ProgramData\Microsoft\CM202025.exe复制到命令行参数中的路径,即覆盖原木马安装程序,然后隐藏存在目的。然后,恶意软件会执行合法文件,通过向用户显示合法安装过程来欺骗受害者。用户执行新安装的程序后,会显示一个使用开源代码构建的DeFi钱包应用。图3应用程序截图然后,恶意软件开始初始化配置信息,包括C2服务器地址、受害者id值、时间等。从配置结构来看,恶意软件可以配置5个C2地址。然后随机选择一个C2地址发送beacon信号。如果C2返回预期值,则恶意软件开始后门。在与C2通信后,恶意软件通过预定义的方法对数据进行加密。使用RC4和硬编码密钥0xD5A3实现加密。然后,恶意软件会生成带有硬编码名称的POS参数。结合请求类型(msgID)、受害者ID和随机生成的值生成jsessid参数。另外,使用cookie参数保存了4个随机生成的4字节值。这些值也是用RC4加密和base64编码的。基于对C2脚本的分析,研究人员发现该恶意软件不仅使用了jsessid参数,还使用了jcookie参数。图4jsessid参数结构后续的HTTP请求表明恶意软件尝试连接到C2,请求类型为60d49d98并随机生成cookie值。根据C2的响应,恶意软件执行命令的后门任务。然后它执行不同的功能来收集系统信息并控制受害机器。基础设施在攻击期间,Lazarus组织使用了位于韩国的受损Web服务器。研究人员从其中一台被黑的服务器上获取到对应的C2脚本,如下:http://bn-cosmo[.]com/customer/board_replay[.]asp该脚本是一个VBScript.EncodeASP文件,这个很常见用于Lazarus组织的C2脚本。解码后可以看到错误码60d49d95,字符串60d49d94是成功信息。另外,连接历史保存在stlogo.jpg文件中,下一阶段的C2地址保存在同一文件夹下的globals.jpg文件中。图5C2脚本配置脚本会检查jcookie参数的值,如果长度大于24个字符,会建议前8个字符为msgID。然后根据msgID的值,调用不同的函数。后门命令和命令执行结果将保存为全局变量。该脚本使用以下变量作为标志和缓存,在后门和第二阶段C2服务器之间传输数据和命令:lFlag:表示有数据要传递给后门flaglBuffer:保存要发送数据的缓存thebackdoorlatertFlag:表示后门响应的flagBuffer:保存后门数据的缓存,与Lazarus有关。经过分析,研究人员认为该恶意软件与Lazarus组织有关,因为该恶意软件与之前发现的CookieTime集群非常相似。CookieTime集群是Lazarus组织一直在使用的恶意软件集合。研究人员发现,该恶意软件与CookieTime集群后门开关具有相同的结构,从客户端提取IP地址的脚本几乎相同,将数据保存到文件的脚本也非常相似。图6相同的后门开关结构图7几乎相同的提取IP地址的脚本图8将数据保存到文件的类似脚本
