已注入垃圾邮件发送脚本

已注入垃圾邮件发送脚本

如果这个问题已经被问过一百万次了,我深感抱歉。

我的服务器上的一个帐户被黑了。垃圾邮件发送脚本被注入,并向一些随机地址发送大量电子邮件。

我的服务器上有 cPanel/WHM WHM 11.38.0(build 5)也是 CENTOS 5.9 x86_64

我通常不使用 cPanel 或 WHM,我从一开始就在这个服务器上安装了它,后来我太忙了,没有设置非基于 WHM 的服务器。

我到目前为止所做的事情:

  1. 我阻止了有问题的账户从 WHM 发送电子邮件
  2. exim -bp | grep \< | awk '{print $3}' | xargs exim -Mrm由于我的邮件队列中有 7 万封电子邮件,所以我执行了此命令
  3. 我重启了服务器

目前我无法轻松更改该电子邮件帐户的密码。

有没有办法可以具体查看哪个进程,或者更好地了解哪个脚本正在发送这些邮件以及它位于何处?

提前谢谢您,如果您需要一些其他信息来帮助我,请直接询问。

编辑

我已经在 crontab 中查找过该用户,但没有任何可疑之处。提前谢谢您,如果您需要其他信息来帮助我,请随时询问。

编辑2

下面是执行 top 命令的屏幕截图,我指出了我的怀疑: ssh 顶级电子邮件垃圾邮件脚本

除了指出的进程外,还有许多“mailnull”进程。我该怎么办?

答案1

如果你知道垃圾邮件来自哪个邮箱,你肯定要改密码。你怎么知道垃圾邮件是通过某种脚本发送的?

如果它是通过某些易受攻击的(PHP?-)脚本发送的,要找出它来自哪里,您应该创建一个 sendmail 包装器,因为脚本通常使用 sendmail 二进制文件来发送邮件。

/usr/sbin/sendmail-wrapper创建一个包含以下内容的文件:

#!/bin/sh
TODAY=`date -Iseconds`
echo $TODAY sendmail-wrapper called $USER from $PWD >>/tmp/mail.send
(echo X-Additional-Header: $(dirname $PWD);cat) | /usr/sbin/sendmail-real "$@"

要激活包装器,请移动真正的 sendmail 二进制文件:

mv /usr/sbin/sendmail /usr/sbin/sendmail-real

并移动包装器:

mv /usr/sbin/sendmail-wrapper /usr/sbin/sendmail

每次调用 sendmail 时,它都会在邮件中添加一个附加标题,并将调用 sendmail 的路径记录到/tmp/mail.send。这样,您应该能够找到有问题的脚本。

确保将原始 sendmail 二进制文件放回原位,以阻止其/tmp/mail.send无限增长。

答案2

如果您运行的是 php 5.3.x 或更高版本,则可能存在 php 脚本被利用的情况:

mail.add_x_header=1
mail.log=/var/log/phpmail

在 php.ini 中。
还要确保 /var/log/phpmail 是全球可写的,以便每个 php 进程都可以写入它。
然后重新启动 apache。

此后检查发出的邮件的标题,应该包含 php 脚本的名称(X-PHP-Originating-Script)

答案3

您能禁用用户 clubmaga 吗?为什么您不能更改 clubmaga 的密码?您是否尝试过杀死或杀死 -9 您怀疑的恶意程序?假设您可以清除邮件队列?您的系统是最新的吗?

除非你知道自己是如何受到攻击的,否则你仍然会受到攻击——就你所知,坏人是仍然在机器上,即使由于您不愿意/无法更改密码,您的机器仍然完全可用。

除非您真的知道自己在做什么,否则您应该全新安装或恢复您知道干净的备份。其他任何方法都可能收效甚微,因为您仍然受到攻击或至少以已经起作用的方式受到攻击。

相关内容