El teu blog de Linux en català

Eliminació de codi maliciós (iframe) amb sed

Ahir una de les nostres web va rebre un atac que va inserir codi maliciós al llarg i ample del servidor. El nombre de fitxers afectats era excessivament gran i, tot i que el codi era el mateix, no hi havia manera d’eliminar-lo de forma automàtica perquè el sed no podia reemplaçar-lo directament. El codi era un iframe amb una adreça molt llarga amb tot de caràcters «especials», per la qual cosa el sed fallava en fer el reemplaçament.

Però finalment vaig trobar una solució molt més senzilla que no em pensava. Jo estava capficat tractant de fer la substitució del codi sencer quan, en realitat, podia mirar de fer servir alguna expressió més curta. El codi maliciós era el següent (he canviat els ‘><‘):

>iframe src="http://195.xxx.yyy.zzz/stats/priemIframe.php?sh=1&hashftp=4b8fc90ef6db08d97a433bcec1db0203&hashpage=ac1f24942e1d1df634ac4a1f00218b0c" width=10 border=1 height=10 style="visibility:hidden"<>/iframe<

Doncs bé, la solució va ser tan senzilla com anar al directori base i executar l’ordre següent:
grep -lr -e '<iframe src="http://195.*</iframe>' * | xargs sed -i 's/<iframe src="http://195.*</iframe>//g'

Com veieu, no té molta història, simplement vam posar el principi de l’adreça web a la que apuntava i després un ‘*’ i finalment ‘</ifram>’. Aquest script, executat sobre el directori base, ja se n’ocupa d’eliminar el codi maliciós de tots els fitxers als directoris i subdirectoris d’allà on ens trobem.

    • Jordi on 3 de març de 2011 at 17:02

    Reply

    Mai no deixa d’impressionar-me la potència de la línia de comandes…

    Ara, que també se n’ha de saber “un rato” perquè tot sembli tan senzill 🙂

    • Rafel on 3 de març de 2011 at 18:25

    Reply

    Xe, si eixes coses les faig jo cada dia amb els ulls lleganyosos acabaet d’alçar. Ma que sou friquisssss 😛

    • Jordi Sayol on 9 de març de 2011 at 18:27

    Reply

    Molt interessant!
    Em permets un comentari? Seria fantàstic que hi haguessis posat una explicació del que fa l’ordre. Ho dic perquè qui més o menys ho entengui, cap problema, però qui no, es quedarà amb un pam de nas.

    Salut,

      • Pau on 9 de març de 2011 at 19:07
      • Author

      Reply

      Hola Jordi, doncs tens raó. La veritat és que ho vaig posar més com a apunt per a mi que com una entrada del bloc, hehe. De tota manera miraré d’explicar la sintaxi.

      Salut!

Deixa un comentari

Your email address will not be published.