Дата: 14.07.2010 | Степан «Step» Ильин
Ваша система заблокирована! Чтобы активации необходимо отправить код xakep на короткий номер 31337. Под каким только предлогом не заставляют ушастого отправить дорогущую SMS, убеждая его в том, что на компьютере вирусы, или то, что Microsoft поймала его за нелицензионную винду, или, в конце концов, за то, что он посмотрел в Инете "клубничку". Развод срабатывает.
Название "Trojan.Winlock" давно стало характеризовать целую отрасль в вирусостроении, когда малварь не скрывает себя в системе, а наоборот всячески показывает свое присутствие, блокируя работу пользователя. Сначала способы выманивая денег напоминали скорее вымогательства (именно поэтому класс вирусов называется Ransomware – от английского слова ransom, выкуп), явно указывая на то, что экран блокирует вирус и сдастся он только после отправки SMS на платный номер. Позже, методы развода стали более изящными: пользователей припугивают, что появившееся окно является новой системой защиты Microsoft по борьбе с нелицензионным ПО, разыгрывают неплохой спектакль, прикидываясь антивирусом, который разом находит кипу вирусов в системе и так далее – главное, что во всех случаях проблемы предлагается быстро решить отправкой на короткий номер SMS.
Как разлочить систему?
Блокираторы могут ограничивать пользователя в посещении определенных страниц (например, Яндекса, Одноклассников, а также сайтов антивирусных компаний), в использовании браузера, но больше всего тех, и они серьезнее всех других, версий малвари, которая блокируют доступ к ресурсам операционной системы. Подхватив заразу, пользователь нарывается на то самое окно, в котором ему предлагается ввести код для разблокировки, полученный после отправки SMS на указанный номер. При этом выполнить какие-либо другие действия на компьютере невозможно или практически невозможно. Приложение либо вообще запрещает любые операции в системе, ограничивая поле деятельности активным окном, либо же внимательно следит за тем, что делает пользователь. Например, если юзер ломится за антивирусом, то вирус, определив ключевые слова в заголовке окна тут же закрывает браузер.
В любом случае, даже самые продвинутые блокеры – малварь, как правило, примитивная. Всяко не руткит TDL3, который хитроумным способом прячется в недрах системы. Все, что требуется от блокиратора – хорошенько ограничить пользователя в действиях и по возможности отрубить антививирусы (с чем, кстати, он нередко справляются). Так или иначе, заразу довольно легко удалить как вручную, так и с помощью многочисленных антивирусных тулз (о них ниже).
Главная загвоздка в том, что компьютер заблокирован, и заблокирован, если ты, конечно, не подцепил малварь столетней давности, довольно жестко. Но если получится добраться до системы, то можно заюзать вспомогательные инструменты и избавиться от заразы, но как это сделать?
Первые версии блокеров был легко обмануть, даже банальной перезагрузкой в безопасный режим. Далее можно либо скачать и запустить какой-нибудь антивирусный сканер, либо же расправиться с заразой вручную. Последние модификации блокираторов умело блокирует все возможные варианты подхода к системе, поэтому и пути приходится использовать обходные.
1. Очевидно, что если выгрузить блокирующий процесс из памяти, то можно вернуть ОС к нормальному состоянию. И если с локального компьютера запустить менеджер задач не получается, то можно попробовать кильнуть процесс малвари удаленно, воспользовавшись другим компьютером в сети. Для этого использоваться оболочка wmic (WMI Command-line), которой в качестве параметров можно передать адрес удаленной машины и имя пользователя, получив таким образом возможность выполнять команды удаленно:
wmic /NODE:<имя компьютера или сетевой адрес> (например /NODE:192.168.1.12) /USER:<имя пользователя на зараженной машине> (например, /USER:yastep)
После того, как ты введешь пароль указанного в параметрах пользователя, появится интерактивная консоль. Управление процессами осуществляется с помощью команды process. Если запустить ее без параметров, то на экране отобразиться список процессов на удаленной системе. Дальше подход нехитрый: ищем подозрительные процессы и последовательно удаляем их с помощью все той же команды и ее ключа delete:
process where name="<имя процесса>" delete
В результате получаем разблокированную систему, в которой можно приступать к лечению, о котором мы поговорим ниже.
2. Имея дело с Windows XP/2000, можно попробовать нажать на клавиатуре комбинацию <WIN-U> – должно появиться окно с активацией специальных возможностей, у которого очень большой приоритет и далеко не все трояны умеют эту ситуацию обрабатывать. Далее запускаем экранную лупу и в появившемся окне с предупреждением кликаем на ссылку "Веб-узел Майрософт", после чего запускается браузер, через который можно достучаться до любого исполняемого файла.
3. Логично, что если добраться до реестра и файловой системы непосредственно из системы не получается, то можно попробовать сделать это с помощью другой ОС. Самый очевидный вариант – загрузиться с LiveCD. Один из самых подходящих дистрибутивов, который поможет реанимировать систему, называется ERD Commander. В торрентах широко распространен образ, включающий в себя версии продукта для реанимации разных ОС: 5.0 – для Windows XP, 6.0 – для Windows Vista, 6.5 – для Windows 7/Server 2008 R2. В результате получаем удачно созданный загрузочный билд винды, откуда можно запустить практически любые вспомогательные тулзы. Помимо таких таких rescue-наборов идеально подойдут специальные LiveCD от антивирусных компаний, которые уже имеют на борту средства для удаления заразы: Dr.Web LiveCD и Kaspersky Rescue Disk.
4. Несмотря на то, что этот способ стоит последним, попробовать его нужно в первую очередь. По правде говоря, когда я впервые увидел блокеры, то наивно верил, что для генерации кодов используются хитрые алгоритмы, а вариантов ключа бесконечно много – в общем, считал, что используется сложный генератор, как для у шароварных программ. На деле же оказалось, что у большинства блокеров ключ защит внутрь в единственном экземпляре, у других используется крайне примитивные алгоритмы, как, например, разные ключи в зависимости от дня недели. К тому же, тело вируса нередко очень просто отреверсить и извлечь оттуда готовый алгоритм для генерации ключей. Этим естественно не преминули воспользоваться энтузиасты, собравшие базы таких ключей для разблокировки, а потом и антивирусные компании, составив базы "короткий номер SMS – код для отправки – алгоритм составления ключа для разблокировки". Сейчас такие онлайн сервисы есть у всех популярных отечественных вендоров:
Лаборатория Касперского: support.kaspersky.ru/viruses/deblocker;
Dr.Web: wwwdrweb.com/unlocker/index;
Eset: wwwesetnod32.ru/.support/winlock.
Помимо этого для оффлайного использования есть программа RansomHide. Пробив номер для отправки SMS и текст сообщения, с большой вероятностью можно получить рабочую комбинацию для разблокировки и получить работоспособную систему. Но тут надо понимать, что зараза по-прежнему остается в системе, поэтому ее все равно необходимо удалить.
Ручное удаление
Самый верный способ обезвредить и удалить тело вируса, – отыскать, где она успела прописаться для автоматического запуска на старте системы. Вариантов очень много, и описывать все было бы просто глупо (в конце концов, с задачей неплохо справляются такие тулзы, как Hijackthis, Autoruns и OSAM). Но есть способ, который именно блокеры любят больше всего, и о нем грех не рассказать.
В реестре винды есть ключ HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\userinit, который определяет программы, которые Winlogon запускает, когда пользователь входит в систему. По умолчанию, Winlogon запускает файл Userinit.exe, который в свою очередь стартует logon-скрипты, устанавливает сетевые подключения, а затем запускает и Explorer.exe, т.е. пользовательский интерфейс Windows. Прописав до Userinit.exe путь до какой-нибудь программы, можно запустить ее, прежде чем стартует интерфейс Windows Explorer, а, прописав после, – обозначить старт конкретного приложения сразу после появление пользовательского интерфейса. Блокеры очень часто изменяют этот ключ, дописывая путь до своего исполняемого файла:
Userinit = %systemfolder%\userinet.exe, [путь до исполняемого файла блокера]
Само тело вируса обычно размещается где-нибудь в неприметном месте. Как вариант, прикидываясь временным файлом с расширением tmp, оно находится в каталоге с временными файлами Windows. Обнаружив в этом ключе подозрительные записи, удаляем подозрительные бинарники и возвращаем значение ключа до "%systemfolder%\userinit.exe". Другой распространенный способ для автозапуска для блокеров - прописаться в ключе shell (находится в том же разделе реестра, что userinit), заменив стандартное значение explorer.exe на путь до зловредного бинарника.
Способов на деле очень много, но если отыскать подозрительные записи в реестре, то легко удалить и тела вирусов. Правда, некоторая малварь идет на самую малую хитрость и размещает свои файлы в скрытых потоках на диске, но тем проще ее обнаружить. Какие еще приложения используют такую возможность NTFS? Да никакие. Удалить их несложно с помощью утилиты streams от Марка Руссиновича, запустив в консоли: "streams.exe -d -s c:\".
Зовем помощников
Чтобы не ковыряться с файловой системой и реестром вручную, устраивая охоту на малварь (а нам – не превращать материал в описание тех мест в системе, где может обосноваться малварь), можно воспользоваться антивирусными программами, в том числе бесплатными вариантами коммерческих продуктов (естественно предварительно разблокировав систему):
Kaspersky Virus Removal Tool – бесплатная вариация продукта от Лаборатории Касперского, использующая тот же движок и сигнатурные базы, но не предоставляющей постоянной защиты. Прога делает как раз то, что нам нужно – одноразовое сканирование. При этом сигнатуры зашиты в дистрибутив, поэтому перед каждым использованием его необходимо закачивать заново.
Dr.Web CureIt! – полностью аналогичное решение, с той лишь разницей, что разработано другой антивирусной лабораторией.
Блокиратор – не руткит, и с удалением такой заразы справится всякий антивирус. Впрочем, если доверия к аверам нет или ты хочешь сам более подробно разобраться, как зараза осела в системе, то неоценимую помощь тебе подскажут две утилиты, которые стали своеобразным стандартом де-факто в ручном поиске вирусов:
AVZ – несмотря на то, что в этой программе есть типовой сигнатурный сканнер, в первую очередь утилиту нужно воспринимать, как полуавтоматический антивирус. Самое главное, что она позволяет – не копаться вручную в реестре и на жестком диске в поисках подозрительных записей и файлов. AVZ выполняет поиск малвари по косвенным признакам, анализируя реестр, файловую систему и память, после чего выдает отчет для самостоятельно осмысления. При этом для анализа используется прямой доступ к диску, позволяя избежать спуфинга малварью результатов вызова API-функций.
HijackThis – так же, как и AVZ, сама ничего не лечит, но при этом проверяет области системы, наиболее подверженные изменениям малварью. Тулза сканирует критические области реестра и выводит полный список найденных ключей, некоторые из которых могут принадлежать вредоносным программам и вирусам.
Обе программы в тандеме используются на различных security-форумах, где людям помогают избавиться от вирусов, в том числе на самом крупной российском ресурсе virusinfo.info. Пользователи выкладывают логи, полученные с помощью AVZ/HijackThis, а эксперты в качестве ответа присылают скрипты-сценарии, которые легко выполняются с помощью мощного движка AVZ. Для сбора данных как для самостоятельного анализа, так и для обращения за помощью к комьюнити нужно запустить AVZ и через меню "Файл -> Стандартные скрипты" выполнить скрипты "Скрипт лечения/карантина и сбора информации для раздела "Помогите!" virusinfo.info" и "Скрипт сбора информации для раздела "Помогите!" virusinfo.info". В отчеты ты получишь подробный отчет о запущенных процессах и сервисах, подгруженных драйверах, инжектированных в процессы DLL-библиотеках, надстройках для Internet Explorer и всем-всем, что только может помочь для анализа. Причем отчет выполнен на HTML так, что ты на месте можешь создавать сценарий для удаления тех или иных файлов, ключей реестра и других манипуляций в системе, которые помогут избавиться от малвари.
Если что-то отключено
Увы, даже после удачного удаления процесса из памяти и тела малвари, в системе иногда остаются остаточные явления от деятельности блокера, заключающиеся, например, в невозможности запустить редактор реестра. Чем более кривой вирус попался, тем больше ждать таких вот ограничений. В большинстве случаев это можно поправить через реестр в разделе HKEY_CURRENT_USER, определяющем работу системы для текущего пользователя, а также HKEY_LOCAL_MACHINE, в котором задаются настройки для всех пользователей сразу.
Начать надо с того, что вполне может не запускаться сам редактор реестра. Если этого произошло, то придется внести поправить ключи реестра DisableRegedit и DisableRegistryTools:
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegedit /t REG_DWORD /d 0
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegedit /t REG_DWORD /d 0
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /t REG_DWORD /d 0
Это не всегда может помочь. Если у тебя в принципе не запускаются exe-файлы, то надо попробовать выполнить reg-файл следующего содержания:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\exefile\shell]
[HKEY_CLASSES_ROOT\exefile\shell\open]
"EditFlags"=hex:00,00,00,00
[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"
[HKEY_CLASSES_ROOT\exefile\shell\runas]
[HKEY_CLASSES_ROOT\exefile\shell\runas\command]
@="\"%1\" %*"
Это поможет, если вирус переассоциирует запуск исполняемых файлов на себя. Помимо этого малварь может расстроить запуск приложений (например, того же regedit.exe) с помощью раздела HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options. Добавив ветку с названием исполняемого файла, можно заставить систему запускать приложение под отладчиком, который в свою очередь задается с помощью вложенного ключа Debugger. Задать дебаггер можно неправильно, и запуск приложения не произойдет. Удалить мешающие ключи реестра опять же удобно через командную строку:
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\regedit.exe"
Если приложение не запускается, ссылаясь на политику ограничения использования программ, то тебе прямиком дорога в HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths. Придется покопаться и перебрать ветки, выбрав те, которые блокируют запуск нужного приложения.
Если после удаления малвари не запускается диспетчер задач, то вероятнее всего его запуск ограничили с помощью ключа "DisableTaskMgr". Это легко правится reg-файлом:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=dword:0
Блокиратор браузеров
Еще одно ограничение, которое может остаться даже после удаления малвари, – всплывающие окна в браузере. Иногда не убиваемый popup с требованием отправить SMS, – единственный симптом вирусов. Увы, многие антивирусные продукты некоторые из ситуаций обработать могут далеко не всегда, а именно когда малварь устанавливается как надстройка для Internex Explore или как плагин к Firefox'у. Впрочем, избавиться от них проще простого, банально отключив подозрительные расширения. В Internet Explorer для этого необходимо перейти в "Управление надстройками" через меню "Сервис > Надстройки > Включение и отключение надстроек", а в Firefox'е окно для управления дополнениями открывается через "Инструменты > Дополнения".
INFO
Рекомендую обзавестись в системе утилитой ProcessExplorer от Марка Руссиновича, представляющую собой прокаченный таскменеджер. Если переименовать exe-шник в какое-нибудь незамысловатое название есть шанс, что ты сможешь использовать его, если какая-то малварь заблокирует штатный менеджер задач.
Почему короткие номера для платных SMS не прикрывают?
Для того чтобы принимать платежи через SMS необязательно идти на контакт с сотовым оператором. Сейчас огромное количество компаний, которые предлагают посреднические услуги и удобные интерфейсы для внедрения такого способа платежей на своем сайте. Просто набери в Google'е "sms биллинг" и поймешь, насколько много подобных предложений. Кстати, практически любой короткий номер, будь он из рекламы, блокиратора или откуда-либо еще, довольно легко пробить через Google и найти обслуживающий его биллинг с указанием реальной стоимости, которая за него снимается.
Как правило, у биллинга есть строгие правила, которые не позволяют использовать их мошенникам. Даже если последним удается пройти первичный контроль модератора, аккакунт блокируется при первом же факте обнаружения развода. Однако ситуация тут точно такая же, как и с хостингом: находятся люди и компании, готовые закрывать глаза на шалости клиентов, получая при этом соответствующее вознаграждение. Такие биллинги называются антиабузные.
Не смотря на то, что пользователей, по сути, вымогают отправить платную SMS, реальных случаев, чтобы человек пошел подать заявление в милицию очень мало (а до недавнего времени не было вообще), поэтому блокираторы довольно успешно существовали почти полтора года. Чтобы обезопасить себя, договоры с биллингом заключаются, как правило, на дропа или ИП, также зарегистрированного на документы подставного человека.
Впрочем, уже сейчас жить предприимчивым парням становится сложнее. Операторы стали жестко наказывать рублем контент-аггрегаторов и провайдеров, которых уличили во фроде. Более того, совершенствуется сама защита пользователей: после отправки SMS на короткий номер, МТС с недавнего времени присылает абоненту ответную SMS с просьбой подтвердить оплату и указанием реальной стоимости отправленного сообщения.