能同时攻击Windows、Mac、Linux三大操作系统的恶意软件出现了。
虽然“全平台通杀”病毒并不常见,但是安全公司Intezer的研究人员发现,有家教育公司在上个月中了招。
更可怕的是,他们通过分析域名和病毒库发现,这个恶意软件已经存在半年之久,只是直到最近才被检测到。
他们把这个恶意软件命名为SysJoker。
SysJoker核心部分是后缀名为“.ts”的TypeScript文件,一旦感染就能被远程控制,方便黑客进一步后续攻击,比如植入勒索病毒。
SysJoker用C++编写,每个变体都是为目标操作系统量身定制,之前在57个不同反病毒检测引擎上都未被检测到。
那么SysJoker到底是如何通杀三大系统的?
SysJoker在三种操作系统中的行为类似,下面将以Windows为例展示SysJoker的行为。
首先,SysJoker会伪装成系统更新。
一旦用户将其误认为更新文件开始运行,它就会随机睡眠90到120秒,然后在C:\ProgramData\SystemData\目录下复制自己,并改名为igfxCUIService.exe,伪装成英特尔图形通用用户界面服务。
接下来,它使用Live off the Land(LOtL)命令收集有关机器的信息,包括MAC地址、用户名、物理媒体序列号和IP地址等。
SysJoker使用不同的临时文本文件来记录命令的结果。这些文本文件会立即删除,存储在JSON对象中,然后编码并写入名为microsoft_windows.dll的文件。
此外,SysJoker收集之后软件向注册表添加键值HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run保证其持久存在。
在上述每个步骤之间,恶意软件都会随机睡眠,防止被检测到。
接下来,SysJoker将开始建立远程控制(C2)通信。
方式是通过下载从Google Drive托管的文本文件,来生成远程控制。
Google Drive链接指向一个名为“domain.txt”的文本文件,这是以编码形式保存的远程控制文件。
在Windows系统上,一旦感染完成,SysJoker就可以远程运行包括“exe”、“cmd”、“remove_reg”在内的可执行文件。
而且研究人员在分析期间发现,以上服务器地址更改了三次,表明攻击者处于活动状态,并监控了受感染的机器。
尽管SysJoker现在被杀毒软件检测出的概率很低,但发现它的Intezer公司还是提供了一些检测方法。
用户可以使用内存扫描工具检测内存中的SysJoker有效负载,或者使用检测内容在EDR或SIEM中搜索。具体操作方法可以参见Intezer网站。
已经感染的用户也不要害怕,Intezer也提供了手动杀死SysJoker的方法。
用户可以杀死与SysJoker相关的进程,删除相关的注册表键值和与SysJoker相关的所有文件。
Linux和Mac的感染路径不同,用户可以在Intezer查询到这些参数,分析自己的电脑是否被感染。