Когда антивирус упорно молчит…

Новейшие версии вредоносного ПО, которое не определяется антивирусами даже с "daily"-базами, и модификации уже существующих вредоносных программ уже давно стали "фоном" современного киберпространства. Вирусописатели всячески изощряются: сегодня уже никого не удивишь вредоносной программой, замаскированной под GPEG-файл; посещение HTML-странички может запросто обернуться подгрузкой на ваш ПК самого настоящего трояна, а выход в Интернет с SP1 — MS Blast'ом, сидящим в самом чреве вашей системы. И тут вопрос даже не в том, что количество вновь появившихся уязвимостей ПО имеет экспоненциальный рост. Тот, кто пишет вредоносное ПО, всегда на шаг впереди того, кто делает от него защиту… В рамках данной статьи на примере известнейшего трояна Back Orifice я постараюсь рассмотреть принцип и особенности работы троянских программ, затронув нестандартные методы поиска и уничтожения вредоносного ПО.

Наш герой — Back Orifice: живая легенда 8 лет спустя…


Без преувеличения будь сказано: с азартным трепетом и чувством глубокого уважения к создателям рассмотрим "анатомию" самой известной и нашумевшей в свое время утилиты — Back Orifice. Подобно тому, как засекреченные документы времен железного занавеса ныне становятся общедоступны, на справедливый суд и критику читателей автор статьи с большим удовольствием представляет сей мануал.

С чего же все началось? Наверняка история создания знаменитого BO была бы неполной без упоминания ее создателей — известнейшей хакерской группы Cult of the Dead Cow (cDc). Основанная в середине 80-х, команда с достоинством прошла огонь, воду и медные трубы и до сих пор процветает и здравствует. В 1993 г. один из участников группы — Drunkfix — создал официальный сайт в сети Интернет, после чего известность хак-группы начала распространятся не только через BBS. Большую заслугу в обретении широкой известности cDc внес один из участников группы — Ratte, — который играл роль своеобразного пресс-атташе… 1 августа 1998 г. на конференции Defcon один из членов группы Sir Dystic представил Back Orifice широкой публике. Как заявил автор, его детище — это лишь подтверждение того, насколько уязвимой может быть MS Windows.

Back Orifice работала (и работает;)) по принципу клиент/сервер и позволяла удаленно администрировать ПК, на котором предварительно установлена серверная часть… Очень скоро BO приобрела статус троянского коня: антивирусные базы пополнились записями типа BackDoor.BOrifice, Trojan.Bo… чему, собственно, удивляться особенно и не приходится, ведь BO с успехом можно использовать и для удаленного управления чужим ПК. Графический интуитивно понятный интерфейс программы и ее внушительные возможности произвели настоящий фурор, после чего в известных кругах установка BO на чужой ПК превратилась во что-то вроде увлекательного соревнования. С выходом в свет новой версии Back Orifice 2000, которая, помимо Win95 и Win98, поддерживала Windows NT и имела открытый код, популярность "народного любимца" достигла своего апогея. Относительно BO начала высказываться и Microsoft: программа, мол, не является прямой угрозой для MS Windows и требует со стороны атакующего установки серверной части на машину жертвы. Так или иначе, а на сегодняшний день знаменитый Back Orifice классифицируется как самый настоящий троян. Согласно современной классификации (использована информация сайт не побоюсь этого слова, наш герой в базах данных различных антивирусных компаний выглядит следующим образом: Backdoor.Win32.BO.a ("Лаборатория Касперского"), известен также как Backdoor.BO.a ("Лаборатория Касперского"), Orifice.svr (McAfee), W32.HLLP.Clay.dr (Symantec), BackDoor.BOrifice (Doctor Web), Troj/Orifice-A (Sophos), Backdoor:Win32/BOClay (RAV), BKDR_BO.58880 (Trend Micro), Boserve-01 (H+BEDV), W32/Back_Orifice.124928 (FRISK), Win32:Trojan-gen. (ALWIL), BackDoor.BackOrifice (Grisoft), Backdoor.BackOrifice.A (SOFTWIN), Trojan.Bo (ClamAV), Trj/BOr (Panda), Back_Orifice.Dropper (Eset).

Продвигаемся вглубь…

Являясь достаточно мощной утилитой удаленного администрирования, Back Orifice позволяет пользователю контролировать компьютеры при помощи обычной консоли или графической оболочки. А теперь внимание: ни много ни мало крылатая фраза, которая весьма емко отражает возможности программы: "В локальной сети или через Internet BO предоставляет пользователю больше возможностей на удаленном Windows-компьютере, чем имеет сам пользователь этого компьютера";)). Согласно классификации "Лаборатории Касперского", BO могла вовсе и не попасть в "черный список", если бы не одно но: при запуске серверной части отсутствуют какие-либо предупреждения о запуске: "продвигаясь вглубь", троянец незаметно устанавливает себя в системе и затем берет ее полностью под свой контроль, при этом жертве не выдается никаких сообщений о действиях троянца в системе. Более того, в списке активных приложений ссылка на BO отсутствует…

