О компьютерных вирусах

В наше время Интернет начал развиваться настолько бурными темпами, проник во все сферы нашей жизнедеятельности: личная жизнь, учёба, покупки, бизнес и т.д.

Многие уже и не представляют свою жизнь без Интернета. Для кого-то Интернет стал настоящим бизнес поприщем. А там где водятся деньги – всегда найдутся те, кто желает ими легко поживиться.

 Существует множество мошенников, которые различными способами пытаются отнять ваши честно заработанные деньги: либо при помощи вас, либо вашего компьютера отнимают эти деньги у других.

Особенностью Интернета является также то, что там нет ни милиции, ни каких либо других организованных и постоянно занимающихся борьбой с киберпреступниками структур. Поэтому защищать придётся самим себя. А я вам с этим помогу!

Поиск и удаление вирусов

Пока что я не знаю никого, кто бы прямо или косвенно не пострадал от действий компьютерных вирусов.

Антивирусные компании много хотят за свои продукты, которые так и не обеспечивают надлежащей защиты.

Спрашивается, зачем вообще тогда покупать антивирусное ПО?

Все что создано человеком может быть уничтожено, это относится как к антивирусам, так и к вирусам.

Человека обмануть намного сложнее, чем программу.

Поэтому эта статья посвящена описанию методики обнаружения и удаления вирусов без антивирусного продукта. Запомните есть только одна вещь, ценность которую невозможно обойти/сломать/обмануть - это Знание, собственное понимание процесса.

Сегодня я расскажу на реальных примерах как обнаружить и поймать у себя на компьютере Интернет-червей и шпионское ПО. Конечно есть еще много видов, но я взял самые распространенные и решил написать про то, что было у меня на практике, дабы не сказать чего лишнего. Если повезет в поиске расскажу про макро-вирусы, бэкдоры и руткиты.

Итак перед тем как приступись, отмечу, в данной статье рассматриваю только операционную систему семейства NT, подключенную к интернету. Перейдем к беглому, а затем и детальному анализу системы на предмет червей и шпионов. Беглым осмотром мы просто обнаружаем наличие программы и локализуем ее, детальный анализ уже идет на уровне файла и процессов. Там я расскажу о прекрасной программе PETools, впрочем всему свое время.

Анализируем систему на предмет вируса

Логично, что для того чтобы обнаружить и удалить вирус необходимо существование такового. Профилактика остается профилактикой, о ней поговорим позже, однако надо первым делом определить есть ли на компьютере вообще вирусы. Для каждого типа вредоносных программ соответственно есть свои симптомы, которые иногда видны невооруженным глазом, иногда незаметны вовсе. Давайте посмотрим, какие вообще бывают симптомы заражения вирусом. Поскольку мы ведем речь о компьютере, подключенном к глобальной сети, то первым симптомом является чрезмерно быстрый расход, как правило, исходящего трафика, это обуславливается тем, что очень многие интернет-черви выполняют функции DDoS- машин или просто ботов. Как известно. при DDoS атаке величина исходящего трафика равна максимальной величине трафика за единицу времени. Конечно, на гигабитном канале это может быть и не так заметно если проводится DdoS атака шириной с диалап соединение, но как правило бросается в глаза заторможенность системы при открытии интернет ресурсов (Еще хотелось бы отметить, что речь пойдет о вирусах, которые хоть как то скрывают себя системе, ведь не надо объяснять ничего если у вас в папке Автозагрузка лежит файл kfgsklgf.exe который ловится фаерволлом и т.д.). следующее по списку, это невозможность зайти на многие сайты социальных сетей, антивирусных компаний, сбои в работе платных программ типа CRC-error, это уже обусловлено тем, что достаточно многие коммерческие протекторы поддерживают функцию проверки четности или же целости исполняемого файла (и не только протекторы, но и сами разработчики защит), что сделано для защиты программы от взлома. Не будем говорить об эффективности данного метода против крякеров и реверсеров, однако сигнализацией к вирусному заражению это может сработать идеально. Плата начинающих вирмейкеров за не убиваемые процессы, то что при выключении или перезагрузке компьютера идет длительное завершение какого нибудь-процесса, или же вообще компьютер зависает при завершении работы. Думаю про процессы говорить не надо, а так же про папку автозагрузка, если там есть что-то непонятное или новое, то, возможно, это вирус, однако про это попозже. Частая перезагрузка компьютера, вылет из интеренета, завершение антивирусных программ, недоступность сервера обновления системы microsoft, недоступность сайтов антивирусных компаний и социальных сетей, ошибки при обновлении антивируса, ошибки вызванные изменением структуры платных программ, сообщение windows, что исполняемые файлы повреждены, появление неизвестных файлов в корневом каталоге, это лишь краткий перечень симптомов зараженной машины. Помимо прямых вредоносных программ существует так называемое шпионской программное обеспечение, это всевозможные кейлоггеры, дамперы электронных ключей, нежелательные "помощники" к браузеру. Честно говоря, по методу обнаружения их можно разделить на два противоположных лагеря. Допустим кейлоггер, присоединенный динамической библиотекой к оболочке операционной системы обнаружить на лету крайне сложно, и наоборот, невесть откуда взявшийся помощник (плагин, строка поиска и т.д.) к internet Explorer'у (как правило) бросается в глаза сразу же. Итак, я думаю, настало время оставить эту пессимистическую ноту и перейти к реалистичной практике обнаружения и удаления вирусов.

