Выбрать главу

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

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

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main параметр StartPage.

HKEY_USERS\S-1-5-21-….\Software\Microsoft\Internet Explorer\Main параметр StartPage (S-1-5-21-…. этот ключ может быть разный на разных машинах)

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Explorer\Browser Helper Objects\

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

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

Ищем получше

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

Итак, приступая к детальному анализу нам потребуются некоторые инструменты, я использую в этом случае и советую использовать 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 % всех способов обнаружения. Мой способ пускай и не лучший, но я им пользуюсь сам и довольно продуктивно (хорошо только не на своем компьютере). По возможности если получится, напишу продолжение про макро-вирусы, кейлоггеры и бэкдоры, словом про то, что я уже ловил.

Благодарности

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

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

1dt.w0lf, MozgC, Mario555, c0Un2_z3r0, _4k_, foster, etc.

Приложение А

Список системных служб 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 SSLsvchost.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