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

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

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

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, и больше ничего. Как быть в таких случаях? Здесь уже придется углубляться в структуру файла и ОС, поэтому оставим это за рамками данной статьи. Насчет упакованности/зашифрованности вируса относится не только к библиотекам, но и ко всем системным файлам.