Обнаружение и удаление вируса на лету

Первым делом мы научимся обнаруживать и удалять вирус из категории интернет червей. Про почтовые черви я рассказывать не буду, алгоритм он один для всех, однако метод распространения почтовых червей настолько банален, что если вы умудрились запустить файл из аттача, то эта статья вам не поможет все равно. Для наглядности приведу пример из жизни, как обнаружил недектируемый ни одним антивирусом (до сих пор) IRC-bot, на уязвимой машине. Принцип распространения таких червей довольно прост, через найденную уязвимость в операционной системе. Если подумать головой то можно понять, что основным способом забросить себя на уязвимую машину является вызов ftp-сервера на этой машине. По статистике уязвимостей это печально известный tftp.exe (который, кстати, я не разу не использовал и думаю, что и создан он был только для вирусописателей). Первый симптом таких червей это исходящий трафик и не только из-за DDoS атак, просто вирус, попадая на машину, начинает поиск другой уязвимой машины в сети, то есть попросту сканирует диапазоны IP-адресов. Далее все очень просто, первым делом смотрим логи в журнале событий ОС, что находится по адресу Панель управления->Администрирование->Журнал событий. Нас интересуют уведомления о запущенных службах и главное уведомления об ошибках. Уже как два года черви лезут через ошибку в DCOM сервере, поэтому любая ошибка, связанная с этим сервером уже есть повод полагать о наличие вируса в системе. Чтобы точно убедится в наличии последнего, в отчете об ошибке надо посмотреть имя и права пользователя допустившего ошибку. Если на этом месте стоит "пользователь неопределен" или что-то подобное то радуйтесь, вы заражены! и вам придется читать дальше. Я именно так и обнаружил своего первого вируса на специальной сборочной машине (просто компьютер подключенный к сети с win2000, безо всяких пакетов обновление, экранов и т.д. специально для сбора таких программ. Если действовать по логике, а не по инстинкту, то первым делом вы должны закрыть дыру в системе для последующих проникновений, а потом уже локализовывать вирусы. Как я уже говорил, такие вирусы обычно лезут через tftp.exe, поэтому (если он вам действительно не нужен! если никогда его не видели, значит, не нужен) просто удаляем его из системы. Для этого сначала удаляем его из архива %WINDIR%\Driver Cache\driver.cab, затем из папок обновления ОС, если таковые имеются, после этого из %WINDIR%\system32\dllcache\ и уже потом просто из %WINDIR%\system32\ Возможно, ОС скажет, что файлы повреждены и попросит диск с дистрибутивом, не соглашайтесь! А не то он восстановится и опять будет открыта дыра. Когда вы проделаете этот шаг можно приступать к поиску и удалению вируса. Посмотреть какие приложения используют сетевое подключение, помогает маленькая удобная программа TCPView, однако некоторые черви имеют хороший алгоритм шифрации или хуже того, прикрепляются к процессам либо маскируются под процессы. Самый распространенный процесс для маскировки - это, несомненно, служба svchost.exe, в диспетчере задач таких процессов несколько, а что самое поразительное, можно создать программу с таким же именем и тогда отличить, кто есть кто практически невозможно. Но шанс есть и зависит от внимательности. Первым делом посмотрите в диспетчере задач (а лучше в программе Process Explorer) разработчика программ. У svсhost.exe это как не странно Microsoft, конечно можно добавить подложную информацию и в код вируса, однако тут есть пара нюансов. Первый и наверное главный состоит в том, что хорошо написанный вирус не содержит не таблицы импорта, не секций данных. Поэтому ресурсов у такого файла нет, а, следовательно, записать в ресурсы создателя нельзя. Либо можно создать ресурс, однако тогда появится лишний объем файла, что крайне нежелательно вирмейкеру. Еще надо сказать про svchost.exe, это набор системных служб и каждая служба - это запущенный файл с определенными параметрами. Соответственно в Панели управления -> Администрирование -> Службы, содержатся все загружаемые службы svсhost.exe, советую подсчитать количество работающих служб и процессов svсhost.exe, если не сходиться, то уже все понятно (только не забудьте сравнивать количество РАБОТАЮЩИХ служб). Подробнее в "Список системных служб svсhost.exe (WinXP)".

Надо так же отметить, что возможно и среди служб есть вирус, на это могу сказать одно, список служб есть и на MSDN и еще много где в сети, так что просто взять и сравнить проблемы не составит. После таких вот действий вы сможете получить имя файла, который возможно является вирусом. О том, как определять непосредственно вирус или нет, я расскажу чуть дальше, а сейчас оторвемся от рассуждений и посмотрим еще несколько моментов. Как вы, наверное, уже знаете, для нормальной работы ОС необходимо всего 8 файлов в корневом каталоге, поэтому все остальные файлы вы можете смело удалять, если конечно вы не умудряетесь ставить программы в корневой каталог. Кстати файлы

для нормальной работы, вот они:

Больше ничего быть не должно. Если есть и вы не знаете, откуда оно там появилось то переходите к главе "Ищем вирус лучше". Приаттачивание к процессам мы так же рассмотрим в главе "Ищем вирус лучше", а сейчас поговорим про автозапуск. Естественно вирус должен как-то загружаться при старте системы, как правило. Соответственно смотрим следующие ключи реестра на предмет подозрительных программ. (А если вы уже нашли вирус, то ищите имя файла везде в реестре и удаляйте):

Это все было сказано про детектирование простых червей. Конечно, вычислить хороший скрытый вирус сложно. Обнаружение этого червя и его деативация заняли у меня около 10 минут времени, конечно, я знал, где искать, это упростило задачу. Однако допустим на обнаружение хорошего бэкдора, кейлоггера, стелс-вируса, или же просто вируса, в котором используется перехват вызовов API-функций файловой системы (тогда вирус получается действительно невидимым), потокового вируса, в общем, есть еще ряд нюансов, однако таких творений действительно мало, мало настоящих вирмейкеров в наши дни. Огорчает. теперь перейдем к шпионским программам, или, как их называют буржуи SpyWare. Объяснять буду опять же на примерах шпионов, которых я ловил сам лично, чтобы мои слова не казались пустой фантазией.

Начну я свой рассказ с самых распространенных шпионов. В одном небезызвестном журнале один хороший программист правильно назвал их блохами ослика. Простейший шпион очень часто скрывается за невинным на вид тулбаром. Знайте, что если у вас, вдруг, откуда не возьмись, появилась новая кнопка или же строка поиска в браузере то считайте, что за вами следят. Уж очень отчетливо видно, если у вас вдруг изменилась стартовая страница браузера, тут уж и говорить нечего. Конечно, прошу простить меня за некоторую некорректность в терминах. Вирусы, меняющие стартовые страницы в браузере вовсе не обязательно будут шпионами, однако, как правило, это так и поэтому позвольте здесь в этой статье отнести их к шпионам.

Рассмотрим пример из жизни, когда я пришел на работу и увидел на одном компьютере странного вида строку поиска в браузере, на мой вопрос откуда она взялась я так ничего и не получил, пришлось разбираться самому. Как вообще может пролезть шпион в систему? Есть несколько методов, как вы уже заметили речь идет про Internet Explorer, дело в том, что самый распространенный метод проникновения вируса в систему через браузер - это именно посредством использования технологии ActiveX, саму технологию уже достаточно описали и зацикливаться я на ее рассмотрении не буду. Так же заменить стартовую страницу, к примеру, можно простым Java-скриптом, расположенным на странице, тем же javascript можно даже закачивать файлы и выполнять их на уязвимой системе. Банальный запуск программы якобы для просмотра картинок с платных сайтов известного направления в 98% случаев содержат вредоносное ПО. Для того чтобы знать, где искать скажу, что существует три наиболее распространенных способа, как шпионы располагаются и работают на машине жертвы.

Первый - это реестр и ничего более, вирус может сидеть в автозагрузке, а может и вообще не присутствовать на компьютере, но цель у него одна - это заменить через реестр стартовую страницу браузера. В случае если вирус или же скрипт всего лишь однажды заменил стартовую страницу, вопросов нет, всего лишь надо очистить этот ключ в реесре, если же после очищения, через некоторое время ключ снова появляется, то вирус запущен и постоянно производит обращение к реестру. Если вы имеете опыт работы с отладчиками типа SoftIce то можете поставить точку останова на доступ к реестру (bpx RegSetValueA, bpx RegSetValueExA) и проследить, какая программа, кроме стандартных, производит обращении к реестру. Дальше по логике уже.

Второй - это именно перехватчики системных событий, так назваемые хуки. Как правило, хуки используются больше в кейлоггерах, и представляют собой библиотеку, которая отслеживает и по возможности изменяет системные сообщения. Обычно есть уже сама программа и прикрепленная к ней библиотека, поэтому исследуя главный модуль программы вы ничего интересного не получите. Подробнее об этом и следующем способе смотрите ниже в главе детальный анализ.

И, наконец, третий способ это прикрепление своей библиотеки к стандартным программам ОС, таким как explorer.exe и iexplorer.exe, проще говоря написание плагинов к этим программам. Тут опять же есть пара способов, это прикрепление с помощью BHO и просто внедрение своей библиотеки в исполняемый файл. Разница, какой понимаю ее я в том что Browser Helper Object описано и предложено самой корпорацией M$, и используется как плагин к браузеру, а внедрение библиотек - это уже не столько плагин, сколько как самодостаточная программа, больше напоминающая файловый вирус прошлых лет.

Предоставлю вам для общего обучения ключи реестра, куда могут прописаться недоброкачественные товары, в виде тулбаров, кнопок и стартовых страниц браузера.

Стартовая страница

параметр StartPage. (S-1-5-21-. этот ключ может быть разный на разных машинах)

Регистрирование объектов типа кнопок, тулбаров и т.д.

Вот тут регистрируется все "помошники" и если у вас таковых нет то ключ должен быть пуст, если не пуст, то удаляйте.

Итак, если у вас не все в порядке с этими ключами, и вы хотите разобраться дальше, то смотрим дальше.

Ищем вирус лучше

Поскольку к моменту написания данной статью я хотел сделать ее понятной всем, то эта глава может и показаться некоторым людям непонятной, но я старался упростить все как мог. Я не буду объяснять вам архитектуру PE-файла, хотя мы будем к ней обращаться. Подробнее есть множество мануалов в сети.

Итак, приступая к детальному анализу нам потребуются некоторые инструменты, я использую в этом случае и советую использовать PETools by NEOx и PEiD (Можно вообще обойтись одним Soft Ice'ом, но лучше побольше инструментов да попроще, для реверсеров отмечу, что сейчас пойдет речь о просмотре таблицы импорта и упакованности файла, поэтому пропустите мимо ушей то извращение, которое вы сейчас увдите)

Значит, как я уже говорил, был такой случай, что в браузере появилась непонятно откуда строка поиска и стартовая страница. Проверив реестр, я не нашел изменения статовой страницы, а так же не нашел регистрации плагинов в браузере. При детальном осмотре оказалась, что данная строка поиска (тулбар проще) появляется во всех окнах ОС. Это уже немного меняло суть дела. Я предположил, что занимаются этим два независимых друг от друга шпиона и именно методом внедрения динамической библиотеки. При этом надо различать, что если тулбар был бы только в браузере, значит, внедрился он в процесс iexplorer.exe, но у нас был он везде, следовательно, проверять надо было в explorer.exe. Я начал проерять браузер. Для этого я запустил PETools и просто посмотрел, какие библиотеки использует браузер. Мне подвернулась удача в лице нерадивого вирмейкера, на фоне системных библиотек из %SYSTEMROOT% красовалась некая smt.dll с путем, уходящем, куда то в TEMP. Перезагрузка в безопасном режиме и удаление этой библиотеки, и все в норме, шпион убит. Осталось только опять вызвать PETools, кликнуть правой кнопкой мыши на нашем процессе и произвести пересборку файла. Это самый простой случай в моей практике. Перейдем к следующему, находим и убиваем тулбар. Тем же образом я посмотрел процесс explorer.exe и ничего бросающегося в глаза, не нашел. Из этого следует два варианта, либо я не знаю наизусть всех библиотек, и тулбар затерялся среди них, либо мне не дано по знаниям его обнаружить. К счастью вышло первое. Но как же тогда отличить настоящую библиотеку от подложной? Я скажу, а вы уже поймете сами. Как известно вирмейкеры гонятся за минимализацией и зашифрованостью кода. То есть не один тулбар как правило не будет лежать в открытом виде, во-первых код можно уменьшить, а значит нужно, и во-вторых если кто нибудь (чаще даже не антивирус, а конкурент) обнаружит данную библиотеку то ему незашифрованный код легче понять. Поэтому берем PEiD и производим массовое сканирование импортируемых библиотек. Библиотеки от microsoft естественно написаны на visual C++ и ничем не упакованы, поэтому если мы видим (а я как раз увидел подозрительную seUpd.dll упакованную UPX) упакованную или зашифрованную библиотеку то 99% это, то, что мы искали. Проверить она это или нет очень просто, переместите в безопасном режиме ее и посмотрите результат. Конечно, можно было бы распаковать, посмотреть код и подумать, что же она делает, но не будем в это углубляться. Если вы не нашли все-таки упакованную библиотеку, то полезно редактором ресурсов типа Restorator посмотреть версии файла, как я уже говорил у всех библиотек от M$ там так и написано. Вот на таких делах прокалываются вирмейкеры. Стыдно должно быть им вообще писать такие вирусы. На последок хочу еще заметить, что библиотека *.dll не обязательно может внедрятся в процессы. В ОС Windows есть такое полезное приложение, как rundll32.exe, и я могу запускать с помощью этого процесса любую библиотеку. И при этом не обязательно в автозагрузке писать rundll32.exe myspy.dll, достаточно прописать это внутри зараженного файла. Тогда вы будете видеть только свои (зараженные файлы, которые маловероятно будут детектироваться антивирусом) и процесс rundll32.exe, и больше ничего. Как быть в таких случаях? Здесь уже придется углубляться в структуру файла и ОС, поэтому оставим это за рамками данной статьи. Насчет упакованности/зашифрованности вируса относится не только к библиотекам, но и ко всем системным файлам. На этой приятной ноте я хочу закончить главную часть статьи, написано было много, однако это только 1% всех способов обнаружения. Мой способ пускай и не лучший, но я им пользуюсь сам и довольно продуктивно (хорошо только не на своем компьютере). По возможности если получится, напишу продолжение про макро-вирусы, кейлоггеры и бэкдоры, словом про то, что я уже ловил.

Список системных служб svсhost.exe (WinXP)

Источник: xn--80aa0aebnilejl.xn--p1ai

Категория: Программное обеспечение

Похожие статьи: