对于易受攻击的机器,我们可以相信 linux 实用程序命令显示的信息吗?

信息安全 linux 脆弱性 Rootkit
2021-08-17 07:28:17

在检查易受攻击的 linux 机器上的 rootkit 并删除它们之后,我们需要获取有关进程、端口、传入或传出连接的一些信息...,使用一些有用的命令,如ps, netstat, top, lsof...

我们可以相信 linux 实用程序命令显示的信息吗?

4个回答

由于系统受到损害,任何东西都不能通过工具来信任。除非您对工具进行了验证(例如Tripwire FIM),否则最好的选择是采用类似的系统,复制必要的系统,如果系统在架构上相似,则应该运行等。但这不是最佳方法。由于机器已被入侵,根据您的后续步骤(法律、当局等),您将创建一个取证图像,然后处理您拥有副本时发生的事情。获得副本后,您需要确定与使系统重新联机等相关的风险。

如果您已确定攻击者是如何进入系统的,则需要清理该“漏洞”(漏洞、错误配置)以确保他们不会返回。有时,与安装干净的系统相比,这可能更耗时。但是,假设您需要“那个”系统。你可以用类似的东西重新安装 ps:apt-get install --reinstall procps同样适用于 lsof。您需要确保您的存储库没有更改,并且您的 DNS 没有指向不受信任的存储库。

在很大程度上回答您的问题:我们可以相信 linux 实用程序命令显示的信息吗?答案是您绝对不应该这样做。在进行彻底的分析之前,该系统几乎不可信。

如果您的系统遭到入侵,您不应该信任任何东西

我认为通常标准实用程序大部分都可以正常工作,但会忽略与攻击者进程相关的内容。Rootkit 就是这样设计的,因此您不太可能注意到机器已被入侵。因此,我认为您通常可以信任他们查看您自己的进程,但不能确保 rootkit 已消失。


如果攻击者可以加载内核模块,或者以其他方式修改内核,甚至系统调用和/procAPI 都可以撒谎。ps因此,即使是, 或等用户空间实用程序的干净副本grep foo /proc/*/cmdline也不会告诉您是否有恶意进程在运行。任何称职的rootkit都会隐藏自己的进程。

整个系统上的每个文件都像放射性废物,如果你不小心,可能会污染其他东西。例如,攻击者可能添加了一些东西来 /home/*/.bashrc重新感染您的系统,以防您重新安装操作系统但不检查/home.

同样,在您的 Web 服务器配置或 CGI 脚本等中可能存在令人讨厌的东西。与备份进行比较,如果攻击者可以触及任何东西,请不要认为它是安全的。


绝对在已知干净的机器上对不受信任的数据进行任何和所有检查。只要您不从受感染的系统中运行任何东西,就应该没问题。(即假设cmp并且diff没有任何漏洞。但请注意,这对不受信任的文件strings 不安全的,具体取决于libbfd. Use的版本strings -a

可能,但不一定。如果攻击者具有 root 访问权限,他们总是可以用他们自己的修改版本替换这些程序。

令人惊讶的是,违反宇宙的所有定律,以汽车为基础的类比在这里毫无用处。

不过,身体抢夺者的入侵类比有效。

您系统的任何命令(或它们所依赖的库)都可以(并且可能已经)替换为外观和行为几乎与原始命令完全相同的副本,但也具有隐藏现有妥协和/或协助的秘密目的任何未来的妥协尝试。

简而言之,答案是“不,您不能信任受感染系统上的任何程序”。