В предыдущих номерах компьютерной
газеты мой многоуважаемый коллега Евгений поведал нам о вредоносных
программах, которые заставили попотеть антивирусные компании по всему
миру и ввергли в глубокий шок простых пользователей. Это знаменитые
Rustok.C и Sinowal – зловреды нового поколения вредоносных программ со
всеми вытекающими. Сегодня я продолжу этот занимательный рассказ, а
говорить буду о нашумевшем черве, который имеет три различных названия,
постоянно мелькающие в новостных сводках RSS лент разнообразных
ресурсов IT-тематики. Вы, наверное, уже догадались, что же это за он?
Правильно, это Conficker, он же Kido и Downadup. Ну что ж, приступим к
анализу и начнем, пожалуй, с отголосков прошлого, а точнее с 2008 года.
2008…
Впервые о Conficker заговорили еще в
октябре 2008 года. 23 числа того месяца, компания Microsoft обнаружила
критическую уязвимость во всех ОС Windows, связанную с системной
службой Server. Уязвимость существует из-за ошибки в библиотеке
netapi32.dll при обработке RPC запросов. Как утверждают, удаленный
пользователь может с помощью специально сформированного RPC запроса
вызвать переполнение буфера в стеке и вызвать отказ в обслуживании
системы или выполнить произвольный код на целевой системе с
привилегиями учетной записи SYSTEM. Именно этой дырой и воспользовались
разработчики червя. И именно через нее он и ведет свое активное
размножение, скачивая свои копии из Интернета. Причем разработчики
вируса научились постоянно менять свои сервера, что не дает возможности
отследить распространение Conficker. Периодически червь случайным
образом генерирует около 50 тыс. доменных имён в сутки, к которым
обращается для получения исполняемого кода. При получении с сайта
исполняемого файла червь сверяет электронно-цифровую подпись и, если
она совпала, запускает файл. За считанные месяцы вирусом были заражены
миллионы компьютеров по всему миру. Лидирующие строки по
распространенности Conficker’а занимают Китай, Россия и Бразилия, что
видно из диаграммы на рисунке 1.
По состоянию на февраль 2009 года в
этих странах специалисты по компьютерной безопасности насчитали
260.000, 200.000 и 175.000 случаев заражения соответственно. Всего, по
последним данным, червь заразил более 13.000.000 машин. Неплохо, не так
ли?? Причем 10.000.000 были инфицированы за первые 4 дня
распространения! Статистика заражения операционных систем за 4 дня
активной жизни червя видна на рисунке 2. Наиболее пострадали
операционные системы Windows XP SP1 и более ранние версии. Чуть меньше
пострадали системы Winsows XP SP2 и выше.
Что же делает червь, когда попадает на компьютер потенциальной жертвы? Идем далее.
В тылу врага
При попадании копии червя на ПК,
зловред первым делом копирует себя в стандартные системные папки,
причем имя файла всегда разное:
Причем всем этим файлам вирь
присваивает дату создания и изменения, взятую из системного файла
%System%\kernel32.dll, что исключает возможность поиска недавно
созданных файлов. Далее червь блокирует доступ к сайтам разработчиков
антивирусного ПО, например, f-secure.com, drweb.com, kaspersky.ru,
вследствие чего пользователь не может скачать утилиты, необходимые для
удаления червя, или просто получить техническую помощь у специалистов
компании. Помимо этого вирус в обязательном порядке отключает
внутренние службы Windows: автоматическое обновление (Windows Update),
отчеты об ошибках (Windows Error Reporting), Центр Безопасности Windows
(Windows Security Center) и Windows Defender. Тем самым он не дает
системе автоматически скачать и установить заплатки, что делает жизнь
червя продолжительной и продуктивной. Кончено остается ручной способ,
но и тут разработчики малвари обошли нас – Conficker перехватывает
вызов API функций отвечающих за работу с DNS. При попытке выполнить
DNS-запрос браузеры используют функции DNS_Query_A или DNS_Query_W,
которые контролируются червем. В случае если юзер посмел вызвать
нежелательный сайт, червь попросту блокирует его. В итоге мы получаем
запрет на посещение ресурсов, связанных с лечением ПК от вирусов,
антивирусных компаний, запрет на скачивание антивирусных утилит и
обновлений.
Следующим шагом в работе червя является
распространение. Вот тут авторы вируса явно преуспели, наделив свое
детище довольно обширным функционалом. Первым в списке будет ранее
оговоренная ошибка в службе Server, позволяющая выполнить произвольный
код. О ней я писал выше, поэтому останавливаться не буду, а лишь
добавлю интересную особенность – для того, чтобы быстрее
распространяться, вирус делает небольшую поправку в реестре,
значительно увеличивая количество возможных TCP-подключений. И в
обязательном порядке делает невозможным использовать данную уязвимость
другими особями, путем перехвата вызова функции NetpwPathCanonicalize.
Вторым способом размножения стал банальный и уже всем поднадоевший
способ репликации через USB-накопители. При этом вирус в виде
переименованной DLL-библиотеки, сохраняется в папке RECYCLER. Не
помешало бы заметить, что файл Autorun.inf хорошо обфусцируется червем,
дабы слабенькие сигнатурные сканеры не смогли распознать заразы. И
когда уже придет мощная эвристика на смену сигнатурам?? На рисунке 3
можно увидеть код файла Autorun.inf, созданного Conkicker.
Запуск копии осуществляется командой
«Open=rundll32.exe .\RECYCLER\[случайное имя].vmx». Кроме всего этого,
червь реализует P2P механизм обмена обновлениями, что позволяет ему
рассылать обновления удалённым копиям, минуя управляющий сервер. Как и
огромное число других червей, Conficker так же ведет поиск компьютеров
с открытым доступом к ADMIN$ или защищенным простыми паролями. Для
этого вирус вызывает системную функцию NetServerEnum для поиска
компьютеров в сети. После того, как червь получит список пользователей,
он начинает брутить их используя пассы из небольшого и заранее
составленного разработчиками списка. Кусочек такого списка виден ниже
на рисунке 4:
А так же пытается подобрать пароли вида
«имя пользователя», «имя пользователя наоборот», «имя пользователя»+
«имя пользователя» и тому подобные комбинации. Если атака удалась,
вирус создает на удаленном компьютере свою копию опять же под случайным
именем и расширением. Затем там же создается ежедневное задание для
Планировщика, с помощью которого и запускается вирус по следующему
принципу – rundll32.exe [random filename].[random extension], [random].
Как вы должны были заметить – ничего нового в способах распространения
нет, однако каков результат! А для чего все это создавалось? На этот
вопрос постараюсь ответить дальше.
Задание выполнено
Для чего же можно использовать столь
огромный бот-нет?? О, ну тут пределом может стать только ваша фантазия.
Задачи могут быть разными – от банального распространения спама,
автокликинга и продажи трафика, до мощнейших DDoS атак и
распространения опасных вредоносных программ. На этой зомби-сети можно
поднять очень большие деньги. Многие антивирусные компании
прогнозировали, что запуск бота произойдет 1 апреля 2009 года, однако
они ошиблись. Чуть позже уже зараженные машины начали проявлять
активность, путем загрузки вредоносного кода, известного под именем
Waledac. Также большую популярность получили загрузки лже-антивирусов.
Что будет дальше? Остается только гадать, хотя прогнозы не
утешительные: падение Интернета и тому подобная чепуха. Лично я и мои
товарищи аналитики из SASecurity gr. Не считаем, что это произойдет по
одной, но весомой причине – червь попросту прекратит сове
существование. У него отпадет возможность реплицировать, качать из
И-нета всякую гадость, генерировать домены и вообще он перестанет более
быть бот-нетом. Так что авторам червя не выгодно производить перегрузку
каналов. А для того, чтобы этого вообще не произошло, даже если кто-то
захочет, надо бы удалить червя со своего ПК или ежели его еще у вас
нет, просто обезопасить себя. Как это сделать, читаем далее.
Профилактика и лечение заразы
Многие источники – СМИ и специалисты по
информационной безопасности – уверяют, что полностью обезопасить
систему от проникновения Conficker нельзя. Специалисты из SASecurity
gr. опровергают это мнение, и лично я хочу привести вам отличный
способ, который поможет иммунизировать систему. Первое, что вы должны
сделать – убедиться, что ваш ПК еще не заражен. Это можно сделать,
посетив какую-нибудь страничку антивирусной компании, вроде
Kaspersky.ru. Если вам это не удалось – это может быть первым
симптомом. Вторым является большое количество открытых портов. В этом
случае советую вам лечиться, как укажу ниже, а пока только об
иммунизации. Так вот, если же в системе червя еще нет, первое что надо
сделать – скачать патч для службы Server – бюллетень MS08-067 и
установить его. Сделать это можно по ссылке
http://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx. Для
максимальной безопасности лучше было бы вообще отключить эту службу, но
это советую делать только, если вы уверены, что она вам не понадобится.
Далее следует в обязательном порядке запретить автозапуск на съемных
носителях и жестких дисках (на CD и DVD дисках я пока еще не видел
подобного). Информацию по отключению автозапуска можно найти в
предыдущих номерах компьютерной газеты или в интернете. Третьим шагом
на нашем пути станет установка антивирусного ПО и сетевого экрана, если
таковых еще не имеется. В обязательном порядке следует обновить
антивирусные базы. Четвертый шаг – отключение службы «Планировщика
заданий», уверен, что вы его даже не используете. И последним, пятым,
шагом станет установка качественного и сложного пароля на систему. Не
банальный, вроде «pass112», а действительно хороший, в стиле
«R8#lUq2EfgC$». Вот и все! Все эти действия закроют основные каналы
распространения червя и помогут защитить систему от заражения.
Если же Вы уже заражены, то следуйте следующей инструкции:
1. Удалить ключ из системного реестра – HKLM\SYSTEM\CurrentControlSet\Services\netsvcs.
2. Удалить строку «%System%\<rnd>.dll» из следующей записи реестра:
[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost] «netsvcs».
3. Перезагрузить ПК
4. Удалить оригинальный файл червя, где его искать – смотрите описание
способов заражения компьютеров из «В тылу врага». Делать это советую в
Total Commander с включенной опцией «Показывать скрытые/системные
файлы».
5. Со всех съемных носителей удаляем копии червя и файлы Autorun.inf
(имена и расположение копий можно как раз посмотреть в этом файле).
6. Теперь попросите у друга или найдите на дисках утилиту Dr.Web CureIt
и просканируйте вашу систему на наличие зловредов. Желательно, чтобы
это была последняя версия программы со всеми обновлениями.
7. На всякий случай можно ребутиться.
8. Пересоздать или удалить файл hosts из system32\drivers\etc. Это
позволит вновь обращаться к разнообразным ресурсам в сети, вроде сайтов
антивирусных компаний.
Это ручной способ удаления Conficker.
Есть, конечно, еще и автоматизированные способы, вроде разнообразных
утилит от Symantec, F-Secure и так далее, но все же лучше это делать
самому. Тем более, что мы не имеем доступа к этим утилитам из-за
активного зловреда
Заключение
Вот так вот обычный червь с простыми и
давно известными, но отлично продуманными фишками поразил весь свет.
Удручает то, что и до сих пор, начиная с октября 2008 года, существует
реальная угроза заражения, а вирус продолжает распространяться.
Специалисты компании Symantec заявляют о том, что вредоносная программа
Conficker продолжает распространяться с высокой скоростью и в настоящее
время ежедневно инфицирует до 50 тысяч компьютеров. Обидно, что многие
крупные компании не смогли противостоять опасности вовремя. И даже
сейчас не могут нормально помочь пользователям справиться с заразой. Но
самое интересное то, что за достоверную информацию об авторах
вредоносной программы предлагается награда в размере 250 тысяч
долларов. Такие немаленькие деньги предлагает компания Microsoft. Так
что, если вы располагаете какой-либо информацией, обращайтесь к
мелкомягким за зелеными, только смотрите, как-бы вместо награды вас
самих не приобщили к делу !