Win32 virut 5 что это
Win32.Virut.5 ( Email-Worm.Win32.Warezov.jq, Win32/Virut.10192 )
Опции темы
Win32.Virut.5 ( Email-Worm.Win32.Warezov.jq, Win32/Virut.10192 )
Служба мониторинга вирусной активности компании «Доктор Веб» сообщает об обнаружении в сети Интернет нескольких модификаций вирусов, получивших наименования по классификации Dr.Web Win32.Virut.5 (Email-Worm.Win32.Warezov.jq, Win32/Virut.10192 по классификации других антивирусных вендоров) и Win32.Scproj.7573 (Backdoor.PcClient.SYX).
Как известно, уже в течение длительного периода происходит спам-рассылка известного «штормового червя», маскирующегося под поздравительную открытку и детектируемого антивирусом Dr.Web как Trojan.Packed.142. В течение последних трех дней Службой вирусного мониторинга компании «Доктор Веб» было зафиксировано распространение модификаций «штормового червя», инфицированных сложным полиморфным вирусом Win32.Virut.5, заражающего все исполняемые файлы и содержавшего функции управления инфицированными компьютерами с использованием IRC.
Помимо этого, зафиксировано распространение другого файлового вируса, получившего наименование Win32.Scproj.7573. Данный вирус заражает все исполняемые файлы на жёстких дисках компьютера, а также сменных дисках. Вирус, как правило, не меняет размер файла-оригинала жертвы, записываясь в области нулевых байтов. Заражение не сопровождается какими-либо визуальными эффектами, его признаками могут служить ошибки Explorer, сообщения тех или иных программ о нарушении целостности своих исполняемых файлов и.т.п. Вирус перехватывает у зараженных приложений доступ в сеть, поэтому может обходить политики безопасности межсетевых экранов для доверенных приложений. В своём теле содержит ссылки, по которым он может получить инструкции для своих дальнейших действий. Через определённое время после запуска заражённого Explorer, вирус сканирует сетевые ресурсы на наличие доступных для записи сетевых папок, и при обнаружении таковых заражает в них все исполняемые файлы. Вирус не заражает файлы в каталогах Windows, WINNT, System32, System, dllcache.
Антивирус Dr.Web против Win32.Virut.5 и Win32.Scproj.7573
Служба мониторинга вирусной активности компании «Доктор Веб» сообщает об обнаружении в Internet нескольких модификаций вирусов, получивших наименования по классификации Dr.Web Win32.Virut.5 (Email-Worm.Win32.Warezov.jq, Win32/Virut.10192 по классификации других антивирусных поставщиков) и Win32.Scproj.7573 (Backdoor.PcClient.SYX).
Служба мониторинга вирусной активности компании «Доктор Веб» сообщает об обнаружении в Internet нескольких модификаций вирусов, получивших наименования по классификации Dr.Web Win32.Virut.5 (Email-Worm.Win32.Warezov.jq, Win32/Virut.10192 по классификации других антивирусных поставщиков) и Win32.Scproj.7573 (Backdoor.PcClient.SYX).
Как известно, уже в течение долгого времени происходит спам-рассылка известного «штормового червя», маскирующегося под поздравительную открытку и детектируемого антивирусом Dr.Web как Trojan.Packed.142. Службой вирусного мониторинга компании «Доктор Веб» было зафиксировано распространение модификаций «штормового червя», инфицированных сложным полиморфным вирусом Win32.Virut.5, заражающих все исполняемые файлы и содержащих функции управления инфицированными компьютерами с использованием IRC. Антивирус Dr.Web детектирует и «лечит» файлы, пораженные Win32.Virut.5.
Зафиксировано распространение и другого файлового вируса, получившего название Win32.Scproj.7573. Данный вирус заражает все исполняемые файлы на жестких дисках компьютера, а также на сменных дисках.
Вирус, как правило, не меняет размер файла-жертвы, записываясь в области нулевых байтов. Заражение не сопровождается какими-либо визуальными эффектами, его признаками могут служить ошибки Explorer, сообщения тех или иных программ о нарушении целостности исполняемых файлов и т.п. Вирус перехватывает у зараженных приложений доступ в сеть, поэтому может обходить политики безопасности межсетевых экранов для доверенных приложений. В своем теле он содержит ссылки, по которым может получить инструкции для дальнейших действий. Через определенное время после запуска зараженного Explorer вирус проверяет сетевые ресурсы на наличие доступных для записи сетевых папок, и при обнаружении таковых заражает в них все исполняемые файлы. Вирус не заражает файлы в каталогах Windows, WINNT, System32, System и dllcache.
Поделитесь материалом с коллегами и друзьями
Обзор вируса Virus.Win32.Virut.ce
Модификация «ce» полиморфного заражающего вируса Virus.Win32.Virut на сегодняшний день занимает 2-ое место среди всех Virus.Win32.*.*, детектируемых на компьютерах пользователей. Это одна из наиболее распространённых вредоносных программ, которая проникает на незащищённые компьютеры пользователей и заражает исполняемые файлы.
В последние годы инфицирование исполняемых файлов стало среди вирусописателей непопулярно, поскольку уровень их обнаружения с помощью эмуляции достиг высокого уровня. Однако разработчики Virut.ce этого не испугались и реализовали сложные методы ухода от детектирования путём антиэмуляции и полиморфизма.
Код Virut.ce меняется при каждом заражении, используя механизм мутации, заложенный в самом вирусе. Кроме того, чтобы сбить детектирование, разработчики вредоносной программы дополнительно обновляют вирус в среднем раз в неделю. Virut.ce — единственный вирус, который изменяется подобным образом так часто. Мутирует не только тело вируса, но и его декрипиторы (расшифровщики).
В Virut.ce реализована технология сокрытия точки входа (Entry Point Obscuring), затрудняющая обнаружение точки перехода к телу вредоносной программы. При каждом заражении исполняемого файла применяется обфускация, что представляет ещё одну трудность при детектировании.
Введение
Данная статья посвящена полиморфному заражающему вирусу Virus.Win32.Virut, а конкретно — модификации «ce».
Почему же выбор пал именно на Virut.ce?
Virut.ce — один, из наиболее популярных заражающих зловредов, которые проникают на компьютеры пользователей. Вирус заражает исполняемые файлы в системе, применяя самые современные методы, так что его сложно обнаружить, задетектировать и вылечить файлы. В настоящее время для массового распространения вредоносных файлов наиболее активно применяется server–side полиморфизм. Заражение файлов не так популярно, как это было, например, лет пять назад, ввиду того, что уровень эмуляции файлов достиг очень высокого уровня. Надо отдать должное разработчикам Virut.ce: они не побоялись трудностей, с которыми им пришлось столкнуться, применяя заражение исполняемых файлов.
Технологии, реализованные в Virut.ce, очень хорошо отражают наиболее современные методы, используемые при написании зловредов. В нём активно используется антиэмуляция и антиотладка. А именно — применяется подсчёт дельт, полученных с помощью серии инструкций rdtsc, API –функции GetTickCount, а также используется многократный вызов «Fake» API – функций.
Virut.ce — единственный вирус, который изменяется в среднем раз в неделю, что говорит о том, что его разработчики непрерывно следят за состоянием баз антивирусов и немедленно реагируют на появление соответствующих сигнатур — обновляют вирус, чтобы сбить его детектирование. Что интересно, очень грамотно продуман способ обновления версии зловреда — с помощью инфицированных html файлов.
В этой статье рассмотрены техники заражения файлов. Также не будет обойдена вниманием обфускация, которая имеет место при каждом заражении исполняемого файла. Дополнительно будет показана эволюция различных компонент вируса, начиная от его появления и заканчивая настоящим временем. Вся статистика, которая использована в статье, получена с помощью технологии KSN — Kaspersky Security Network.
Краткий обзор статистики и распространения
Самая первая модификация вируса Virut — «a» — появилась ещё в середине 2006 года. Далее шло постепенное развитие вредоносной программы, которое вылилось в появление модификации «q» в сентябре 2007 года.
Эта модификация была очень популярна в своё время, однако, сейчас встречается редко. Полноценная «поддержка» Virut.q была прекращена разработчиками во второй половине 2008 года. А в первую неделю февраля 2009 года было зарегистрировано появление модификации «ce». Промежуток времени между окончанием работы над модификацией «q» и выпуском «ce», по-видимому, был использован для разработки новых методик заражения, алгоритмов шифрования и методов антиэмуляции.
Далее в статье под словами «Virut», «Вирус» и т.д. будет подразумеваться именно Virus.Win32.Virut.ce.
В настоящее время модификация Virut.ce находится на втором месте среди всех Virus.Win32.*.*, детектируемых на компьютерах пользователей:
На графике, приведенном ниже, хорошо видно, что с течением времени активность распространения Virut.ce растет:
Функционал вируса
Пришло время рассмотреть самое основное — функционал вируса. Как известно, подавляющее большинство зловредов создаются исключительно ради извлечения выгоды. Так вот — Virut не стал исключением. По сути — это Backdoor, который вначале пытается внедриться в адресное пространство процесса «explorer.exe» («services.exe», «iexplore.exe»), а затем подключиться по IRC-протоколу к адресам irc.zief.pl, proxim.ircgalaxy.pl, с которых он ожидает команды сервера. Всё довольно стандартно, как и попытка завершения различных процессов, список которых виден на представленном ниже скриншоте. В этом списке присутствуют и процессы антивирусных программ — «nod32», «rising», «f-secure» и т.д.
Довольно интересным является заражение всех *.htm и *.html — файлов. В них дописывается следующая строка:
По этой ссылке будет происходить скачивание наиболее актуальной версии Virut с помощью эксплуатации уязвимости в PDF–файле. От версии к версии (в пределах модификации «ce») эта строка значительно меняется — например, буква «u» заменяется на «u», что является её эквивалентом. Для браузера запись значения не имеет, а вот статичные сигнатуры становятся бессильными.
Общий вид заражения и техника заражения
В вирусе Virut.ce для заражения применяется технология EPO или перезапись точки входа. Совместно с ней используются один или два полиморфных декриптора.
Техника EPO — Entry Point Obscuring, сокрытие точки входа, —заключается в затруднении обнаружения перехода на тело вируса. Обычно это реализуется с помощью замены либо произвольной инструкции, либо параметра инструкции перехода. Ниже приведён пример подмены инструкции и направления перехода.
Под перезаписью точки входа подразумевается изменение PE-заголовка файла, а именно перезапись поля AddressOfEntryPoint структуры IMAGE_NT_HEADERS32. Следовательно, исполнение файла начнётся сразу с вирусной составляющей.
Как упоминалось выше, вирус при заражении добавляет только один или два декриптора. Назовём их «Init» и «Main». Если дешифровщик Main располагается в каждом файле, над которым «поработал» Virut.ce, то Init встречается не всегда. Рассмотрим более подробно назначение и общий вид этого декриптора.
Основное тело вируса имеет размер от 0x4000 до 0x6000 байт и располагается в конце последней секции, которая специально для этого расширяется, и у которой выставляются флаги на запись, исполнение и чтение.
Четыре представленные схемы полностью отражают все возможные варианты заражения и изменения структуры файла.
Первичная дешифровка тела Virut.ce
Прежде чем переходить к функционалу основного тела вируса, рассмотрим Init декриптор в реальном заражённом файле.
Выше располагаются два скриншота. Первый — фрагмент заражённого файла calc.exe. На нём дополнительно отмечены границы секции кода и выделен Init дешифровщик. На втором скриншоте —дизассемблированный код Init декриптора. На иллюстрации красными овалами обведены четыре логических элемента, которые упоминались выше. В данном примере регистр ecx заполняется с помощью последовательных инструкций push — pop, а расшифровка выполняется с помощью adc.
Восстановление оригинального кода
Итак, весь код основного тела можно поделить на три группы по его назначению: восстановление оригинальной функции/точки входа, дешифровка статичного тела, выполнение вредоносной нагрузки. Прежде чем переходить к рассмотрению каждого элемента, посмотрим на структуру тела и на соответствующий фрагмент файла.
Как видно из рисунка, всё основное тело, которое дописано в конец последней секции кода, делится на два типа — зашифрованное статичное тело и исполняемый код. Исполняемая часть содержит код, который исполняет антиэмуляцию, восстанавливает оригинальную точку входа и/или функцию, дешифрует статичное тело. Она «размазана» по основному телу и может располагаться как целиком вверху/внизу, так и может быть разбита на две составляющие. Что интересно, исполняемая часть ещё и сильно обфусцирована. Для антивирусных компаний это является одной из трудностей при детектировании, так как статичные элементы в исходном файле отсутствуют, а статичное тело, очевидно, всегда зашифровано с разными ключами и/или алгоритмами, но об этом далее.
Выше представлен скриншот фрагмента файла, заражённого Virus.Win32.Virut.ce. Красным овалом обведена исполняемая часть основного тела вируса, её также можно найти визуально по значительной бОльшей концентрации нулевых байтов. В этом примере вирус не использовал Init Decryptor при заражении, иначе все области выглядели бы примерно одинаково и были зашифрованы.
Если исключить обфускацию, то в машинных кодах, в самом простом случае, восстановление точки входа и/или функции будет происходить следующим образом (считаем, что была заменена функция GetModuleHandleA):
Этот код полностью соответствует логике работы всего блока. Теперь проследим за изменением всех этапов во времени. Единственный пункт, который не будет подробно рассматриваться, — второй (сохранение оригинального содержимого регистров), так как этот элемент всегда реализуется с помощью инструкции PUSHAD.
Теперь приступим к подробному рассмотрению каждого из этапов логической схемы работы блока.
Рассмотрим последний этап — восстановление непосредственно адреса оригинальной точки входа или адреса пропатченого CALL’а. Его изменение происходит практически непрерывно — в среднем, каждые 2 — 3 недели.
После вызова инструкции PUSHAD указатель на стек — регистр ESP уменьшится на 0×20, следовательно, в [ESP + 20h] будет находить значение, заполненное последней инструкцией CALL. К этому значению применяется арифметическая/логическая операция и получается необходимое нам значение.
На скриншоте ниже приведен фрагмент зараженного файла, содержащий все описанные выше операции (отмечены красным овалом).
Обфускация была исключена из примерного кода для упрощения понимания, однако, её активно используют во всех участках файла, дописанных вирусом (Init декриптор, вся исполняемая часть основного тела). Именно обфускация полностью ограничивает использование статичных сигнатур, так как код после её применения становится полностью изменённым (по содержимому, но не по функционалу). Примеры инструкций, которые используются в качестве «мусора», т.е. не несущих какой — либо функциональной нагрузки:
Под «reg1» и «reg2» подразумеваются разные регистры, а под «reg» — одинаковые, в пределах одного выражения. Арифметические/логические операции, где правый операнд произволен — ADC reg, const; SBB reg, const; XOR reg, const; и т.п.
На скриншотах ниже элементы обфускации отмечены красным овалом:
На левом скриншоте очень хорошо видно, что бесполезные инструкции занимают 70–80% всего кода. Выше были приведены не все возможные варианты обфускации, а наиболее часто используемые. От версии к версии добавляются новые варианты.
Нами была рассмотрена первая часть исполнения основного тела вируса. Этапы, в которых реализуются разнообразные антиэмуляционные и антиотладочные приёмы, будут опущены, поэтому сразу перейдём к Main декриптору.
Дешифровка основного тела
Переход к коду, отвечающему за дешифровку, осуществляется после начальных приготовлений вируса — восстановления пропатченного кода, создания именованного объекта, получения адресов используемых функций из системных библиотек, анти-циклов.
Что интересно, если рассматривать Main декриптор из дизассемблера, то код будет выглядеть бессмысленно, так как происходит вызов инструкции RETN, которая передаёт управление в совершенно произвольное место. Дело в том, что перед тем, как начать исполнение основной дешифровки, инструкция RETN (0C3h) изменяется на CALL (0E8h). Выполняется это с помощью инструкции вида:
где EBP указывает на адрес инструкции, следующей за CALL, а bytereg — один из байтовых регистров.
Следовательно, можно считать, что цикл дешифровки будет начинаться после исправления RETN на CALL. Далее следует цикл дешифровки, который обфусцирован, как и всё остальное тело. Мало того, что используемых алгоритмов довольно много, так они ещё и не элементарны, в отличие от тех, что используются в Init декрипторе. Как правило, используется от двух до шести логических/арифметических операций в связке. Во всех алгоритмах регистр EDX содержит ключ расшифровки, а EAX — виртуальный адрес начала статичного тела. Регистры заполняются с помощью инструкций вида:
В EBP содержится адрес, который следует за инструкцией CALL, и упоминался ранее, при рассмотрении первого этапа логической схемы, ответственной за восстановление оригинальной части файла. Инструкции, ответственные за эти две операции, также претерпевали изменения, однако их рассматривать мы не будем.
Отразить всё многообразие используемых алгоритмов довольно сложно, поэтому приведено лишь несколько самых интересных из них:
ROL DX, 4
XOR [EAX], DL
IMUL EDX, EDX, 13h
ADD [EAX], DL
ROL DX, 5
IMUL EDX, 13h
XOR [EAX], DH
ADD [EAX], DL
XCHG DH, DL
IMUL EDX, 1Fh
XOR [EAX], DH
XCHG DH, DL
ADD [EAX], DH
IMUL EDX, 1Fh
XOR [EAX], DL
ADD [EAX], DH
IMUL EDX, 2Bh
XCHG DH, DL
От версии к версии происходило изменение используемых инструкций, однако чёткую тенденцию проследить не удалось — относительно простые алгоритмы сменялись довольно сложными и наоборот. По — видимому, для разработчиков главной целью было использовать алгоритм, устойчивый к возможному подбору. Этим можно объяснить как и непрерывное изменение алгоритмов, так и отсутствие логики изменения.
Выше представлен скриншот, содержащий фрагмент дизассемблированного кода Main декриптора. Красным овалом отмечены «полезные» инструкции, о которых до этого шла речь. Здесь также присутствуют бесполезные операции, которые являются продуктом обфускации.
Продолжая рассказ об исполнении заражённого файла, перейдём к исполнению вредоносного функционала файла в уже расшифрованном статичном теле. Его исполнение, как правило, начинается с инструкции CALL с маленькой дельтой перехода — для того чтобы вычислить виртуальный адрес начала исполнения и использовать его в дальнейшем для адресации.
Dr.Web защищает от опасных вирусов Win32.Virut.5 и Win32.Scproj.7573
Служба мониторинга вирусной активности компании «Доктор Веб» сообщает об обнаружении в сети Интернет нескольких модификаций вирусов, получивших наименования по классификации Dr.Web Win32.Virut.5 (Email-Worm.Win32.Warezov.jq, Win32/Virut.10192 по классификации других антивирусных вендоров) и Win32.Scproj.7573 (Backdoor.PcClient.SYX).
Как известно, уже в течение длительного периода происходит спам-рассылка известного «штормового червя», маскирующегося под поздравительную открытку и детектируемого антивирусом Dr.Web как Trojan.Packed.142. В течение последних трех дней Службой вирусного мониторинга компании «Доктор Веб» было зафиксировано распространение модификаций «штормового червя», инфицированных сложным полиморфным вирусом Win32.Virut.5, заражающего все исполняемые файлы и содержавшего функции управления инфицированными компьютерами с использованием IRC. При этом антивирус Dr.Web – едва ли не единственный антивирус, который детектирует и, что немаловажно, лечит файлы, поражённые Win32.Virut.5.
Помимо этого, зафиксировано распространение другого файлового вируса, получившего наименование Win32.Scproj.7573. Данный вирус заражает все исполняемые файлы на жёстких дисках компьютера, а также сменных дисках. Вирус, как правило, не меняет размер файла-оригинала жертвы, записываясь в области нулевых байтов. Заражение не сопровождается какими-либо визуальными эффектами, его признаками могут служить ошибки Explorer, сообщения тех или иных программ о нарушении целостности своих исполняемых файлов и.т.п. Вирус перехватывает у зараженных приложений доступ в сеть, поэтому может обходить политики безопасности межсетевых экранов для доверенных приложений. В своём теле содержит ссылки, по которым он может получить инструкции для своих дальнейших действий. Через определённое время после запуска заражённого Explorer вирус сканирует сетевые ресурсы на наличие доступных для записи сетевых папок, и при обнаружении таковых заражает в них все исполняемые файлы. Вирус не заражает файлы в каталогах Windows, WINNT, System32, System, dllcache.
Win32.Virut.56 нападает
Нападению зверя подвергся старенький ноут на CeleronM. К признакам заражения, помимо писка антивирусов, коих владелец поставил аж два — Avast и Avira, можно отнести практически полный паралич системы после загрузки. Перемещение мыши происходило рыками, ярлыки не выделялись, запуск программ происходил с задержкой от 30 секунд до нескольких минут. Собственно это и стало причиной, по которой вирус требовалось излечить, веди он себя тихо и мирно, мог бы годами заражать флешки и красть пароли.
Win32.Virut.56 вирус старинный, пил кровь еще в 2009 году. Этот полиморфный вирус заражает массово exe файлы на диске, иногда портит безвозвратно, способен дописывать в конец HTML файла тег инициирующий загрузку вредоносной программы.
В безопасном режиме система работала более менее сносно, поэтому была предпринята атака (а вдруг повезет) при помощи CureIT последней версии. Ныне это 7-я версия с переработанным интерфейсом. После полуторачасового сканирования было выявлено заражение практически всех exe-файлов, из которых только один не был вылечен, его оказалось достаточно чтобы после перезапуска заражение произошло повторно.
Так как быстрого лечения не получилось пришлось прибегнуть к более радикальным методам. В дело пошел Live CD от DRWeb. Live CD построен на базе Linux и использует для лечение DRWeb для Linux. Для работы с файловой системой используется Midnight Commander, запустив который проверил доступное место для файловой системы ROOT (команда DF из консоли), результат расстроил — доступно было только 225МВ. Затем прошелся по всем местам где могут храниться лишние файлы и поудалял их. К местам хранения временных файлов можно отнести папки TEMP в папках Windows и Documents and Settings, папки кешей браузеров в данном случае это Opera и IE. Очистка этих папок принесла около 1 ГБ свободного места и минус 7000 файлов. Заодно была проверена на наличие ненужных файлов папка Install — оттуда было удалено все, что можно было потом залить из безопасного источника. После уменьшения числа проверяемых объектов запустил полную проверку.
Тут тоже пошло не все так гладко как хотелось и могло бы. После обнаружения 900 зараженных exe-файлов память закончилась и процесс остановился, продолжить его штатными средствами не получилось. Пришлось проверять по директориям — отдельно папку Windows, отдельно Program Files и т.д. Процесс тронулся с мертвой точки, было замечено, что память начинает расходоваться при обнаружении зараженных объектов.
В процессе проверки был замечен еще один интересный момент. DR Web наотрез отказывался проверять три файлика, дойдя до них он останавливался и долго долго их проверял (больше часа, дальше терпения не хватило). Файлы входили в состав программа Avast, ничем не выделялись — размер до 300Кб, не исполняемые. Копия одного из этих файлов лежала в папке восстановления системы. После удаления этих файлов процесс наконец то успешно завершился.
Для защиты системы на ближайшее время был установлен DR Web с бесплатной месячной лицензией. При установке Dr Web честно предупредил, что работать все это будет исключительно тяжело по причине отсутствия мощного процессора и низком объеме памяти.
Лечить и защищать от вирусов старые системы крайне трудно и затратно по времени. На лечение было потрачено около 8 часов времени, на восстановление системы (на ноуте R-40 есть область с записанной системой) ушло бы 20-30 минут с подъемом всего ПО и бекапом пользовательских данных.