所以我几个月来一直在与这个问题作斗争,并决定这超出了我有限的(如果有的话)服务器技能,我需要专业人士的帮助。
我有一个 VPS(具有 root 访问权限),它托管了几个不同的 PHP 网站,其中一些是基于 WordPress 的。由于MailPoet 漏洞,一些网站感染了恶意软件。我清理了受感染的站点,完全删除了 MailPoet、后门帐户和相关内容,但恶意软件偶尔会复活。以下是我可以描述的:
- 有两个恶意软件签名(对不起,如果我使用了错误的术语),它们都被注入到 PHP 页面的最顶部。一次看起来像这样
<?php $ozufdqjmhx = '7825h!>!%x5c%x7825tdz)%x5c%x7825bbT-%x5c%x782vg}...
随着变量$ozufdqjmhx
不时变化,另一个开始<?php if(!isset($GLOBALS[\'\a\e\0... etc etc
- 恶意软件会随机返回。有时它会在清洁后的一天,有时是一周或几周后恢复。
- 只有以前被感染的文件/目录/网站会再次被感染。新目录或未受影响的旧目录总是干净的。但是,旧受感染目录中的新文件会被感染。
- maldet(我相信使用 ClamAV)无法检测到任何恶意软件。PHP Shell Detector可以,但由于只是一个检测器,它无法修复。
你们能帮忙,或者给我应该去的方向吗?一百万提前谢谢!
(如果这个问题不符合网站的规定,我也很抱歉。当我是 StackOverflow 的日常用户时,这是我第一次访问这个安全子网站)。
编辑:我真的很感谢你们的任何建议,但是擦除服务器并从头开始不是一种选择。如果是的话,我为什么要问这个问题,对吧?:)
编辑 2:按照@Mints97 的回答,我检查了所有打开的端口——看起来很正常:
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop3
143/tcp open imap
443/tcp open https
465/tcp open smtps
587/tcp open submission
993/tcp open imaps
995/tcp open pop3s
3000/tcp open ppp
3306/tcp open mysql
5432/tcp open postgresql
8000/tcp open http-alt
8080/tcp open http-proxy
8082/tcp open blackice-alerts
10000/tcp open snet-sensor-mgmt
20000/tcp open dnp
编辑 3:这是针对@QuestionOverflow:在搜索您在其他答案中提到的 4 个域时,我遇到了一个脚本来消除此处的恶意软件。在代码中我们可以看到if (preg_match('/^<\?php \$[a-z]{10} = \'/', $fh_str)) {
,它完全针对第一个签名。我现在会说它是相同的恶意软件,或者至少来自同一个人通过相同的漏洞。非常有趣。
编辑 4:第二个恶意软件已经在这里讨论过,如果它可能有帮助,是的,显然两者都从 4 个域中随机获取一些有效负载:“33db9538.com”、“9507c4e8.com”、“e5b57288.com”、“54dfa1cb。 com”。我已将所有 4 个添加到我的hosts
文件中,指向127.0.0.1
. 让我们看看接下来会发生什么。
编辑 5:一些人认为这个问题已经在这里得到了回答,你如何向管理层和用户解释“将它从轨道上发射”的必要性?. 老实说,我看不到其他问题如何回答我的问题。我问的是如何消除恶意软件,而不是向我的老板解释我为什么要重新安装服务器。