Доброй ночи, господа и дамы.
Слежу за этой темой почти с самого начала. Но пока больше анализировал и наблюдал.
Расскажу по порядку.
Один из моих клиентов обратился ко мне в первых числах мая, за помощью по удалению вирусов, ибо Яндекс ему прислал оповещение о вредоносном коде на сайте.
Я начал разбираться, что к чему. Сначала нашел признаки заражения, по которым нашел скриптах код редиректа.
Тогда же, к слову, я и нашел данную тему.
Про скриптыКод, который дописывается в скриптах - создает iframe за пределами окна.
Он имеет функции:
поиска подстроки
проверки браузера
установки куки
и непосредственно код вывода фрейма.Фрейм выводится только при отсутствии куки у пользователя и если браузер клиента не в блек листе. Кука ставится на различный срок. В моем случае в блек листе фигурировал только Chrome.
В коде который приведен в закрепленном наверху сообщении, кука ставится на срок в один час - т.е. фрейм показывается пользователю раз в час.
Код имеет несколько модификаций. В частности отличаются названия функций определения браузера, список браузеров из блек листа (то есть при пользовании которыми код не срабатывает), а так же меняется название куки.
Участки которые дописываются в начале и в конце кода (к примеру /*214afaae*/) являются маркерами - для вставки, контроля и удаления участков кода.
Благодаря маркерам скрипты в какой то момент "очистились" - код, который разослали по зараженным доменам содержал инструкцию по "вырезанию" участков зараженного кода.
Относительно того, что вгружают во врейм
Когда анализировал код на доменах клиента, я выгрузил страницу с адреса, который вгоняется во фрейм.
В моем случае там был скопированный код главной страницы Google, в который явно внесены доп. участки кода, которые и несут нагрузку.
Код же Google, вероятно, используется как "обертка", так как является обфусцированным (намеренно запутанным, обычно машиннным образом, для не программистов) что облегчает процесс внедрения доп. кода - т.к. его сложнее отловить.
В адресе, который фигурирует в прикрепленном сообщении сверху, страницу содрали со студии звукозаписи. Сейчас на первый взгляд, вредоносного кода на странице нет.
Но думаю это связано и с тем, что ботоводы, сейчас изъяли код с ресурсов, думаю, что и из фреймовых адресов код стерт, на всякий случай.
По вопросу js файлов вроде бы все осветил, пока что.
Как заражали (размышления)Исходя из найденого, и увиденного, сделал вывод - что заражали через уязвимость в nonumber, как уже не раз говорили ранее.
Механизм такой - через дырку в папку /images прописывался файл (
j.php), через который заливали шелл (
jos_XXXX.php)
Шелл представлет собой WOS 2.5 - довольно распространенный шелл. Так что мой вам совет - трите подозрительные файлы из images не раздумывая.
Итак, далее. Шелл, в дальнейшем, используется скорее всего для генерации первого файла из серии тех что содержат
$_COOKIE[_utma] и т.д.
_utma - это действительно название куки Google аналитикс, чем обусловлен выбор именно этого название пока неизвестно, ну да не в нем суть, надеюсь
Поехали дальше.Те файлы, что содержат код
eval($msg) и т.д. ( выше я ссылался на них по
$_COOKIE[_utma] ), являются универсальными "окнами", через которые идет автоматический опрос и управление файлами зараженных сайтов.
Код который они содержат работает просто: если у запрашивающего есть определенная кука, с определенным значениям, и определенная переменная, переданная POST запросом ($_POST['msg']), то идет процесс ее расшифровки, а затем исполнения. Код который исполняется, на выходе выводит строку, которую обрамляют в textarea. После отработки скрипт принудительно завершается.
Помозговав над access logs, я понял куда стучатся наши гости. не смотря на обилие файлов. которые мы находим, простукивание домена идет обычно по одному файлу.
Немного поколдовав над зараженным файлом, я в итоге, получил код, который шлют нам гости. Здесь выкладывать код не буду. Заинтересованные могут написать мне в личку.
Расскажу о его назначении.
За время мониторинга было обнаружено пока только два типа кода, которые приходят на сервер.
Первый код - является "опросным". В нем домен проверяется на мультиязычность, на возможность записи в .htaccess, и проверяются пути.
На выходе, код отдает следующее.
Переменная wr указывает возможность записи .htaccess
Второй код - обеспечивает репликацию "окон". В его основе лежит хорошая функция нахождения потенциально годных папок.
Когда я вычленил эту функцию и прогнал по сайту, она вернула мне больше 700 папок, в которые скрипт потенциально мог записать свою копию.
Итак сначала код сканирует сайт, получает список возможных мест для файла, хатем на рандоме выбирает папку для записи, генерит себе рандомное имя в пределах от 4 до 10 символов и пишет себя по выбраному адресу. Пишет сначала последовательность символов. Потом сам берет этот файл и проверяет на наличие последовательности. Если нашел последовательность - значит записал файл - выходит из цикла и пишет по адресу уже основной код - как раз тот, который с проверкой куки _utma. На выходе отдает url записанного файла. Таким образом скрипт маскирует себя, оставляя копии по всей системе, чтобы в случае удаления основного файла, перебрать остальные адреса.
Наверняка есть и третий и четвертый коды, которые пишут и удаляют вирусные последовательности в js скриптах.
Но за время мониторинга они мне не попадались.
Относительно адресовАдреса, с которых ведутся действия принадлежат компании "НТКОМ". А конкретнее ее хост проекту "Hostink".
Надо отметить, что и все домены, которые используются для фреймов завязаны там же.
Домены зарегистрированы в регистраторе r01.ru.
Пример Network Whois по одному из IP адресов:
А вот по одному из доменов (тому, котрый указан в прикрепленном сообщении)
А первоначальные заражения происходят через вьетнамский проксик, по видимому
Относительно леченияВсе правильные советы уже сказали в принципе:
смотреть far'ом или total commander'ом файлы по сигнатурам, удалять их,
обновить компоненты nonumber, а еще лучше снести их,
сменить пароли на всем что можно, а также на всякий случай не хранить пароли в клиенте
В ближайшее время, скорее всего, предоставлю инструмент для анализа access logs на предмет заражения.
Если возникнут вопросы, предложения, пишите в эту ветку или в ЛС.
А так же прошу господина
iazon'a написать мне - хотелось бы промониторить заражения. Инструменты для этого у меня в наличии.
Всем спасибо за прочтение.