加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 22:08:34 所属栏目:安全 来源:网络整理
导读:我在网络服务器上遇到了问题. 有人用泄露的wordpress感染了它. 问题是如下,文件中某处有一些恶意的phpscript. 恶意脚本将iframe放在Web服务器(/ home)上的每个文件中 但问题是我不知道脚本在哪里,我在/ home中有成千上万的web文件,它可能在任何地方. 我知道
我在网络服务器上遇到了问题.
有人用泄露的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分钟运行一次查找和替换shell命令,这需要花费很多时间.

但我无法让我的服务器上的iframe太长,我的网站将被谷歌列入黑名单,我负担不起.

非常感谢您未来的建议.

安塞尔姆

解决方法

一旦找到了想要监视的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将需要一些编码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读