Attention! A trojan detected

Распространяется BO как пакет, включающий в себя серверную часть (BOSERVE.EXE или bo2k.exe — возможны вариации), клиентскую часть
(bo2kgui.exe) и файл конфигурации сервера (bo2kcfg.exe). В дополнение к трем перечисленным компонентам пакет может содержать плагины и документацию. Все три компонента программы написаны на C++ и откомпилированы Microsoft Visual C++. Все программы имеют формат Portable Executable и могут выполняться только в среде Win32.

Рис. 1. Так выглядит программа конфигурации сервера BO
Как вы уже поняли, основной программой в пакете является BOSERVE.EXE, он же bo2k.exe. Следует отметить, что при установке на целевой ПК сервер можно обнаружить под другими именами вплоть до system, explore и др. в зависимости от фантазии того, кто конфигурировал сервер. Вторым файлом является BOCONFIG.EXE, он же bo2kcfg.exe, назначение которого — первичная настройка сервера. Программа конфигурации позволяет производить самые разнообразные настройки вплоть до склейки сервера с каким-либо другим исполняемым файлом. Зачем это нужно, думаю, объяснять не стоит. И, наконец, то, посредством чего осуществляется удаленное управление серверной частью — клиентская часть — bo2kgui.exe. При запуске серверной части происходит инициализация сокетов Windows (если очень упрощенно, то сокет представляет собой серверный софт, работающий с каким-либо портом) — другими словами, сервер BO настраивает под себя нужные порты, в результате чего открытыми оказываются порт 31337 (кстати, цифра 31337 известна не только благодаря тому, что порт 31337 является дефолтовым портом BO — в околохакерских кругах 31337 означает ни много ни мало "элита";)). Следует учесть, что при заражении BO 31337 порт может молчать, ведь никто не мешает настроить работу сервер/клиент на другой порт… При заражении в системном каталоге Windows появляется файл WINDLL.DLL. Далее троян определяет адреса нескольких Windows API, ищет свою копию в памяти и выгружает ее, если обнаружена старая версия утилиты — попросту говоря, сам себя обновляет. После вышеперечисленного BO, как и любой уважающий себя троян, копируется в системный каталог Windows (c:\windows\system), прописывая себя на автозапуск в следующем ключе реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

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

Таким образом, удаленный пользователь получает полный доступ к зараженной системе: операции удаления, копирования и т.п. вплоть до форматирования становятся настолько же реальными, как если бы вы работали за своим собственным ПК;). Помимо перечисленного, удаленный пользователь имеет возможность отключать текущего пользователя от сети, подвешивать систему, убивать процессы, получать и отправлять кэшированные пароли, выводить текстовые сообщения, проигрывать звуковые файлы и т.д., и т.п. Вышеперечисленные возможности отнюдь не являются верхом того, на что способен BO: для того, чтобы расширить список функций, достаточно скачать пару новых плагинов (plug-in) — и все;).

Скальпель!..

Если ваш антивирус упорно молчит, а возможность присутствия трояна высока, то самое время прибегнуть к следующим инструментам:
SUPERAntiSpyware — бесплатная для частного пользования программа, которая позволяет удалять с компьютера всевозможные виды вредоносного ПО (spyware, adware, malware, trojans, dialers, worms, keyLoggers, HiJackers и другие), восстанавливать нарушенные записи в сетевых соединениях, на рабочем столе, в системном реестре, повышать общую безопасность ПК, закрывая обнаруженные во время запуска бреши в системе безопасности Windows ( сайт ).

XoftSpy — это одна из лучших программ для удаления шпионских модулей. Одним из преимуществ XoftSpy является высокая скорость сканирования. Другой плюс — регулярные обновления, что особенно важно для утилиты, основное предназначение которой заключается в обеспечении безопасности пользователя ( сайт ).

SpywareGuard — после инсталляции программа автоматически помещается в автозагрузку и постоянно находится в оперативной памяти компьютера. Программа не требовательна к системным ресурсам. Настроек в ней практически нет — настраиваются всего несколько функций с возможностью задания пароля на смену настроек в этих функциях. Программа послужит отличным помощником антивирусному монитору и серьезной программе для поиска и устранения шпионских модулей ( сайт ).

