研究人员警告:“对受到感染的机器进行实时取证分析可能发现不了任何问题。”
Intezer的安全研究人员Joakim Kennedy和BlackBerry威胁研究与情报团队近日分析了一个不同寻常的Linux 恶意软件,他们表示这个恶意软件与之前见过的大多数恶意软件不一样,它不是一个独立的可执行文件。
这个名为Symbiote的恶意软件而是劫持动态链接器用来加载共享对象库的环境变量(LD_PRELOAD),随后很快感染每一个正在运行的进程。
Intezer/BlackBerry团队在2021年11月就发现了Symbiote,表示该恶意软件似乎是为了攻击拉丁美洲的金融机构而编写的。分析Symbiote恶意软件及其行为后发现,它很可能是在巴西开发出来的。
研究人员在报告中写道:“由于Symbiote感染极其隐蔽,很可能‘未进入公众视野’。我们在研究中还没有找到足够的证据来确定Symbiote是否被用于极具针对性的攻击还是很广泛的攻击。”
研究人员警告,这项研究没有提到最初的感染是如何发生的,不过一旦被感染上,它就“很难被发现”。“对受到感染的机器执行实时取证分析可能发现不了任何问题,因为所有文件、进程和网络组件都被恶意软件隐藏了起来。”
除了使自己不被察觉外,Symbiote的目的是植入后门,以便伺机访问受到感染的机器,从而获取登录信息。它通过挂钩一堆函数和劫持数据来达到这一目的。登录信息在被十六进制编码、分块并伪装成DNS请求加以传输之前存储在本地。
至于它是如何隐藏自己的,BlackBerry和Intezer详细介绍了多种方法:
- 它从正在运行的进程列表中删除某些命名条目
- 从LDD中的共享对象(SO)依赖项列表中删除自己
- 隐藏某些命名文件,不被目录发现
- 拦截并丢弃TCP数据包和UDP数据包
- 阻止某些端口上的某些流量
Symbiote采用的所有隐藏手法
所有这些操作还是与上下文相关的:只有满足某些条件,Symbiote才会采取不同的操作,以确保自己仍然没有被发现。
在宿主上生成根外壳(root shell)
Symbiote企图实现的目的倒不是特别新颖,研究人员提到像Ebury这样的恶意软件也有相似的目的和手法。但分析这两个恶意软件家族的代码后发现了颇有意思的一幕:它们完全不同。
研究人员说:“由于Symbiote和Ebury/Windigo或其他任何已知恶意软件之间没有共享代码,我们可以有把握地得出结论,Symbiote是一种新颖的、从未被发现的Linux恶意软件。”
那么,当Symbiote可能已经深入潜伏时,组织又该如何防止被它感染呢?研究人员有两个建议:首先,密切关注网络遥测数据,并观察异常的DNS 请求。其次,静态链接所有的反病毒(AV)和端点检测与响应(EDR)软件,那样Symbiote无法做到这些软件也发现不了。
最后,有兴趣的读者可以参阅完整报告(https://www.intezer.com/blog/research/new-linux-threat-symbiote/),报告末尾附有大量的攻陷指标(IoC)。