我刚刚接手的 Ubuntu Web 服务器已被入侵。我是一名 Windows 管理员,对 Linux 不太熟悉。
我该如何找出不断生成 perl 进程的原因?我终止了几十个 /usr/bin/perl 实例,但它们立即又生成了。我甚至重命名了 /usr/bin/perl,但进程仍然会再次出现。
我知道我必须关闭该服务器,但是在我将网站离线之前,我需要设置一个替代方案。
答案1
如果您确定网站被黑客入侵,并且这不是服务器上的异常行为或正常行为服务或 cron 作业,那么您需要做的第一件事就是将其从网络上移除。放置一个快速维护页面或其他内容,通知客户/用户该网站已关闭以进行维护。
如果您的网站被 Google、Microsoft 和 AV 公司标记为提供恶意内容,或者发送垃圾邮件或被用作攻击其他服务器的垫脚石,那么您对自己没有任何好处。
制作系统映像,然后删除并重建,以尽快使其恢复在线状态。现在火已经灭了,您可以专注于使用该映像,甚至可以将映像还原到 VM 以进行取证。
答案2
这些新进程的父进程 ID 是什么?使用ps -lp <PID>
。列表将有一个 PPID 列,其中包括启动它的程序的进程 ID。
编辑
如何通过困难的方式获取更多信息。转到 /proc//,检查那里的一些软链接的值。例如,“cwd”将指向脚本的工作目录,“exe”将指向所涉及的可执行文件。这可能会给你一些有用的信息。或者,通过 将 strace 附加到所涉及的进程strace -p <pid>
,并查看它进行了哪些调用。——
Christopher Karel
答案3
尝试一下chkrootkit
,几十年前对我来说很有效。
另一个选择是rkhunter
。
这两个工具可以帮助您识别添加到操作系统的文件并删除、停用其中一些文件。我使用这两个工具来对服务被利用后系统如何被修改进行取证。
高血压
答案4
检查 /etc/inittab 是否有任何可疑内容:
0:2345:once:/usr/sbin/ttyload
就是这样的一个脚本。您可能已删除/重命名了 /usr/bin/perl,但 Debian/Ubuntu 还会有一个 /usr/bin/perl5.10.1(或您当前安装的任何版本)。Perl4 可能仍在您的计算机上。