受到威胁的 Ubuntu VM——我该如何拆开它来查明发生了什么?

受到威胁的 Ubuntu VM——我该如何拆开它来查明发生了什么?

好吧,情况是这样的:我所在的实验室有一个运行 VMWare ESXi 的专用虚拟机服务器,上面运行着许多虚拟机。我们的 IT 部门周五早上开始收到 Fail2Ban 电子邮件,称其中一台虚拟机正在对他们进行多次恶意登录尝试。有问题的机器是一个最新的 Ubuntu LTS 版本,目前只有 2 个用户,我们正在使用它来运行一个 dockerized postgres 服务器、一个 Node.js 服务器和一个 JupyterLab 服务器。更新已定期应用(大约每周一次),我们习惯于更改默认密码等。我做的第一件事是关闭服务器并拍摄快照。

这些虚拟机中有一个曾经被入侵过,所以我想深入研究一下,弄清楚到底发生了什么,以便将来防止这种情况再次发生。当然,我会把这个镜像烧毁,用一个新的替换它,但我想确保我们不会建立一个同样脆弱的系统。

建议采取哪些后续步骤来安全地探索并查明机器究竟是如何受到损害的?

答案1

虽然这可能不是最佳实践,但这是我采取的方法和我学到的东西。我记录下来主要是为将来遇到类似问题的人提供参考。

首先,我在 ESXi 中禁用了虚拟机的网络适配器,这样一旦我打开它,在我弄清楚发生了什么事情时,它就无法继续攻击。然后我启动它并通过 ESXi 桌面控制台访问该机器。

我检查了是否有可疑用户使用 进行登录last,但没有发现任何异常。还打开了日志以查看是否有任何异常跳出,但没有发现任何明显的错误。

接下来,我需要检查 rootkit 和恶意软件。这是不确定的部分:鉴于我所知道的所有恶意活动都是ssh基于此的,我卸载了 open-sshclient 和服务器。虽然这无法阻止内置有 ssh 客户端的恶意软件,但我认为它很有可能会尝试使用系统的客户端。

然后我重新启用了网络适配器,安装chkroot工具ClamAV,然后迅速关闭网络适配器。我运行了 chkrootkit,除了将我们所有的 node_modules 文件夹标记为可疑之外,没有发现任何东西。但 ClamAV.bashtemp在非管理员测试用户主文件夹中发现了 2 个隐藏的挖矿机器人。这些恶意工具巧妙地伪装成cronacron

我最好的猜测是,由于我们忽略了在这台机器上安装 Fail2Ban,测试用户帐户缺少一个足够强的密码,并且受到某种自我增殖的硬币挖掘机器人网络的攻击。

相关内容