|
И, наконец, третий способ это прикрепление своей библиотеки
к стандартным
программам ОС, таким как explorer.exe и iexplorer.exe, проще говоря
написание
плагинов к этим программам. Тут опять же есть пара способов, это
прикрепление с
помощью BHO (об самом способе прикрепления писал Gorlum, пользуясь случаем
привет ему и почет :)) и просто внедрение своей библиотеки в исполняемый
файл.
разница, какой понимаю ее я в том что Browser Helper Object описано и
предложено
самой корпорацией M$, и используется как плагин к браузеру, а внедрение
библиотек - это уже не столько плагин, сколько как самодостаточная
программа,
больше напоминающая файловый вирус прошлых лет.
Предоставлю вам для общего обучения ключи реестра, куда могут прописаться
недоброкачественные товары, в виде тулбаров, кнопок и стартовых страниц
браузера.
Стартовая страница
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\CurrentVersion\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% всех способов обнаружения. Мой способ пускай и
не
лучший, но я им пользуюсь сам и довольно продуктивно (хорошо только не на
своем
компьютере). По возможности если получится, напишу продолжение про
макро-вирусы,
кейлоггеры и бэкдоры, словом про то, что я уже ловил.
[Напоследок]
Тут хотелось бы отметить напоследок пару вещей.
В [приложении Б] я приведу список стандартных сетевых сервисов и
протоколов
Windows с пожеланиями какие оставить, а какие запретить.
[приложение А]
Список системных служб 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
----------------------- Итого шесть процессов при работе всех служб ------------
|
|