Источник: cybercop (at) voliacable.com
Безмалый В.Ф.
Сегодня сложно найти организацию, которая не подвергалась бы вирусным атакам. И хотя практически везде уже установлено антивирусное ПО, иногда возникает необходимость вручную посмотреть, где же в реестре стартует то или иное вредоносное ПО. При поиске резидентного вредоносного ПО нас не могут не волновать следующие вопросы:
-
Как осуществляется автозагрузка?
-
Где найти список программ, загружаемых автоматически?
-
Как отключить соответствующий список автозагрузки?
Именно этому и будет посвящена эта статья.
Существует много способов автозагрузки. Ниже приведены несколько вариантов. Надеюсь, что это сможет вам помочь в розыске и удалении вредоносного ПО из автозагрузки.
Способы автозагрузки
Реестр
В реестре Windows Vista автозагрузка представлена в нескольких ветвях:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run] - программы, запускаемые при входе в систему.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunOnce] - программы, запускаемые только один раз при входе пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе.
[HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Run] - программы, которые запускаются при входе текущего пользователя в систему [HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\RunOnce] - программы, которые запускаются только один раз при входе текущего пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.
Например, чтобы автоматически запускать Блокнот при входе текущего пользователя, открываем Редактор реестра (regedit.exe), переходим в раздел
[HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Run] и добавляем следующий ключ:
"NOTEPAD.EXE"="C:\WINDOWS\System32\notepad.exe"
Использование групповой политики для автозапуска
Откройте оснастку "Групповая политика" (gpedit.msc), перейдите на вкладку "Конфигурация компьютера - Административные шаблоны - Система". В правой части оснастки перейдите на пункт "Вход в систему".
По умолчанию эта политика не задана, но вы можете добавить туда программу: включаем политику, нажимаем кнопку "Показать - Добавить", указываем путь к программе, при этом если запускаемая программа находится в папке ..WINDOWS\System32\ то можно указать только название программы, иначе придется указать полный путь к программе. При этом в системном реестре в разделе [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\policies] создается подраздел \Explorer\Run с ключами добавленных программ.
Пример:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\policies\Explorer\Run]
"1"="notepad.exe"
"2"="iexplore.exe"
В итоге получаем запуск Блокнота и Internet Explorer для всех пользователей. Аналогично задается автозапуск для текущих пользователей, в оснастке "Групповая политика" это путь "Конфигурация пользователя - Административные шаблоны - Система" (рис 2), а в реестре раздел [HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\Explorer\Run]
Важно! При этом программы из этого списка не отображаются в списке программ доступных для отключения в msconfig.exe, а также определяются не всеми менеджерами автозагрузки.
Автозапуск из особого списка
Программы могут запускаться и из следующего раздела реестра:
[HKEY_CURRENT_USER\Software\Microsoft\ Windows NT\CurrentVersion\Windows]
Параметры:
"load"="programma" - программы запускаемые до входа пользователя в систему:
"run"="programma" - программы запускаемые после входа пользователя в систему.
Эти параметры - аналог автозагрузки из Win.ini в Windows 9х.
Пример: запускаем Internet Explorer до входа пользователя в систему и Блокнот после входа пользователя в систему:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\Windows]
"load"="iexplore.exe"
"run"="notepad.exe"
Не обрабатывать список автозапуска для старых версий
Настраивается с помощью групповой политики: "Конфигурация компьютера - Административные шаблоны - Система - Вход в систему - Не обрабатывать список запуска старых программ", если эту политику включить, то не будут запускаться программы из следующих разделов реестра:
[HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\Run] При использовании этой политики в реестре создается следующий ключ: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\policies\Explorer]
"DisableLocalMachineRun"=dword:00000001
Аналогично устанавливается политика для текущих пользователей: "Конфигурация пользователя - Административные шаблоны - Система - Вход в систему - Не обрабатывать список запуска старых программ с тем отличием что в реестре эта опция включается в ином месте:
[HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\Explorer]
"DisableLocalUserRun"=dword:00000001
Игнорировать списки автозагрузки программ выполняемых однажды
Настраивается с помощью групповой политики: "Конфигурация компьютера - Административные шаблоны - Система - Вход в систему - Не обрабатывать список однократного запуска программ"
Если эту политику включить, то не будут запускаться программы запускаемые из списка
[HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunOnce] Если эта политика включена, в реестре создается следующий ключ: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\policies\Explorer]
"DisableLocalMachineRunOnce"=dword:00000001
Так же настраивается политика для текущих пользователей: "Конфигурация пользователя - Административные шаблоны - Система - Вход в систему - Не обрабатывать список однократного запуска программ" Параметры реестра:
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Windows\CurrentVersion\policies\Explorer]
"DisableLocalUserRunOnce"=dword:00000001
Назначенные задания
Программы могут запускаться с помощью "Планировщика заданий". Посмотреть список установленных заданий, а также добавить новое можно так: "Пуск - Все программы - Стандартные - Служебные - Планировщик заданий" - при этом откроется окно Планировщика заданий, в котором отображены назначенные задания.
Чтобы добавить новое задание, нужно из меню "Действия" выбрать пункт "Создать задачу".
Запуск программ с помощью этого мастера возможен однократно, при входе в Windows, при включении компьютера, а также по расписанию.
Папка "Автозагрузка"
Папка, в которой хранятся ярлыки для программ запускаемых после входа пользователя в систему. Ярлыки в эту папку могут добавляться программами при их установке или пользователем самостоятельно. Существует две папки - общая для всех пользователей и индивидуальная для текущего пользователя. По умолчанию эти папки находятся здесь:
..\Users\All Users\Microsoft\ Windows\Start Menu\Programs\Startup - это папка, программы из которой будут запускаться для всех пользователей компьютера.
%USERPROFILE%\AppData\Roaming\ Microsoft\Windows\Start Menu\Programs\Startup - это папка, программы из которой будут запускаться для текущего пользователя.
Посмотреть какие программы у вас запускаются таким способом можно открыв меню "Пуск - Все программы - Автозагрузка". Если вы создадите в этой папке ярлык для какой-нибудь программы, она будет запускаться автоматически после входа пользователя в систему.
Смена папки автозагрузки
Windows считывает данные о пути к папке "Автозагрузка" из реестра. Этот путь прописан в следующих разделах:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Explorer\User Shell Folders]
"Common Startup"="%ProgramData%\Microsoft\ Windows\Start Menu\Programs\Startup"- для всех пользователей системы.
[HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Explorer\User Shell Folders]
"Startup"="%USERPROFILE%\AppData\Roaming\ Microsoft\Windows\Start Menu\Programs\Startup"
- для текущего пользователя.
Сменив путь к папке мы получим автозагрузку всех программ из указанной папки.
Пример:
[HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Explorer\User Shell Folders]
"Startup"="c:\mystartup" - система загрузит все программы, ярлыки которых находятся в папке c:\mystartup\, при этом папка "Автозагрузка" все так же будет отображаться в меню "Пуск", а если у пользователя в ней ничего не было, то он и не заметит подмены.
Подмена ярлыка для программы из списка автозагрузки
Допустим у вас установлен пакет Acrobat. Тогда в папке "Автозагрузка" у вас будет находиться ярлык "Adobe Reader Speed Launch" - этот ярлык устанавливается туда по умолчанию. Но вовсе необязательно этот ярлык ссылается именно на соответствующее приложение - вместо него может быть запущена любая другая программа, тем более что на функциональности Acrobat это не скажется.
Добавление программы к программе запускаемой из списка автозагрузки
Модификация предыдущего варианта - одновременно с загрузкой какой-либо программы из списка автозагрузки у вас будет стартовать другая программа - дело в том, что можно "склеить" два исполняемых файла в один и они будут запускаться одновременно. Существуют программы для такой "склейки". Или ярлык может ссылаться на командный файл, из которого и будут запускаться как оригинальная программа из списка, так и добавленные посторонние программы.
Посмотреть список автоматически загружаемых программ можно открыв программу "Сведения о системе" (откройте "Пуск - Все программы - Стандартные - Служебные - Сведения о системе" или наберите msinfo32.exe в командной строке) и перейдя в пункт "Программная среда - Автоматически загружаемые программы". Программа "Свойства системы" отображает группы автозагрузки из реестра и папок "Автозагрузка".
Другая программа, позволяющая посмотреть список программ автозагрузки - "Настройка системы" (для запуска наберите msconfig.exe из командной строки). Эта программа кроме просмотра списка автозагрузки предоставляет возможность отключения всех пунктов автозагрузки (вкладка "Общие") или выборочных программ (вкладка "Автозагрузка").
Заключение
Безусловно, сведения, приведенные в данной статье нельзя считать исчерпывающими, однако надеюсь они помогут вам в нелегком труде борьбы с вредоносным ПО.