我很抱歉,如果这已经问了一百万次。
我的服务器上的帐户之一被黑客入侵。 一个电子邮件垃圾邮件发送脚本被注入并发送大量的电子邮件到一些随机地址。
我有我的服务器上的cPanel / WHM WHM 11.38.0(内部版本5)也是CENTOS 5.9 x86_64
我通常不使用cPanel,也不使用WHM我从一开始就在这个服务器上使用它,后来我又忙于设置一个非WHM的服务器。
到目前为止我所做的是:
exim -bp | grep \< | awk '{print $3}' | xargs exim -Mrm exim -bp | grep \< | awk '{print $3}' | xargs exim -Mrm exim -bp | grep \< | awk '{print $3}' | xargs exim -Mrm因为我在邮件队列中收到了70k封电子邮件 目前我不能轻松更改该电子邮件帐户的密码。
有没有一种方法可以准确地看到什么过程,或者更好的脚本发送这些邮件和它位于哪里?
预先感谢您,如果您需要一些额外的信息来帮助我只是问。
编辑
我已经看过该用户的crontab,并没有什么可疑的。 预先感谢您,如果您需要一些额外的信息来帮助我只是问。
编辑2
这里是执行最高命令的截图,我指出我的嫌疑犯: 
除了尖锐的过程,还有很多“mailnull”过程。 我能做些什么呢?
如果你知道垃圾邮件来自的邮件帐户,你一定要改变密码。 你怎么知道垃圾邮件是通过一些脚本发送的?
如果它是通过一些易受攻击的(PHP? – )脚本发送的,为了找出它来自哪里,你应该创build一个sendmail包装器,因为脚本通常使用sendmail二进制文件来发送邮件。
用这个内容创build一个文件/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被调用的pathlogging到/tmp/mail.send 。 这样,你应该能够find有问题的脚本。
请务必将原始的sendmail二进制文件重新放回原处, /tmp/mail.send无限增长。
也许一个PHP脚本被利用如果您正在运行PHP 5.3.x或以上设置:
mail.add_x_header=1 mail.log=/var/log/phpmail
在php.ini中。
还要确保/ var / log / phpmail是世界可写的,所以每个php进程都可以编写它。
然后重新启动Apache。
在检查外发邮件的标题后,应该包含php脚本的名称(X-PHP-Originating-Script)
你可以禁用用户clubmaga? 你为什么不能改变clubmaga的密码? 你有没有试图杀死或杀死你的疑似恶病症? 清除邮件队列假设你可以? 你的系统是最新的?
直到你知道你是如何被破坏的,你仍然受到损害 – 就你所知,坏人仍然在机器上,即使没有,你也不愿意/能够改变密码,你的机器仍然是完全可用的。
除非你真的知道你在做什么,否则你应该清理安装或恢复一个你知道干净的备份。 其他任何事情都可能没有什么积极的影响,因为你仍然以已经工作的方式妥协或至less可以包容。