До сегодняшнего дня мне приходилось лечить сайты с зараженными .js файлами, в которых вредон��сный код вставляется в конец файла и его можно легко очистить по сигнатуре. Пример программы для очистки.
Но вирусописатели не останавливаются на достигнутом, и разрабатывают новые способы заражения.
Опишу один из них:
  • вирус заходит по ftp на сайт
  • дописывает в конец кода свой кусок
  • шифрует обфускатором весь файл и сохраняет.
  • ждет 2 недели или месяц и в iframe появляется троян.


У многих система бэкапов настроена на недельное хранение файлов, соответственно, когда антивирусник начинает ругаться на сайт, в бэкапах все файлы тоже сохранены с вирусом.
В таком случае необходимо декодировать зараженный файл и отделить полезный код от вредоносного.
Для этого я заменил window.eval на document.write и вывел содержимое в textarea.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<script>
document.write('<textarea>');
function kzLIfOuzteVbhCEe(a)...
document.write(kzLIfOuzteVbhCEe("...");
document.write('</textarea>');
</script>
</body>
</html>

Поскольку массового заражения не было, вылечил сайт вручную.