Kobalos:专门攻击超级计算机的Linux恶意软件

安全 应用安全
近日,ESET研究人员发现了一个专门攻击超级计算机的恶意软件——Kobalos,该恶意软件2019年以来一直在攻击全球各地的超级计算机——高性能计算机(HPC)集群。

[[380722]]

近日,ESET研究人员发现了一个专门攻击超级计算机的恶意软件——Kobalos,该恶意软件2019年以来一直在攻击全球各地的超级计算机——高性能计算机(HPC)集群,目标包括亚洲的大型互联网ISP、欧洲大学高性能计算网络、北美终端安全厂商、私有服务器和政府机构。

研究者指出,Kobalos是一个很“小巧”但很复杂的程序,可以在其他UNIX平台(FreeBSD、Solaris)上执行。在分析过程中发现AIX和Windows操作系统也可能存在Kobalos的变体。

过去的一年中发生了多起涉及HPC集群的安全事件,其中最受媒体关注的莫过于去年5月安全牛报道过的席卷全球的超级计算机感染门罗币挖矿软件事件,根据欧洲网格基础设施(EGI)CSIRT公布的报告,包括波兰、加拿大、德国、西班牙和中国的多个超算重心都受到了影响。同样在5月,英国ARCHER超级计算机被入侵窃取SSH凭证。

与已经报告的超级计算机网络的攻击事件不同,被感染系统的管理员没有发现Kobalos有任何尝试挖掘加密货币或运行计算量大的任务的尝试。

事实上,最新曝光的Kobalos恶意软件比去年的其他重大超算中心安全事件发生得更早(始于2019年)。

“人小鬼大”

ESET在周二发布的一份分析报告中表示,研究人员之所以用Kobalos命名该恶意软件,是因为“其代码量虽小但高度复杂,包含很多高级技巧”。Kobalos的名字源于希腊神话。Kobalos是狄俄尼索斯(Dionysus)的同伴,狄俄尼索斯是一堆调皮的精灵,以欺骗和恫吓凡人而闻名。

“我们之所以称这种恶意软件为Kobalos,是因为它的代码量很小且有许多技巧。”调查该恶意软件的Marc-EtienneLéveillé解释说:“必须承认,这种复杂程度在Linux恶意软件中很少见。”

Kobalos的32/64位样本的大小只有24KB,但是采用了高度定制化的混淆和检测逃避技术,此外在小小“身躯”中整合了很多其他功能,例如,由于C2服务器IP地址和端口被硬编码到可执行文件中,恶意软件操作员只需要发送一条命令,就可以把任何感染Kobalos的服务器变为C2服务器。

此外,Kobalos还可以用作连接其他受感染服务器的代理,这意味着攻击者可以利用多台感染Kobalos的机器来达到目的。

如上所述攻击者,可通过三种方式与后门和被感染机器互动(直接、通过代理和C2服务器):

Kobalos还有一个“出彩”的功能是:根据分析,Kobalos代码紧密绑定在一个函数中,该函数采用非线性控制流程“递归调用自身以执行多达37个子任务”,其中一个子任务是将所有被感染机器变成C2服务器。

这种紧凑的体系结构与其他恶意软件特性相结合,使其难以被分析和发现。

报告还指出,所有字符串均已加密,“因此,与静态查看样本相比,查找恶意代码更加困难”。操作后门需要一个私有的512位RSA密钥和一个32字节长的密码。一旦两个都通过验证,Kobalos将使用RSA-512公共密钥生成并加密两个16字节密钥,并将其发送给攻击者。这两个密钥用于RC4加密后续的入站和出站流量。

最后,ESET研究人员对这种小而复杂的恶意软件进行了反向工程,发现它可移植到许多操作系统(包括Linux、BSD、Solaris,甚至可能是AIX和Windows)中。

种种迹象表明,Kobalos背后的攻击者“知识渊博,显然是个高级攻击者”。

窃取SSH凭据

Kobalos后门程序包含广泛的指令,且没有特定的有效载荷,因此无法确定攻击者的真实意图。

但是,在大多数感染Kobalos的系统中,用于安全通信(SSH)的客户端被窃取了凭据。

研究者在调查中发现了不同的账户窃取程序变体,包括Linux和FreeBSD实例。所有变体的主要功能包括从受感染的主机窃取用于建立SSH连接的主机名、端口、用户名和密码,这些主机名、端口、用户名和密码均保存在加密文件中。

“找到的所有样本都使用相同的简单密码来存储文件的内容。它只会在要保存的每个字节数据中加上123。对于FreeBSD版本,将使用相同的格式和密码。但是,在实现上还存在一些细微的差异,例如使用单字节XOR加密恶意软件中的文件路径。”研究人员解释说。

根据变体的不同,保存被盗的SSH凭据的文件位置也会有所不同,但是所有示例都会在/var/run下创建一个看起来合法的“.pid”扩展名的文件。

较新版本的凭证窃取器包含加密的配置,并添加了通过UDP将凭证泄漏到配置中指定的远程主机的功能。

“使用受感染计算机的SSH客户端的任何人的凭据都会被窃取。然后,攻击者可以使用这些凭据在新发现的服务器上安装Kobalos。”Léveillé补充说。

这也可以解释为什么许多学术网络在这次攻击中遭到破坏,因为超算系统的SSH客户端往往被来自多所大学的学生或研究人员使用。

威胁缓解

连接到SSH服务器时启用双因素身份验证可以缓解威胁,因为使用被盗凭据似乎是Kobalos传播到不同系统的主要方法。

对Kobalos的检测并不困难,可以通过在归属于SSH服务器的端口上查找非SSH流量来检测Kobalos。

参考资料:

ESET的白皮书中提供了有关Kobalos恶意软件IoC和YARA规则的更多技术详细信息:

​https://www.welivesecurity.com/wp-content/uploads/2021/01/ESET_Kobalos.pdf​

【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】

​戳这里,看该作者更多好文​

 

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2021-02-07 20:53:18

后门程序恶意软件Linux

2021-02-04 09:09:40

恶意软件超级计算机端点安全

2013-06-21 09:32:52

Linux超级计算机

2010-07-15 14:15:58

最强Linux超级计算

2012-12-16 15:26:49

超级计算机LinuxHPC

2020-05-19 10:49:10

网络安全恶意软件技术

2020-05-19 16:51:54

黑客攻击超级计算机

2020-05-26 09:35:40

攻击加密货币黑客

2012-11-12 13:46:56

手机超级计算机

2015-05-04 10:24:01

2020-05-18 11:43:24

恶意软件加密货币攻击

2023-03-02 07:49:38

2012-02-29 10:02:59

IBM量子计算机超级计算机

2011-02-16 09:06:51

SUSE LinuxIBMWatson

2022-02-15 14:01:01

勒索软件加密货币Linux

2011-12-28 13:30:36

云计算Amazon超级计算机

2013-04-01 10:51:02

2011-11-17 13:28:35

云计算超级计算机

2023-08-18 10:14:27

2009-06-27 21:43:57

Linux操作系统
点赞
收藏

51CTO技术栈公众号