Ad-Aware — это продукт, созданный для обеспечения надежной защиты компьютера от известных угроз: кражи личных данных, агрессивной рекламы, сайтов-паразитов, мошеннических программ, некоторых традиционных троянов, номеронабирателей, вредоносных программ (Malware), браузерных "перехватчиков" (Browser hijackers) и шпионских компонентов. Программа использует технологию идентификации последовательности кодов (Code Sequence Identification — CSI), которая обеспечивает не только защиту от известных троянов, но и превентивную защиту от ранее неизвестных угроз. Для большей защиты Ad-Aware SE Personal Edition также может сканировать дополнительные потоки данных (Alternate Data Streams — ADS) в томах файловой системы Windows NT (NTFS).

Теперь внимание! Проверено автором. Если в процессе работы антивирусов, чистильщиков, сканеров и прочих вы все-таки почувствовали, что экзарцист — это вы, а порции адреналина получает кто-то другой, то непременно, даже не задумываясь, вам обязательно следует "убить тварь" собственными руками…

Для ритуала нам понадобятся:
1) виртуальная DOS-машина (по-нашему просто cmd);
2) редактор реестра regedit.

Поехали! Запускаем regedit, открываем ветвь HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run (наиболее излюбленное место троянов; NB: данная ветвь — не единственная, где могут сидеть трояны, поэтому не помешает заглянуть еще и сюда:

HKEY_CURENT_USER\Software\Microsoft\Windows\CurrentVersion\Run;
HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\Run;
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce)
HKEY_CURENT_USER\Software\Microsoft\Windows\CurrentVersion\Runonce;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

При обнаружении записи непрошенного гостя удаляем эту запись. Далее необходимо убить процесс, принадлежащий "чужому", для чего очень полезно "знать своих в лицо": Explorer, Lsass, Services, System, Winlogon, Alg, Vsmon, Ctfmon, Svchost, Csrss, Smss. Естественно, что помимо перечисленных, в диспетчере задач можно обнаружить и другие, "мирные", процессы — те, которые принадлежат запущенным и резидентно выполняющимся приложениям. Это, например, kavsvc, принадлежащий антивирусу Касперского, zonealarm, принадлежащий брандмауэру, и т.д. Особое внимание следует обратить на так называемые процессы-маскировщики, имитирующие истинные: explore, sys, svshost, winlogin, systrey и т.д. При невозможности остановки "злопроцесса" средствами диспетчера задач можно воспользоваться утилитой Process Explorer и ей подобными. Кстати, вышеприведенная утилита окажется весьма и весьма полезной и "в мирное время", т.к. с ее помощью можно завершить даже те процессы, которые штатными средствами не завершишь;).

"Контрольный выстрел"
— именно так можно назвать заключительную часть нашего ритуала: необходимо найти и уничтожить тело. А вот тут-то и самое время вспомнить про старый добрый ревизор, который, в отличие от полифагов, в свежих базах не нуждается. В качестве примера более чем уместно привести программу-ревизор Adinf. Принцип работы Adinf основан на сохранении в специальной базе основных данных о каждом логическом диске в системе. При первом запуске в таблицах запоминаются объем оперативной памяти, образы главного загрузочного сектора, загрузочных секторов, список сбойных кластеров, структура дерева каталогов, длины и контрольные суммы файлов. Когда вирус/троян заражает компьютер, он изменяет объект, в который внедряется исполняемый файл, главный загрузочный сектор, FAT-таблицу. Если ревизор обнаруживает на диске изменения, характерные для действия вируса/трояна, он предупреждает об этом пользователя. Важным отличием ADinf от других существующих программ-ревизоров является доступ к дискам без использования функций операционной системы. Такой метод доступа к дискам позволяет успешно обнаруживать стелс- вирусы (вирусы-невидимки). При условии, что был сделан снимок чистой системы, найти и стереть "лишний" файл не составит особого труда.

Не исключено, что при проведении "ритуала" могут возникнуть нештатные ситуации: файл может активно использоваться системой, и все попытки его удалить успехом не увенчаются. Есть ли выход? Конечно же, есть! Все, что нам надо — это удалить тело из-под другой системы — например, загрузившись из-под Linux LiveCD.
Ну что ж, вот, пожалуй, и все. Перезагрузка системы, после чего последний штрих — проверка открытых портов командой netstat -an. Результат команды — список открытых портов

При обнаружении подозрительного порта… процедуру изгнания повторить…

Бойцев О.М., boyscout_zone@yahoo.com


Компьютерная газета. Статья была опубликована в номере 37 за 2006 год в рубрике безопасность

©1997-2024 Компьютерная газета