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

  • Как осуществляется автозагрузка?
  • Где найти список программ, загружаемых автоматически?
  • Как отключить соответствующий список автозагрузки?

Этим вопросам и посвящена данная статья.
Существует много способов автозагрузки программ. Ниже перечисляется несколько вариантов. Надеюсь, это поможет вам в розыске и удалении подозрительного и вредоносного программного обеспечения из разделов автозагрузки.

Способы автозагрузки

Реестр
В реестре Windows Vista автозагрузка программ представлена в нескольких разделах.
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] — программы, запускаемые при регистрации в системе.
Программы, которые запускаются в данном разделе, запускаются для всех пользователей в системе.
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce] — программы, запускаемые только один раз при регистрации пользователя в системе. После этого параметры программ автоматически удаляются из данного раздела реестра.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе.
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun] — программы, которые запускаются при регистрации пользователя в системе.
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce] — программы, которые запускаются только один раз при регистрации пользователя в системе. После этого параметры программ автоматически удаляются из данного раздела реестра.
Например, чтобы автоматически запускать «Блокнот» при регистрации конкретного пользователя, нужно открыть редактор реестра (regedit.exe), перейти в раздел
[HKEY_CURRENT_USERSoftwareMicrosoftWindows Current Version Run]
и добавить следующий параметр:
«NOTEPAD.EXE»=»C:WINDOWS System32 otepad.exe»

Использование групповой политики для настройки программ автозапуска

Открываем оснастку «Групповая политика» (gpedit.msc), переходим на вкладку «Конфигурация компьютера — Административные шаблоны — Система». В правой панели оснастки переходим на пункт «Вход в систему» (экран 1).

Экран 1  

По умолчанию эта политика не задана, но можно добавить туда программу: включаем политику, нажимаем кнопку «Показать — Добавить», указываем путь к программе, при этом если запускаемая программа находится в папке ..WINDOWSSystem32, то можно указать только название программы, иначе придется указать полный путь к ней. При этом в системном реестре в разделе [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpolicies] создается подраздел ExplorerRun с параметрами добавленных программ.

Пример
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorerRun]
«1»=»notepad.exe»
«2»=»iexplore.exe»

В итоге получаем запуск «Блокнота» и Internet Explorer для всех пользователей. Аналогично задается автозапуск для конкретных пользователей, в оснастке «Групповая политика» это путь «Конфигурация пользователя — Административные шаблоны — Система» (см. экран 2), а в реестре раздел
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun]

Экран 2
Важно!

При этом программы из данного списка не отображаются в списке программ, доступных для отключения в msconfig.exe, а также определяются не всеми менеджерами автозагрузки.

Автозапуск программ из особого списка

Программы также могут запускаться из следующего раздела реестра:
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsNTCurrent VersionWindows]
Параметры:
«load»=»programm» — программы, запускаемые до регистрации пользователя в системе;
«run»=»programm» — программы, запускаемые после регистрации пользователя в системе.
Эти параметры — аналог автозагрузки из файла Win.ini в Windows 9х.

Пример
Запускаем Internet Explorer до регистрации пользователя в системе и «Блокнот» после регистрации:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoft
Windows NTCurrentVersion Windows]
«load»=»iexplore.exe»
«run»=»notepad.exe»

Не обрабатывать список автозапуска для старых версий. Настраивается с помощью групповой политики: «Конфигурация компьютера — Административные шаблоны — Система — Вход в систему — Не обрабатывать список запуска старых программ», если эту политику включить, то не будут запускаться программы из следующих разделов реестра:
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun]
При использовании этой политики в реестре создается следующий параметр:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorer]
«DisableLocalMachineRun»=dword:00000001
Аналогично устанавливается политика для конкретных пользователей: «Конфигурация пользователя — Административные шаблоны — Система — Вход в систему — Не обрабатывать список запуска старых программ» с тем отличием, что в реестре этот режим включается в другом месте:
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]
«DisableLocalUserRun»=dword:00000001
Игнорировать списки автозагрузки программ, выполняемых однократно.
Настраивается с помощью групповой политики: «Конфигурация компьютера — Административные шаблоны — Система — Вход в систему —Не обрабатывать список однократного запуска программ».
Если эту политику включить, то не будут запускаться программы, загружаемые из списка.
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce]
Если эта политика включена, в реестре создается следующий параметр: [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorer]
DisableLocalMachineRunOnce»=dword:00000001
Аналогичным образом настраивается политика для конкретных пользователей: «Конфигурация пользователя — Административные шаблоны - Система — Вход в систему — Не обрабатывать список однократного запуска программ»
Параметры реестра:
[HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorer]
«DisableLocalUserRunOnce»=dword:00000001

