Index · Правила · Поиск· Группы · Регистрация · Личные сообщения· Вход

Список разделов Паранойя
 
 
 

Раздел: Паранойя Проверка на вирусы, руками 

Создана: 16 Декабря 2007 Вск 16:33:47.
Раздел: "Паранойя"
Сообщений в теме: 1, просмотров: 4007

  1. shvarc


    Активист


    Более 10 лет на форумеМуж.
    16 Декабря 2007 Вск 16:33:47
    Наверное нет уже человека, кто бы прямо или косвенно не пострадал от действий компьютерных вирусов. Антивирусные компании много хотят за свои продукты, которые так и не обеспечивают надлежащей защиты. Спрашивается, зачем вообще тогда ставить антивирусное ПО?

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

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

    Следующее по списку, это невозможность зайти или обновиться с сайтов антивирусных компаний, сбои в работе программ типа CRC-error. Это обусловлено тем, что достаточно многие коммерческие протекторы поддерживают функцию проверки четности или же целости исполняемого файла (и не только протекторы, но и сами разработчики защит), что сделано для защиты программы от взлома. Не стоит говорить о эффективности данного метода против крякеров и реверсеров, однако сигнализацией к вирусному заражению это может сработать идеально. Плата начинающих вирмейкеров за не убиваемые процессы, то что при выключении или перезагрузке компьютера идет длительное завершение какого нибудь-процесса, или же вообще компьютер зависает при завершении работы. Думаю про процессы говорить не стоит, а так же про папку автозагрузки, если там есть что-то непонятное или новое, то, возможно, это "то", однако про это попозже.

    Частая перезагрузка компьютера, вылет из инета, завершение работы антивирей, недоступность серверов обновленияt, ошибки при обновлении антивиря, появление неизвестных файлов )), вот лишь краткий перечень симптомов зараженной машины. Помимо прямых вредоносных кодов
    существует так называемое шпионской ПО, это всевозможные кейлоггеры, дамперы электронных ключей, "помощники" к браузеру. По методу обнаружения их можно разделить на два противоположных лагеря. Если кейлоггер, присоединенный динамической библиотекой к оболочке ОСи обнаружить на лету крайне сложно, то, невесть откуда взявшийся плагин к ослику (как правило) бросается в глаза сразу же...

    Обнаружение на лету.
    Про почтовые уже достаточно рассказывалось, алгоритм он один для всех, однако метод распространения почтовых червей настолько банален, что если "умудриться" запустить файл из аттача, то эта статья не поможет все равно )). Для наглядности пример из жизни, не определяемый ни одним антивирем (до сих пор) IRC-bot. Принцип распространения довольно прост, через найденную уязвимость в оси. Если подумать головой то можно понять, что основным способом забросить себя на уязвимую машину является вызов ftp-сервера на этой машине. По статистике уязвимостей это печально известный tftp.exe. Первый симптом таких червей это исходящий трафик, вирь, попадая на машину, начинает поиск другой уязвимой машины в сети, то есть попросту сканирует диапазоны IP-адресов. Далее все очень просто, первым делом смотрим логи в журнале событий ОСи.

    Т.е. Панель управления ---> Администрирование --->Журнал событий.

    Здесь интересуют уведомления о запущенных службах и главное уведомления об ошибках. Уже как два года черви лезут через ошибку в DCOM сервере, поэтому любая ошибка, связанная с этим сервером уже есть повод полагать о наличие вируса в системе. Чтобы точно убедится в наличии последнего, в отчете об ошибке надо посмотреть имя и права пользователя допустившего ошибку. Если на этом месте стоит "пользователь неопределен" или что-то подобное то радуйтесь, возможно заражение прошло успешно! Далее действуя логически, первым делом необходимо закрыть дыру в системе для последующих проникновений, а потом уже локализовывать вири. Как уже говорилось, такие вирусы обычно лезут через tftp.exe, поэтому удаляем его из системы. Для этого сначала удаляем его из архива

    %WINDIR%Driver Cachedriver.cab

    , затем из папок обновления ОСи, если таковые имеются, после этого из

    %WINDIR%system32dllcache

    и уже потом просто из

    %WINDIR%system32

    Возможно, ОСь скажет, что файлы повреждены и попросит диск с дистрибом, не соглашайтесь! А не то он восстановится и опять будет открыта дыра. Когда все будет позади, можно приступать к локализации виря. Посмотреть какие приложения используют сетевое подключение, помогает маленькая удобная программа TCPView, однако некоторые черви имеют хороший алгоритм шифрации или же прикрепляются к процессам либо маскируются под процессы. Самый распространенный процесс для маскировки - это, несомненно, служба svhost.exe, в диспетчере задач таких процессов несколько, к тому же, можно создать программу с таким же именем и тогда отличить, кто есть кто практически невозможно. Но шанс есть и зависит от внимательности. Первым делом просмотрите диспетчер задач. У svhost.exe это как не странно M$, конечно можно добавить подложную информацию и в код вируса, однако тут есть пара моментов. Первый и наверное главный состоит в том, что хорошо написанный вирус не содержит ни таблицы импорта, не секций данных. Поэтому ресурсов у такого файла нет, а, следовательно, записать в ресурсы создателя нельзя. Либо можно создать ресурс, однако тогда появится лишний объем файла, что крайне нежелательно вирмейкеру. Еще надо сказать про svhost.exe, это набор системных служб и каждая служба - это запущенный файл с определенными параметрами.

    Соответственно в Панели управления ---> Администрирование ---> Службы,
    содержатся все загружаемые службы svhost.exe, далее подсчитать количество работающих служб и процессов svhost.exe, если не сходиться , то уже все понятно (естественно надо сравнивать с количеством РАБОТАЮЩИХ служб). Возможно и среди служб есть вирь, на это можно сказать одно, список служб есть и на MSDN и еще много где в сети, так что просто взять и сравнить проблемы не составит. После таких вот действий можно получить имя файла, который возможно является вирем.
    Для нормальной работы ОСи необходимо 5 файлов в корневом каталоге, поэтому все остальные файлы вы можете смело удалять, если конечно вы не умудряетесь ставить программы в корневой каталог. Файлы для нормальной работы:

    ntldr
    boot.ini
    pagefile.sys
    Bootfont.bin
    [внешняя ссылка]

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

    HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonNotify
    HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserinit
    HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell
    HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun
    HKLMSOFTWAREMicrosoftActive SetupInstalled Components
    HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorer SharedTaskSchedulerHKLM
    SOFTWAREMicrosoftWindowsCurrentVersionShellService ObjectDelayLoad
    HKCUSoftwareMicrosoftWindowsCurrentVersionRun

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

    Шпионское ПО, или, как их называют буржуи SpyWare. Простейший шпион очень часто скрывается за невинным на вид тулбаром. Знайте, что если у вас, вдруг, откуда не возьмись, появилась новая кнопка или же строка поиска в браузере то считайте это сигналом. Так же отчетливо видно, если вдруг изменилась стартовая страница браузера, тут уж и говорить нечего. Хотя вири, меняющие стартовые страницы вовсе не обязательно шпионы.

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

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

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

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

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

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

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

    HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain параметр StartPage.
    HKEY_USERSS-1-5-21-1214440339-507921405-839522115-
    1000SoftwareMicrosoftInternet ExplorerMain параметр StartPage

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

    HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentV ersionExplorerBrowser
    Helper Objects

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

    Для более детального анализа потребуются некоторые инструменты, такие как PETools by NEOx и PEiD. Возможно, проверив реестр, так и не удасться найти изменения статовой страницы, а так же не найти регистрации плагинов в браузере. При детальном осмотре окажется, что данная строка поиска (тулбар) появляется во всех окнах ОСи. Это уже немного меняет суть дела. Возможно занимаются этим два независимых друг от друга шпиона и именно методом внедрения динамической библиотеки. При этом надо различать, что если тулбар был бы только в браузере, значит, внедрился он в процесс iexplorer.exe, но он везде, следовательно, проверять надо было в explorer.exe. Запускаем PETools и просто смотрим, какие библиотеки использует браузер. И если на фоне системных библиотек из %SYSTEMROOT% красуется некая smt.dll с путем, уходящем, куда то в TEMP, то цель достигнута. Перезагрузка в безопасном режиме и удаление этой библиотеки, и все в норме, шпион убит. Осталось только опять вызвать PETools, кликнуть правой кнопкой мыши на процессе и произвести пересборку файла. Это самый простой случай.

    Даее надо найти и убить тулбар. Тем же образом смотрим процесс explorer.exe, ничего бросающегося в глаза...? Скорее всего тулбар затерялся среди библиотек, мсотрите внимательнее )). Но как же тогда отличить настоящую библиотеку от подложной? Как известно вирмейкеры гонятся за минимализацией и зашифрованостью кода. То есть не один тулбар как правило не будет лежать в открытом виде, во-первых код можно уменьшить, а значит нужно, и во-вторых если кто нибудь (чаще даже не антивирус, а конкурент) обнаружит данную библиотеку то ему незашифрованный код легче понять. Поэтому берем PEiD и производим массовое сканирование импортируемых библиотек. Библиотеки от microsoft естественно написаны на visual C++ и ничем не упакованы, поэтому если видно упакованную или зашифрованную библиотеку то 99% это, то, что искали. Проверить она это или нет очень просто, переместите в безопасном режиме ее и посмотрите результат.

    Если все-таки не удается найти упакованную библиотеку, то полезно редактором ресурсов типа Restorator посмотреть версии файла. Вот на таких делах прокалываются вирмейкеры.

    Стоит еще заметить, что библиотека *.dll не обязательно может внедрятся в процессы. В ОСи Win# есть такое полезное и известное приложение, как rundll32.exe, и с помощью этого процесса можно запускать любую библиотеку. И при этом не обязательно в автозагрузке писать rundll32.exe myspy.dll, достаточно прописать это внутри зараженного файла. Тогда вы будете видеть только свои (зараженные файлы, которые маловероятно будут обнаруживаться антивирем) и процесс rundll32.exe, и больше ничего. Как быть в таких случаях? Здесь уже придется углубляться в структуру файла и ОСи...


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

    DHCP-клиент svchost.exe -k netsvcs
    DNS-клиент svchost.exe -k NetworkService
    Автоматическое обновление svchost.exe -k netsvcs
    Вторичный вход в систему svchost.exe -k netsvcs
    Диспетчер логических дисков svchost.exe -k netsvcs
    Запуск серверных процессов DCOM svchost -k DcomLaunch
    Инструментарий управления Windows svchost.exe -k netsvcs
    Клиент отслеживания изменившихся связей svchost.exe -k netsvcs
    Модуль поддержки NetBIOS через TCP/IP svchost.exe -k LocalService
    Обозреватель компьютеров svchost.exe -k netsvcs
    Определение оборудования оболочки svchost.exe -k netsvcs
    Рабочая станция svchost.exe -k netsvcs
    Сервер svchost.exe -k netsvcs
    Служба восстановления системы svchost.exe -k netsvcs
    Служба времени Windows svchost.exe -k netsvcs
    Служба регистрации ошибок svchost.exe -k netsvcs
    Службы криптографии svchost.exe -k netsvcs
    Справка и поддержка svchost.exe -k netsvcs
    Темы svchost.exe -k netsvcs
    Уведомление о системных событиях svchost.exe -k netsvcs
    Удаленный вызов процедур (RPC) svchost -k rpcss
    Центр обеспечения безопасности svchost.exe -k netsvcs
    Диспетчер авто-подключений удаленного доступа svchost.exe -k netsvcs
    Протокол HTTP SSL svchost.exe -k HTTPFilter
    Расширения драйверов WMI svchost.exe -k netsvcs
    Служба загрузки изображений (WIA) svchost.exe -k imgsvc
    Служба обеспечения сети svchost.exe -k netsvcs
    Служба серийных номеров переносных устройств мультимедиа
    svchost.exe -k netsvcs
    Совместимость быстрого переключения пользователей
    svchost.exe -k netsvcs
    Съемные ЗУ svchost.exe -k netsvcs
    Узел универсальных PnP-устройств svchost.exe -k LocalService
    Управление приложениями svchost.exe -k netsvcs
    Фоновая интеллектуальная служба передачи svchost.exe -k netsvcs
    Диспетчер подключений удаленного доступа svchost.exe -k netsvcs
    Сетевые подключения svchost.exe -k netsvcs
    Система событий COM+ svchost.exe -k netsvcs
    Служба обнаружения SSDP svchost.exe -k LocalService
    Служба сетевого расположения (NLA) svchost.exe -k netsvcs
    Службы терминалов svchost -k DComLaunch
    Телефония svchost.exe -k netsvcs
    Windows Audio svchost.exe -k netsvcs
    Доступ к HID-устройствам svchost.exe -k netsvcs
    Маршрутизация и удаленный доступ svchost.exe -k netsvcs
    Оповещатель svchost.exe -k LocalService
    Планировщик заданий svchost.exe -k netsvcs
    Служба сообщений svchost.exe -k netsvcs



    (с) Shturmovik