使用bash在我的网络服务器上查找恶意脚本

时间:2013-07-11 19:11:58

标签: bash shell virus

我在网络服务器上遇到问题。 有人用泄露的wordpress感染了它。 问题是如下,文件中某处有一些恶意的phpscript。 恶意脚本将iframe放在Web服务器(/ home)上的每个文件中 但问题是我不知道脚本在哪里,我在/ home中有成千上万的web文件,它可能在任何地方。 我知道如何擦除所有iframe,但想法是删除触发器。 所以我在徘徊如何解决它,我可能有一个解决方案,但我需要你的建议

我注意到脚本不时被执行但完全随机(大概每周一次) 现在让我们假设我使用以下shell命令擦除了所有恶意iframe(我目前每30分钟运行一次)

find /home -type f | xargs sed -i 's$<iframe src="[^"]*" width="2" height="2" frameborder="0"></iframe>$ $g'

既然我的所有php文件都没有iframe,那么想法是在iframe再次出现时提醒我。 像这样,如果我有iframe出现的近似时间,那么我可以查看apache日志以查看调用哪个webscript。

所以我创建了另一个bash shell,我想让你的建议知道它是否合适。 我会在服务器上每30分钟运行一次,直到收到邮件为止。

然后我会在apache日志中查看最近30分钟的日志。

所以这是我正在考虑的bash:

#!/bin/bash     
find /home -type f | xargs grep -q '<iframe src="[^"]*" width="2" height="2" frameborder="0"></iframe>'     #Find the string in all file on my all directory
if [ $? -eq 0 ] #if the result is not equal to zero
then
        echo "At the following time : " $(date +%H-%M-%S) | mail -s "[Serveur Leaked] Bad iframe has been found " me@mymail #we send a mail with the date
        find /home -type f | xargs sed -i 's$<iframe src="[^"]*" width="2" height="2" frameborder="0"></iframe>$ $g' #we replace the iframe with a whitespace
else    
        exit 1  
fi

exit 0

我真的需要找到一个解决方案,因为正确的知道我说我每30分钟运行一次find和replace命令并且需要花费大量的时间。

但是我无法让我的服务器上的iframe太长,以至于我的网站会被谷歌列入黑名单而且我买不起。

非常感谢您未来的建议。

安塞尔姆

3 个答案:

答案 0 :(得分:3)

您可以使用inotify在更改html文件时获取通知,并在这种情况下仅运行您的脚本。

当您知道文件被修改时(例如通过上面的inotify),您可以使用进程的proc系统(或类似lsof)来找出哪个进程已打开修改后的文件。

答案 1 :(得分:3)

找到想要监控的iframe文件之后,也许shell脚本化的inotify版本inotifywait将是最简单的解决方案。在你的脚本中使用它:

#!/bin/sh
while inotifywait -e modify /var/log/messages; do
    if tail -n1 /var/log/messages | grep httpd; then
        kdialog --msgbox "Apache needs love!"
    fi
done

通常,有更好的文件监控工具,例如auditd,其中包含预构建的实用程序,专门用于安全性和审计。

此外,还有fanotify提供用户信息,可以有效监控整个卷。查看优秀的示例工具:fatrace

inotify存在几个重大问题:它无法可靠地监视新创建的文件夹,并且无法识别文件更改的源(PID)。这些都不在这里,但直接使用inotify需要一些编码。

答案 2 :(得分:3)

它可能不是导致这种情况的PHP脚本,黑客可能已经获得了您服务器的密码。该网站提供了一些资源,可指导您查看内容

http://wordpress.org/support/topic/new-malware-code-injection-attack

这是关于如何强化安装的Wordpress文档

http://codex.wordpress.org/Hardening_WordPress

更改系统的root密码是一个很好的起点。

并让您了解您可能遇到的恶意复杂程度

http://blog.sucuri.net/2013/05/auto-generated-iframes-to-blackhole-exploit-kit-following-the-cookie-trail.html

我的同情。