SysJoker:通杀Windows、Linux、macOS的后门 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

SysJoker:通杀Windows、Linux、macOS的后门

ang010ela 事件 2022-01-15 11:45:00
718334
收藏

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

研究人员发现一款攻击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/如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务