€
$
₴
₽
EN
RU
Vmeste.EU
Лента
Каталог
Файлы
Форумы
Услуги
Основное
Radiotalk
Пользовательское
Компьютер
5 •
Посмотреть все темы
Способы автозапуска вредоносных программ
1
6112
Turgaud
@Turgaud
16.12.2010
Практически все черви и троянские программы используют тот или иной способ для того, чтобы автоматически запуститься после перезагрузки компьютера. Поэтому при поиске вредоносной программы следует проверить, какие именно программы запускаются при вашем входе в систему.
Излюбленная десятка способов
Для этого можно воспользоваться специальными программами. Однако не стоит на них полагаться во всем. Так что перед тем, как рассмотреть возможности специальных программ, давайте вручную перечислим основные места операционной системы, в которых вирусы прогрызают себе дыры.
Каталог автозагрузки Windows
Проще всего установить автоматический запуск программы с помощью каталога автозагрузки. Достаточно поместить в него ссылку на программу, и эта программа будет запускаться при каждом входе пользователя в систему.
Чтобы открыть папку АВТОЗАГРУЗКА, достаточно:
* выбрать в меню ПУСК команду ВСЕ ПРОГРАММЫ/АВТОЗАГРУЗКА;
* открыть каталог %userprofile%\AppData\Roaming\Microsoft\Windows\St art Menu\Programs\Startup (ссылки на программы, запускаемые только при входе текущего пользователя);
* открыть каталог %programdata%\Microsoft\Windows\Start Menu\Programs\Startup (ссылки на программы, запускаемые при входе любого пользователя).
Автоматический запуск сценариев групповых политик
При входе пользователя в систему могут запускаться программы, указанные в разделах КОНФИГУРАЦИЯ КОМПЬЮТЕРА/КОНФИГУРАЦИЯ WINDOWS/СЦЕНАРИИ (ЗАПУСК/ЗАВЕРШЕНИЕ) и КОНФИГУРАЦИЯ ПОЛЬЗОВАТЕЛЯ/КОНФИГУРАЦИЯ WINDOWS/СЦЕНАРИИ (ВХОД/ВЫХОД ИЗ СИСТЕМЫ) оснастки РЕДАКТОР ОБЪЕКТОВ ГРУППОВОЙ ПОЛИТИКИ (консоль gpedit.msc). Однако этот способ автозагрузки практически никогда не используется вредоносными программами.
Создание псевдонимов программ
Еще один интересный способ запуска вредоносных программ — создание или изменение псевдонимов для популярных программ. Давайте рассмотрим этот способ на примере.
Псевдонимы для программ и библиотек хранятся в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths. Если вредоносная программа создаст в этой ветви реестра подраздел с именем explorer.exe, а потом в параметре (по умолчанию) этого подраздела укажет путь к своему исполняемому файлу, тогда мир во всем мире не наступит. Но зато тогда при попытке запустить программу explorer.exe с помощью диалога ВЫПОЛНИТЬ, вы запустите вредоносную программу, а не проводник Windows.
Таким образом можно создать псевдоним для любой программы, которую вы запускаете с помощью диалога ВЫПОЛНИТЬ без указания абсолютного пути к программе. Я, например, очень часто так запускаю программу iexplore.exe (браузер Internet Explorer). И не могу сказать с уверенностью, что я запущу в следующий раз — браузер или вредоносную программу. Нужно будет проверить, что указано в псевдониме для нее…
Ассоциация с типами файлов
Вы никогда не задумывались, как операционная система узнает, какую программу нужно запустить для открытия того или иного файла? Никаких экстрасенсорных и прорицательских способностей у операционной системы нет. И это доказано, поэтому даже не думайте об этом. На самом деле все намного проще — каждое расширение файла ассоциируется (в соответствие расширению ставится) с программой, которой файлы данного расширения можно открыть. Делается это с помощью реестра.
Например, сведения о программе, запускающей исполняемые файлы, хранятся в параметре (по умолчанию) ветви реестра HKCR\exefile\shell\open\command. По умолчанию в данном параметре содержится значение "%1" %*. То есть, каждый исполняемый файл запускает сам себя, и при этом передает себе все параметры запуска, если такие указывались.
Некоторые вредоносные программы изменяют значения параметров (по умолчанию), предназначенных для ассоциации программ с типами файлом, таким образом, чтобы сначала запускалась вредоносная программа, а потом она запускала стандартную программу и передавала ей указанные параметры.
Например, таким образом запускался вирус Win32.Perrun. Он ассоциировал свой файл extrk.exe с JPEG-файлами. Поэтому при открытии каждого JPEG-файла сначала запускался вирус, а потом он открывал программу для просмотра изображений и факсов.
Запуск в виде надстроек для браузера Internet Explorer
Различные шпионские и рекламные программы любят запускаться вместе с браузером Internet Explorer. А точнее, в качестве надстроек для данного браузера, которые именуются объектами BHO. Такие надстройки автоматически запускаются при запуске браузера.
Вручную обнаружить объекты BHO не так-то просто. Некоторые из них можно найти в диалоге УПРАВЛЕНИЕ НАДСТРОЙКАМИ (СЕРВИС/НАДСТРОЙКИ/ВКЛЮЧЕНИЕ И ОТКЛЮЧЕНИЕ НАДСТРОЕК). Другие же доступны только в реестре.
Список всех объектов BHO, которые запускаются браузером Internet Explorer, можно найти в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\exp lorer\Browser Helper Objects. В этой ветви перечисляются лишь GUID-номера объектов. Поэтому вы все равно не сможете определить, для чего тот или иной объект предназначен. Конечно, зная GUID-номер можно найти сведения о нем в ветви реестра HKCR\CLSID. Однако это совсем другая история, и так далеко в дебри ОС Windows в рамках данной книги мы заглядывать не будем.
Внедрение в проводник или другой процесс
Давайте рассмотрим этот метод на примере червя Email-Worm.Win32.Mydoom.a. Он создает в каталоге %systemroot% свой файл shimgapi.dll, и регистрирует его (то есть, указывает путь к нему и его имя) в параметре (по умолчанию) ветви реестра HKCR\CLSID\{E6FB5E20-DE35-11CF-9C87-00AA005127ED}\InProcServer32. После этого вредоносная библиотека будет запускаться как дочерний процесс программы explorer.exe.
Редактирование файла hosts
Данный способ нельзя назвать методом автоматического запуска вредоносного кода. Однако он достаточно популярен среди вредоносных программ для того, чтобы заманить жертву на вредоносный сайт.
Файл hosts из каталога %systemroot%\System32\Drivers\etc содержит в себе соответствия URL-адресов и IP-адресов компьютеров в Интернете. И используется он браузерами для того, чтобы определить IP-адрес сайта, который вы пытаетесь открыть, указав в адресной строке URL-адрес. Если система найдет в файле hosts IP-адрес запрашиваемого URL-адреса, тогда она будет использовать его. Вместо того чтобы определить настоящий IP-адрес с помощью служб DNS в Интернете.
Таким образом вредоносные программы очень часто подменяют популярные сайты. Например, указывают, что для URL-адреса WWW.MICROSOFT.COM должен использоваться IP-адрес подставного вредоносного сайта.
Запуск как служба
Создание службы — это еще один излюбленный способ запуска вредоносных программ. И это не удивительно, ведь служба издавна считается чем-то привилегированным. Ее можно запускать от имени системы, то есть, делать вредоносная программа, запущенная как служба, сможет очень многое. И, кроме того, запускаться служба может не только вручную, но и автоматически при входе в систему.
Запуск как драйвер
Драйвер — это что-то, по способу запуска и привилегиям похожее на службу. Более того, в реестре список установленных драйверов хранится точно-то в той же ветви реестра, где хранится список установленных служб. Так что все, что сказано о службах, касается и драйверов.
И другие способы
Это далеко не полный список способов автоматического запуска программ. Более полный (но, конечно, не самый-самый полный) список вы сможете найти в дополнительной главе, которая находится на компакт-диске, идущем вместе с книгой.
Программа Конфигурация системы
Ну а теперь давайте рассмотрим несколько стандартных способов, с помощью которых можно просмотреть и отредактировать список программ, запускаемых автоматически при входе в систему.
Наиболее старый и наиболее популярный способ — использование программы msconfig.exe. Запустите ее, и в появившемся окне КОНФИГУРАЦИЯ СИСТЕМЫ перейдите на вкладку АВТОЗАГРУЗКА (рис. 3.36). Здесь вы сможете найти список автоматически запускаемых программ, и отключить те из них, которые покажутся вам ненужными. Для этого достаточно снять флажок напротив ненужной программы.
Программа msconfig.exe
Программа msconfig.exe отображает только те автоматически запускаемые программы, которые объявлены в следующих закоулках операционной системы.
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
Каталог Автозагрузка
Диалог Проводник программного обеспечения
Уже известный нам диалог ПРОВОДНИК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ также позволяет работать со списком автоматически запускаемых программ. Для этого достаточно его отобразить, и в раскрывающемся списке КАТЕГОРИЯ выбрать пункт АВТОМАТИЧЕСКИ ЗАГРУЖАЕМЫЕ ПРОГРАММЫ. Или же можно воспользоваться командой %programfiles%\Windows Defender\MSASCui.exe -ShowSWE.
Использовать данный способ просмотра автоматически запускаемых программ предпочтительнее, чем программу msconfig.exe. И дело здесь не только в том, что ПРОВОДНИК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ отображает огромное количество сведений о каждой обнаруженной программе. Дело в том, что он отображает автоматически запускаемые программы, объявленные в большем количестве мест:
Каталог Автозагрузка
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Run OnceEx
HKLM\Software\Microsoft\Windows\CurrentVersion\Run OnceEx
HKCU\Software\Microsoft\Windows\CurrentVersion\Run Once
HKLM\Software\Microsoft\Windows\CurrentVersion\Run Once
HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon, параметры shell и userinit
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon, параметры shell и userinit
HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows, параметр load
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows, параметр run
HKCU\Software\Microsoft\Windows\CurrentVersion\Pol icies\Explorer\Run
Твикер реестра Vista Smoker Pro
Многие программы для твикинга реестра содержат в своем составе компоненты для просмотра автоматически загружаемых программ. Например, такой компонент есть и в твикере реестра Vista Smoker Pro. Находится он в разделе TWEAKS, подраздела STARTUP MANAGER. С его помощью можно обнаружить программы, запускаемые из следующих мест операционной системы:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Run OnceEx
HKCU\Software\Microsoft\Windows\CurrentVersion\Run Services
HKCU\Software\Microsoft\Windows\CurrentVersion\Run ServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run Once\Setup
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows, параметр Load
HKCU\Software\Microsoft\Windows\CurrentVersion\Pol icies\Explorer\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run Once
HKLM\Software\Microsoft\Windows\CurrentVersion\Run OnceEx
HKLM\Software\Microsoft\Windows\CurrentVersion\Run Services
HKLM\Software\Microsoft\Windows\CurrentVersion\Run ServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\Run Once\Setup
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, параметр Userinit
(с)
\\еще печеньку