抱歉,这篇文章太长了,但请耐心等待。
我想知道我的系统是否已被入侵。我之前在这个 VM 服务器上遇到过问题,Linux.后门.Gates.5针对其他服务器进行 DDoS 攻击的特洛伊木马。我在不同时间点备份了虚拟机的多个备份,并一直在试图找出入侵可能发生的时间(此虚拟机上没有真正的敏感数据,也不在我们的网络上,所以我觉得这样做没问题)。
前几次备份即使最初没有被感染,也会被上述木马系统性地感染。然后我恢复了一个看似干净的备份,并一直密切关注着它。(PS:每次恢复时我都会更改密码)
今天 rkhunter 发现了这个问题/usr/bin/wget
,并将/usr/bin/killall
他们的权限从 0755 更改为 0777。运行ls -lct
这些文件显示文件的最后修改时间大约在我登录前两小时(上午 6:48)。以下是我采取的步骤:
- 我已将 iptables 配置为默认丢弃传出流量,以免在发生另一起 DDoS 攻击时被服务提供商禁止
- 检查日志,没有关于用户登录的任何信息
- 检查日志发现 Apt 没有运行
- 安装并运行 chkrootkit
- 将这两个文件的 md5sum 与参考未受损害的安装进行比较,发现它们匹配。因此我认为文件没有被更改
我意识到在受感染的系统上日志可能会被更改,所以我不会 100% 地相信它们
chkrootkit 发出了警告吸血鬼rootkit。我已经测试了这个帖子
SucKIT rootkit 允许攻击者通过为恶意文件赋予特定结尾来隐藏它们。当前攻击者隐藏的代码以 xrk 或 mem 结尾。要测试 rootkit 是否存在,请创建一个以 xrk 或 mem 结尾的文件,然后执行“ls -l”。如果您刚刚创建的文件未显示在 ls 的输出中,则意味着 rootkit 正在隐藏它们,即您的系统已受到威胁,需要重建。
切换到 /sbin 目录并执行“ls -l init”——链接数应为 1。使用 ln 创建指向 init 的硬链接,然后再次执行“ls -l init”。如果链接数仍为 1,则表示已安装 SK rootkit。
被 root 的系统会使用 TCP 端口 55 向其他受感染的机器发送用户名和密码,因此如果您保留网络连接记录,则到目标端口 TCP/55 的流量值得进一步调查。
前两个是负面的,暗示是误报。我没有检查端口 55,因为我不确定最好的处理方式是什么。
我进一步研究并检查了以下内容:
strings /sbin/init | grep HOME
返回XDG_CACHE_HOME
和XDG_CONFIG_HOME
并
sudo cat /proc/1/maps | grep init
返回
7f396c089000-7f396c0c7000 r-xp 00000000 08:01 6553666 /sbin/init
7f396c2c7000-7f396c2c9000 r--p 0003e000 08:01 6553666 /sbin/init
7f396c2c9000-7f396c2ca000 rw-p 00040000 08:01 6553666 /sbin/init
因此,HOME 字符串是触发 chkrootkit 的原因。我不知道这是否是可以预料到的。我的参考系统上也有相同的数据,所以我认为这是误报。
你们知道我可以检查什么来查看文件权限的更改是否确实是误报吗?提前致谢。