SysJoker:通杀Windows、Linux、macOS的后门
2022-1-15 11:45:0 Author: www.4hou.com(查看原文) 阅读量:22 收藏

研究人员发现一款攻击Windows、Linux、macOS平台的后门恶意软件。

2021年12月,Intezer安全研究人员发现一个多平台后门软件,可以攻击Windows、Linux和macOS系统。其中Linux和macOS版本的后门完全没有被VirusTotal 检测到,研究人员将该后门命名为SysJoker。

SysJoker技术分析

SysJoker恶意软件是用C++语言编写的,每个样本都根据要攻击的目标操作系统进行了修改。

攻击Mac M1处理器的SysJoker样本

行为分析

针对这3个不同操作系统的不同版本的SysJoker的行为基本类似。本文对Windows版本的SysJoker行为进行分析:

与Mac和Linux样本不同,Windows版本的SysJoker样本中含有一个第一阶段释放器。释放器是一个DLL文件,该DLL之前就被上传到了VirusTotal平台,被成功检出6次。

释放器会从C2 https[://]github[.]url-mini[.]com/msg.zip处获取压缩的zip SysJoker文件,然后复制到C:\ProgramData\RecoverySystem\recoveryWindows.zip,然后解压并执行。所有以上操作都是PowerShell 命令执行的。进程树和powershell命令如下所示:

进程树和powershell命令

SysJoker运行后,会修改90-120秒之间的一个随机值。然后创建C:\ProgramData\SystemData\ 目录,并将自己复制到该目录,伪装成igfxCUIService.exe。然后,使用Living off the Land  (LOtL)命令收集关于机器的信息。SysJoker使用不同的临时文本文件来记录这些命令执行的结果。然后这些文本文件的内容会被保存在JSON对象中,然后立刻删除这些文件,随后编码并写入一个名为microsoft_Windows.dll的文件。下图是SysJoker将JSON对象植入内存中的过程:

SysJoker 将JSON 对象植入内存

然后会收集MAC地址、用户名、物理媒介序列化和IP地址。SysJoker会在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 中添加记录来实现驻留。在以上每个步骤之间都会加一个随机的休眠时间。进程树和powershell命令如下所示:

进程树和powershell命令

然后,SysJoker就会开始C2通信。

解码和编码方案

SysJoker的二进制文件中含有一个硬编码的XOR key,用于解码和编码二进制文件中的字符串,以及发送和从C2接收到的数据。XOR key是一个RSA公钥,并不用于解码方案中。该XOR key存在于所有的SysJoker版本中:

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkfNl+Se7jm7sGSrSSUpV3HUl3vEwuh+xn4q\BY6aRFL91x0HIgcH2AM2rOlLdoV8v1vtG1oPt9QpC1jSxShnFw8evGrYnqaou7gLsY5J2B06eq5UW7\+OXgb77WNbU90vyUbZAucfzy0eF1HqtBNbkXiQ6SSbquuvFPUepqUEjUSQIDAQAB

解析 C2

为获得可用的C2和开始通信,SysJoker首先解码硬编码的谷歌Drive链接:

用CyberChef解码

Google Drive链接中含有一个明文domain.txt的文本文件,其中含有编码后的C2。文本文件的内容是随着时间变化的,具体是根据当前可用的C2。SysJoker会解码C2,并发送收集到的用户信息到C2的/api/attach目录。C2会返回一个唯一的token用作恶意软件与C2通信的标识符。

C2指令

SysJoker会运行一个while(1)循环,用C2返回的token发送请求到C2的/api/req目录,并使用库中的函数来处理C2响应的JSON。SysJoker ping C2指令的过程如下所示:

步骤

如果服务器响应数据,SysJoker就会分析接收到的payload。SysJoker可以从C2接收以下指令:exe, cmd, remove_reg, exit。

SysJoker与C2的通信如下所示:

remove_reg和exit在当前版本中并未实现。但根据指令的名字研究人员推测是负责对恶意软件的自删除。

Exe:该命令负责释放和运行可执行文件。SysJoker会接收到一个到zip文件的URL,要释放文件的路径目录、提取的可执行文件的文件名。然后下载该文件,并解压和执行。

分析函数的IDA代码段-exe部分

执行后,恶意软件就会向C2的/api/req/res API返回成功或失败的消息。

分析函数的IDA代码段-exe部分,含状态信息

cmd :该命令负责运行命令和上传响应给C2。SysJoker会解码命令,执行、并利用/api/req/res API

上传命令的响应到C2。

分析函数的IDA代码段-cmd命令部分

研究人员在分析过程中发现,目前C2尚未响应下一阶段的指令。

本文翻译自:https://www.intezer.com/blog/malware-analysis/new-backdoor-sysjoker/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/NW68
如有侵权请联系:admin#unsafe.sh