游戏中,“Triple Kill通常意思是三杀,即玩家在短时间内连续消灭 3 敌人的游戏表现。
最近,网络安全公司 Intezer 发现的后门恶意软件也实现了Triple Kill同时攻击 Windows、macOS 和 Linux 三个操作系统,几乎所有恶意软件扫描引擎都检测不到。
安然无恙地藏了半年
Intezer 将后门恶意软件命名为 SysJoker,由 C 写作,2021年 12 月在一家教育机构基于 Linux 的 Web 第一次在服务器上主动攻击—根据在线查毒网站 VirusTotal 发现的 C2(即 Command and Control,域名注册及样本,命令及控制,Intezer 2021年下半年, SysJoker 发起攻击,但一直藏得很好。
不仅 Linux,Intezer 发现 SysJoker 还有 Mach-O 和 Windows PE 版本,甚至每个版本都为特定的操作系统量身定制VirusTotal 上经 57 个不同反病毒扫描引擎检测都没有发现它的存在。
对此,Intezer 将 SysJoker 定义为针对 Windows、macOS 和 Linux 新多平台后门。
秘密入侵过程
据分析,SysJoker 入侵三大系统采用套路,为方便详细说明恶意软件的入侵过程,Intezer 以 Windows 为例。
首先,为了获得用户信任,SysJoker 将伪装成系统更新的一部分。SysJoker 程序执行后,会随机休眠 90-120 秒,然后创建 C:\ProgramData\SystemData\ 目录,然后复制到目录,伪装成 igfxCUIService.exe,即英特尔图形通用用户界面服务。
然后,SysJoker 将通过离地攻击(Living off the Land,即LOtL)来收集 MAC 地址、用户名、物理序列号和 IP 地址和其他设备信息,并使用不同的临时文本文件记录命令结果。使命完成后,将立即删除并存储在 中JSON 在对象中,编码并写入 microsoft_windows.dll 文件中。
SysJoker 建在内存中JSON 对象
为确保恶意行为持续,SysJoker 还会向注册表添加键值 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run。不仅如此,SysJoker 反侦察意识也很强-上述步骤之间,SysJoker 会随机休眠一段时间,防止被发现。
上述工作完成后,SysJoker 会开始建立 C2 通信在 通过解码托管Google Drive 在文本文件中检索到的字符串生成 C2。Google Drive 链接托管叫 domain.txt 文本文件包含一个代码 C2,SysJoker 将使用 CyberChef 解码 C2,并将收集到的用户信息发送到 C2 的 /api/attach 目录是第一次握手。
(详见:https://www.intezer.com/blog/malware-analysis/new-backdoor-sysjoker/)
据 Intezer 研究人员发现,C2 改变 3 次,这意味着攻击者处于活动状态,正在监视感染设备。
入侵完成后,SysJoker 可以从 C2 中接收包括 exe、cmd、 remove_reg 和 exit 可执行文件(Intezer 补充道未能在当前版本中实现 remove_reg 和 exit。根据指令名称,Intezer 推测 remove_reg 和 exit 恶意软件的自删除应负责)。
SysJoker 与 C2 通信过程
最后,通过对 SysJoker 各种细节分析,Intezer 发现恶意软件不寻常:
代码是从头开始编写的,这在其他攻击中从未见过。最重要的是,在实时攻击中,很少有以前从未发现过的 Linux 恶意软件。
攻击者注册了至少4个不同的域,并从零开始为三个不同的操作系统编写恶意软件。
在整个分析过程中,没有发现攻击者发送的第二阶段命令,这表明攻击是特定的。
由此,Intezer 推断 SysJoker 背后应该是高级攻击者,根据其功能,未来很可能用于间谍活动、横向移动或勒索软件攻击。
如何检测和解决?
虽然该恶意软件的检测目前还比较艰难,但 Intezer 还是给出了一些有效的检测方法:用内存扫描器检测内存中的 SysJoker 有效载荷,或使用 检测内容EDR 或 SIEM 搜索。
若发现系统已入侵,可执行以下步骤:
1、杀死与 SysJoker 相关流程,删除相关持久机制,以及与 相关的所有流程SysJoker 相关文件;
2、操作内存扫描程序,确保入侵设备安全;
3、调查恶意软件的初始入口点。