使用SSH查找并删除所有内容以及包含两个字符串的内容

时间:2013-05-15 03:15:15

标签: string security ssh malware

我正在努力编写一个ssh命令来搜索我的服务器上包含

的每个文件

<!--4e530a--> ... malcious code ... <!--/4e530a-->

然后删除标签及其中的javascript。

也很想知道代码如何重新生成自己。

1 个答案:

答案 0 :(得分:0)

首先,如果恶意代码被“重新生成”,那么您手上的问题要比简单地从文件中删除恶意代码要大得多。您可能通过某些方式受到攻击,并且攻击者可以持续访问您的系统,或者已经种植了一些恶意软件(可能是root-kit),这些恶意软件会骚扰您的服务器。 您需要解决此问题!

这里有成千上万的可能性,但在你打电话给专业人士之前要检查一些简单的可能性(你需要打电话给专业人士,但你可以提供的信息越多越便宜) ,是新用户帐户,异常用户帐户活动,登录尝试失败,异常流量负载/模式等。

对于您的实际问题,请使用find将文件提供给grep,然后grep搜索文件。像这样:

grep --color --line-number "malicious code" $(echo $(eval find / -type f))

如果您的系统上有大量文件,则可能会遇到“太多args”问题。如果发生这种情况,您必须使用该脚本获得创意,或者在子目录上运行它。如果您愿意,可以使用我写的on my Github called "findref.sh"脚本。这个脚本将使你想要做的事情变得容易,它可以补偿“太多的args”问题和grep。

至于删除内容,使用bash / SSH自动完成(但可能)非常困难。您可能希望为此编写Python或Perl脚本并将其覆盖,然后通过SSH将其启动。小心使用脚本来修改代码,特别是如果它是生产代码。