Назначенные задания

Программы могут запускаться с помощью «Планировщика заданий». Посмотреть список установленных заданий, а также добавить новое задание можно так: «Пуск — Все программы — Стандартные - Служебные — Планировщик заданий». При этом откроется окно «Планировщика заданий», в котором отображены назначенные задания (экран 3).

Экран 3 

Чтобы добавить новое задание, нужно из меню «Действия» выбрать пункт «Создать задачу» (см. экран 4).

Экран 4 

Запуск программ с помощью этого мастера возможен однократно, при регистрации в Windows, при включении компьютера, а также по расписанию.

Папка «Автозагрузка»

Папка, в которой хранятся ярлыки для программ, запускаемых после регистрации пользователя в системе. Ярлыки в эту папку могут добавляться программами при их установке или самим пользователем. Существует две папки — общая для всех и индивидуальная для конкретного пользователя. По умолчанию эти папки находятся здесь:
..UsersAllUsers MicrosoftWindows Start Menu ProgramsStartup — это папка, программы из которой будут запускаться для всех пользователей компьютера.
%USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup — это папка, программы из которой будут запускаться для конкретного пользователя.
Посмотреть, какие программы у вас запускаются таким способом, можно, открыв меню «Пуск — Все программы — Автозагрузка». Если вы создадите в этой папке ярлык для какой-нибудь программы, она будет запускаться автоматически после регистрации пользователя в системе.

Смена папки автозагрузки

Windows считывает данные о пути к папке «Автозагрузка» из реестра. Этот путь прописан в следующих разделах:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]
«Common Startup» =»% ProgramData %MicrosoftWindowsStartMenu ProgramsStartup» — для всех пользователей системы.
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]
«Startup»=»%USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup» — для конкретного пользователя.
Сменив путь к папке, мы получим автозагрузку всех программ из указанной папки.

Пример
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]
«Startup»=»c:mystartup» — система загрузит все программы, ярлыки которых находятся в папке c:mystartup, при этом папка «Автозагрузка» по-прежнему будет отображаться в меню «Пуск», а если у пользователя в ней ничего не было, то он и не заметит подмены.

Подмена ярлыка для программы из списка автозагрузки

Допустим, у вас установлен пакет Acrobat Reader. Тогда в папке «Автозагрузка» будет находиться ярлык «Adobe Reader Speed Launch» — этот ярлык устанавливается туда по умолчанию. Но вовсе не обязательно этот ярлык ссылается именно на соответствующее приложение — вместо него может быть запущена любая другая программа, тем более что на функциональности Acrobat Reader это не отразится.

Добавление программы к программе, запускаемой из списка автозагрузки

Модификация предыдущего варианта — одновременно с загрузкой какой-либо программы из списка автозагрузки у вас будет стартовать другая программа. Дело в том, что можно «склеить» два исполняемых файла в один, и они будут запускаться одновременно. Существуют специальные программы для такой «склейки». Или ярлык может ссылаться на командный файл, из которого и будут запускаться как оригинальная программа из списка, так и добавленные посторонние программы.
Посмотреть список автоматически загружаемых программ можно, открыв программу «Сведения о системе» (откройте «Пуск — Все программы — Стандартные — Служебные — Сведения о системе» или наберите msinfo32.exe в командной строке) и перейдя в раздел «Программная среда — Автоматически загружаемые программы». В окне «Сведения о системе» отображаются группы автозагрузки из реестра и папок «Автозагрузка» (см. экран 5).

Экран 5 

Другая программа, позволяющая посмотреть список программ автозагрузки, — «Настройка системы» (для запуска нужно набрать msconfig.exe в командной строке). Эта программа, помимо возможности просмотра списка автозагрузки, позволяет отключить все программы из списка автозагрузки (вкладка «Общие») или некоторые программы (вкладка «Автозагрузка»).

Заключение

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

Владимир Безмалый (Vladimir_Bezmaly@ec.bms-consulting.com) — руководитель программы подготовки администраторов информационной безопасности Академии «БМС Консалтинг»