在过去的几年间,Linux 系统已成为各路威胁分子眼里越来越明显的目标。据我们观察,2023 年上半年出现了 260000 个独特的 Linux 样本,正如本文表明的那样,攻击 Linux 的活动可以持续多年,而不被网络安全界注意。
我们决定调查一组可疑 3950947b0f.u.fdmpkg [.] org
- c6d76b1748b67fbc21ab493281dd1c7a558e3047.u.fdmpkg[.]org
- 0727 年 bedf5c1f85f58337798a63812aa986448473.u.fdmpkg [.] org
- c3a05f0dac05669765800471abc1fdaba15e3360.u.fdmpkg[.]org
在安全研究人员看来,这些域名看起来令人担忧,因为它们可能表明恶意软件使用域名生成算法进行 C2 通信。于是,我们决定仔细研究 fdmpkg [.] org 域名。
一个恶意的 Debian 代码库
我们发现有问题的域名有一个 deb.fdmpkg [.] org 子域名。在浏览器中输入该子域名,可显示以下网页:
图 1
正如页面所示,这个子域名声称托管 “Free Download Manager”(免费下载管理器)这款软件的 Debian 代码库。我们进一步分析后发现,这个软件的 Debian 软件包可以从 https://deb.fdmpkg [.] org/freedownloadmanager.deb URL 下载。该软件包其实含有在安装时执行的受感染的 postinst 脚本。该脚本将两个 ELF 文件投放到路径 /var/tmp/crond 和 /var/tmp/bs 下。然后,它通过创建一个 cron 任务(存储在 /etc/cron.d/collect 文件中)来建立持久性,该任务每 10 分钟启动 /var/tmp/crond 文件。
受感染软件包安装的免费下载管理器版本于 2020 年 1 月 24 日发布。与此同时,postinst 脚本含有俄语和乌克兰语评论,包括有关恶意软件改进的信息以及黑客活动分子的声明,提到了日期 20200126(2020 年 1 月 26 日)和 20200127(2020 年 1 月 27 日)。
图 2
基于 DNS 的后门
一旦安装了恶意软件包,可执行文件 /var/tmp/crond 在每次启动时都会通过 cron 运行。这个可执行文件是一个后门,并不从外部库导入任何函数。为了访问 Linux API,它在静态链接 dietlibc 库的帮助下激活系统调用。
一旦启动,该后门向域名发出 type A DNS 请求。作为对该请求的响应,后门接收两个 IP 地址,它们编码辅助 C2 服务器的地址和端口。我们研究时返回了以下地址:
- 172.111.48[.]101
- 172.1.0[.]80
上面列表中的第一个 IP 地址是辅助 C2 服务器的地址,而第二个地址含有连接端口(编码在第三和第四个八位字节中)以及连接类型(编码在第二个八位字节中)。
解析 DNS 请求的响应后,后门启动反向 shell,使用辅助 C2 服务器进行通信。通信协议是 SSL 或 TCP,具体取决于连接类型。以 SSL 为例,crond 后门启动 /var/tmp/bs 可执行文件,并将所有进一步的通信委托给它。否则,反向 shell 则由 crond 后门本身创建。
Bash 窃取器
在发现 crond 后门创建了一个反向 shell 后,我们决定检查攻击者如何使用这个 shell。为此,我们在恶意软件分析沙箱中安装了受感染的免费下载管理器软件包。在分析了 crond 生成的流量后,我们确定攻击者在沙箱中部署了 Bash 窃取器。这个窃取器收集各种数据,比如系统信息、浏览历史记录、保存的密码、加密货币钱包文件,以及知名云服务(AWS、谷歌云、Oracle Cloud Infrastructure 和 Azure)的凭据。
图 3
从受感染的机器收集信息后,窃取器从 C2 服务器下载一个上传工具二进制文件,并将其保存到 /var/tmp/atd。然后,它使用这个二进制文件将窃取器的执行结果上传到攻击者的基础设施。
我们没有观察到通过反向 shell 进行的任何其他活动,因此整条感染链可以用下图来描述:
图 4
揭开感染途径的奥秘
在分析了感染链的所有组件后,我们想找出受感染的 Debian 软件包如何分发给受害者。我们查看了免费下载管理器的官方网站(freedownloadmanager [.] org)。结果发现,可从该网站下载的软件包原来托管在 files2.freedownloadmanager [.] org 域名上,它们并没有被植入后门。
然后我们决定对 fdmpkg [.] org 进行一番开源检查。这番检查发现了 StackOverflow 和 Reddit 等网站上的十几个帖子,用户一直在讨论受感染的免费下载管理器分发引起的问题,而没有意识到他们实际上成为了恶意软件的受害者。这些帖子是在从 2020 年到 2022 年的三年时间里发布的。
在 Unix Stack Exchange 上的这样一个帖子(https://unix.stackexchange.com/questions/590510/kubuntu-20-04-shutdown-reboot-hangs-at-waiting-for-process-crond)中,发帖者抱怨 “Waiting for process: crond” 消息阻止了计算机的关闭:
图 5
处理同一个问题的用户对这个帖子作出了回复,他们认为这个问题是由免费下载管理器软件引起的。他们建议删除三个文件:/etc/cron.d/collect、/var/tmp/crond 和 /var/tmp/bs。然而,没有人提到这三个文件是恶意文件。
图 6
在 2020 年创建的另一个帖子中,一位 Reddit 用户询问是否可以在不运行 postinst 脚本的情况下安装免费下载管理器,这个用户不知道该脚本其实含有恶意软件。
图 7
此外,发帖人粘贴了脚本内容;另一位 Reddit 用户在评论中指出,这可能是恶意脚本。然而,这些用户没有识别出分发受感染软件包的网站,也没有发现这个脚本执行的功能。
我们还在 Reddit 上发现了一个帖子,提到该软件的官方网站早在 2015 年就在传播恶意软件了。然而后来发现,这个帖子中描述的恶意软件与我们发现的活动无关。
图 8
社交网络上的所有这些帖子让我们认为恶意的 Debian 软件包可能是通过 freedownloadmanager [.] org 网站、经由供应链攻击分发的。因此,我们决定寻找证明或反驳这种说法的进一步的事实。
意外的重定向
在检查 YouTube 上有关免费下载管理器上的视频时,我们发现了几个演示如何在 Linux 机器上安装该软件的教程。我们观察到了出现在所有这些视频中的以下操作:
- 视频制作者在浏览器中打开免费下载管理器的合法网站(freedownloadmanager [.] org);
- 之后他们点击了该软件 Linux 版本的 “下载” 按钮;
- 他们被重定向到恶意的 https://deb.fdmpkg [.] org/freedownloadmanager.deb URL,其中托管了受感染版本的免费下载管理器。
图 9
我们还注意到,并非在所有情况下都重定向到恶意的 deb.fdmpkg [.] org 域名。在同一时间段发布的另一个视频中,一名用户点击了该软件网站上的 “下载” 按钮,最终从合法网站下载了免费下载管理器。
因此,恶意软件开发人员编写的恶意重定向可能以某种程度的概率出现,或者基于潜在受害者的数字指纹出现。
我们进一步检查了合法的免费下载管理器网站,想知道软件开发人员是否意识到他们的网站可能受到威胁。在该软件博客于 2021 年发表的一条评论中,一位用户抱怨,他观察到可以访问 5d6167ef729c91662badef0950f795bf362cbb99.u.fdmpkg [.] org 域名。用户 blogadmin 对这个评论的回复称,免费下载管理器与这个域名无关,建议只使用该软件的官方版本:
图 10
然而,没有人进而去发现这个用户最后如何安装了这个可疑版本的免费下载管理器。因此,软件的官方网站继续分发恶意 Debian 软件包,直到至少 2022 年。
后门的起源
在确定了受感染的免费下载管理器软件包如何分发之后,我们决定检查在我们的研究过程中发现的植入程序是否与其他恶意软件样本有代码重叠。事实证明,crond 后门是一个名为 Bew 的后门的修改版本。自 2013 年以来,面向 Linux 的卡巴斯基安全解决方案一直可以检测出其变体。
图 11
2013 年版 Bew 的代码(左边,MD5: 96d8d47a579717223786498113fbb913)和 crond 后门的代码(右边,MD5: 6ced2df96e1ef6b35f25ea0f208e5440)
Bew 后门已经被分析了多次,第一次分析结果发表在 2014 年。此外,2017 年,CERN 发布了有关使用 Bew 的 BusyWinman 活动的信息。据 CERN 声称,Bew 感染是通过路过式下载进行的。
至于窃取器,它的早期版本由 Yoroi 在 2019 年予以描述。它是在利用 Exim 邮件服务器中的漏洞后被使用的。
图 12
2019 年描述的 Bash 窃取器(左边,MD5: 8C7EFB0493B6FB805B2C2F0593DE0AB1)和 2022 年的 FDM 活动中使用的窃取器(右边,MD5: AD7F99D44931489B2C38DF7A5A166C4D)
为什么没有更早发现恶意软件包?
这次活动中观察到的恶意软件自 2013 年以来就已经为人所知。此外,从社交网络上的多个帖子可以看出,这些植入程序具有很强的蒙蔽性。据我们观察,这次活动的受害者遍布世界各地,包括巴西、中国、沙特阿拉伯和俄罗斯,鉴于这些事实,恶意的免费下载管理器软件包在三年多的时间里未被发现似乎不可思议。
我们认为这归咎于以下几个因素:
- 与 Windows 相反,Linux 恶意软件极少被观察到;
- 感染恶意 Debian 软件包有一定的概率:一些用户收到了受感染的软件包,另一些用户最终下载了合法软件包;
- 讨论免费下载管理器问题的社交网络用户没有怀疑问题是由恶意软件引起的。
虽然这起活动目前处于不活跃状态,但免费下载管理器的这个案例表明,凭肉眼很难检测 Linux 系统上正在进行的网络攻击。因此,Linux 系统(桌面和服务器)必须配备可靠高效的安全解决方案。
攻陷指标
文件校验和
b77f63f14d0b2bde3f4f62f4323aad87194da11d71c117a487e18ff3f2cd468d(恶意 Debian 软件包)
2214c7a0256f07ce7b7aab8f61ef9cbaff10a456c8b9f2a97d8f713abd660349(crond 后门)
93358bfb6ee0caced889e94cd82f6f417965087203ca9a5fce8dc7f6e1b8a3ea(bs 后门)
d73be6e13732d365412d71791e5eb1096c7bb13d6f7fd533d8c04392ca0b69b5(atd 上传工具)
文件路径
/etc/cron.d/collect
/var/tmp/crond
/var/tmp/bs
/var/tmp/atd
网络指标
fdmpkg[.]org
172.111.48[.]101
转载来源:https://www.wangan.com/p/11v7ac856274f648
图片来源网络侵权可联系删除