俄罗斯黑客组织Gamaredon再出手?利用新型Linux病毒开展间谍活动

俄罗斯黑客组织Gamaredon再出手?利用新型Linux病毒开展间谍活动

众所周知,与Windows病毒相比,Linux病毒是相对少见的,这主要是因为全球的Windows用户要比Linux用户多得多。攻击者为了追求利益最大化,显然会更多地倾向于攻击Windows用户。

然而,随着近年来各种大大小小严重威胁到Linux系统和软件安全的漏洞被披露,一些网络黑客对于攻击Linux用户的热情似乎也因此被点燃了。

其中,最为常见的就是利用受感染的Linux服务器来进行加密货币挖矿,以及通过劫持易受攻击的Linux服务器来创建僵尸网络,用于发起大规模DDoS攻击。

本月初,Intezer Labs的研究人员就发现了一种全新的Linux病毒,虽然目前似乎仍处于开发测试阶段,但它所包含的几个恶意模块已经被证实能够用来监视Linux桌面版用户。

EvilGnome:一种全新的Linux间谍软件

Intezer Labs的研究人员将这种病毒命名为“EvilGnome”,因为它在传播过程中伪装成Gnome插件,Gnome是Linux操作系统上最常用的图形桌面环境之一。

研究人员表示,这个病毒样本是他们在VirusTotal(一个提供免费的可疑文件分析服务的网站)上发现的,包含在源代码中大量的注释、元数据以及尚未完成的键盘记录功能表明,它是一个测试版本。

尽管如此,EvilGnome仍被证实是一种彻彻底底的间谍软件,具备包括桌面截图、文件窃取、从麦克风获取录音以及下载和执行其他模块等多种多样的功能。

疑似与黑客组织Gamaredon存在关联

Gamaredon,是一个据称来自俄罗斯的黑客组织,自2013年以来一直活跃,主要攻击目标是与乌克兰政府存在可能关联的个人。

Gamaredon主要通过发送鱼叉式网络钓鱼电子邮件来分发屏幕截图和文件窃取工具,恶意附件通常是SFX格式的压缩文件。为了保证病毒能够在受感染服务器上长久存活,通常还会利用到计划任务(crontab)程序。

通过调查,研究人员发现EvilGnome幕后操纵者与Gamaredon似乎存在一些比较明显的关联:

关联一:托管服务提供商

EvilGnome幕后操纵者使用的C2服务器被证实早已被Gamaredon组织使用了多年,并仍在继续使用。

更具体地说,反向解析EvilGnome的C2服务器IP地址(195[.]62[.]52[.]101),可以发现两个域名:gamework.ddns.net和workan.ddns.net,而这两个域名都曾被Gamaredon组织使用过。

关联二:基础设施

在调查EvilGnome的C2服务器时,研究人员发现它通过端口3436提供SSH服务。

随后,研究人员检查了三个Gamaredon组织目前正在使用的三台服务器上的3436端口,发现其中一台服务器打开了这个端口,并处于提供SSH服务中:

关联三:工具

如上所述,EvilGnome是一种信息窃取工具,主要通过SFX格式的压缩文件传播,并借助计划任务程序来保证自己在受感染服务器上的存活,这些特征都与Gamaredon组织此前使用过的Windows病毒非常相似。

针对EvilGnome病毒的全面分析

1.通过Makeself SFX压缩文件传播

研究人员表示,攻击者使用Makeself(“makeself.sh”是一个很小的shell脚本,生成的压缩文件能够自动运行)来将EvilGnome压缩成为SFX格式的文件。

可能因为是一个测试版本的缘故,恶意SFX文件居然暴露了压缩日期、开发路径以及工具名称等信息。在下图中我们可以很清楚地看到,恶意SFX文件创建于7月4日星期四。

恶意SFX文件包含有4个文件:

gnome-shell-ext——间谍代理可执行文件gnome-shell-ext.sh——检查gnome-shell-ext是否已经在运行,如果没有,则执行它rtp.dat ——gnome-shell-ext的配置文件setup.sh ——解压缩后由makeself运行的安装脚本

首先, setup.sh会将gnome-shell-ext安装到“ ~/.cache/gnome-software/gnome-shell-extensions/”,以试图伪装成Gnome shell插件(Gnome shell插件允许用户调整Gnome桌面并添加功能,在功能上与浏览器插件类似)。

然后,通过在计划任务中设置每分钟运行一次gnome-shell-ext.sh ,EvilGnome就能够保证自身能够在受感染服务器上长久存活。

最后,gnome-shell-ext.sh的执行将启动主可执行文件gnome-shell-ext。

2.间谍代理

间谍代理是使用C++构建的,在启动时会在新进程中运行。然后,它将读取rtp.dat 配置文件,并将其直接加载到内存中:

研究人员表示,rtp.dat暴露了大量有关EvilGnome幕后操纵者的信息,如下图所示:

比如,前四个字节就是十六进制形式的C2服务器IP地址:

0x65343ec3 -> 0xc3.0x3e.0x34.0x65 -> 195[.]62[.]52[.]101

3.模块

间谍代理包含了5个以“Shooter”开头命名的模块:

ShooterAudio——从麦克风获取录音并上传到C2 服务器ShooterImage ——桌面截图并上传到C2 服务器ShooterFile——扫描文件系统以查找新创建的文件并将其上传到C2 服务器ShooterPing——从C2服务器接收新命令ShooterKey ——尚未实现或未启用,很可能是尚未完成的键盘记录模块

每个模块都在一个单独的线程中运行,并使用密钥“sdg62_AS.sa$die3”来加密它们的输出,以及使用RC5库来解密来自C2服务器的数据。

如果没有能够与C2服务器建立起连接,或者C2服务器指示,这些模块则会将其输出存储在“~/.cache/gnome-software/gnome-shell-extensions/tmp/”:

EvilGnome该如何检测?

想要验证自己的Linux服务器是否已经遭到了EvilGnome的感染,我们建议用户检查“~/.cache/gnome-software/gnome-shell-extensions”目录中是否存在“gnome-shell-ext”可执行文件。如果存在,则说明已经中招了。

此外,基于对EvilGnome源代码的研究,Intezer Labs的研究人员还创建了一段自定义YARA规则,可以用来检测今后可能出现的EvilGnome的变种。