Содержание
- INFO: Описание разделов реестра Run, RunOnce, RunServices, RunServicesOnce и Startup
- Аннотация
- Дополнительная информация
- Ссылки
- Автозагрузка в Windows 7
- Способы автозагрузки
- Реестр
- Использование групповой политики для автозапуска
- Игнорировать списки автозагрузки программ выполняемых однажды
- Назначенные задания
- Папка «Автозагрузка»
- Смена папки автозагрузки
- Подмена ярлыка для программы из списка автозагрузки
- Добавление программы к программе запускаемой из списка автозагрузки
- Заключение
- Как открыть автозагрузку в Windows 10, добавить и убрать автозапуск программ
- Как открыть, просмотреть, включить и отключить автозапуск программ в Windows 10
- Параметры Windows
- Автозагрузка в Диспетчере задач
- Автозагрузка в реестре
- Автозапуск программ через планировщик заданий Windows 10
- Папка автозагрузки Windows 10
- Сторонние программы и утилиты для работы с автозагрузкой Виндовс 10
- CCleaner
- Autoruns
- Автозагрузка в Windows 7
- Способы автозагрузки
- Реестр
- Использование групповой политики для автозапуска
- Игнорировать списки автозагрузки программ выполняемых однажды
- Назначенные задания
- Папка «Автозагрузка»
- Смена папки автозагрузки
- Подмена ярлыка для программы из списка автозагрузки
- Добавление программы к программе запускаемой из списка автозагрузки
- Заключение
INFO: Описание разделов реестра Run, RunOnce, RunServices, RunServicesOnce и Startup
Аннотация
В данной статье описано, как разделы реестра Run, RunOnce, RunServices, RunServicesOnce и RunOnceSetup связаны друг с другом и с папкой «Автозагрузка». Также в статье описывается порядок загрузки данных разделов.
Сведения, содержащиеся в этой статье, являются дополнением к следующей статье базы знаний Майкрософт:
137367 Назначение разделов «Run» системного реестра WindowsСм. в данной статье подробные сведения о каждом из этих разделов.
Дополнительная информация
В операционных системах Microsoft Windows 95, Windows 98 и Windows Millennium Edition (Me), в которых поддерживаются все разделы, данные разделы загружаются в следующем порядке:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnceЗа исключением раздела HKEY_LOCAL_MACHINE. RunOnce, все разделы и записи в них загружаются асинхронно. Таким образом, все записи в разделах RunServices и RunServicesOnce могут выполняться одновременно.
Записи раздела HKEY_LOCAL_MACHINE. RunOnce загружаются синхронно, в неопределенном порядке.
Поскольку раздел HKEY_LOCAL_MACHINE. RunOnce загружается синхронно, все его записи должны быть загружены до того, как загрузятся записи разделов HKEY_LOCAL_MACHINE. Run, HKEY_CURRENT_USER. Run, HKEY_CURRENT_USER. RunOnce и папки «Автозагрузка».
Разделы RunServicesOnce и RunServices загружаются до входа пользователя в систему Windows 95, Windows 98 или Windows Me. Поскольку эти два раздела запускаются неодновременно с диалоговым окном входа в систему, их запуск может продолжаться и после входа пользователя. Однако, поскольку раздел HKEY_LOCAL_MACHINE. RunOnce должен загружаться синхронно, его записи не начнут загружаться, пока не закончится загрузка разделов RunServicesOnce и RunServices.
Так как конфигурация системы может быть различной (например, компьютер может быть сконфигурирован на автоматический вход в систему), следует иметь в виду, что загрузка приложения, которое зависит от других приложений, выполняющихся по завершении загрузки данных разделов, начнется только после полной загрузки этих приложений. В остальном же приведенное выше описание относится также к Microsoft Windows NT 4.0, Windows 2000 и Windows XP.
Система Windows NT 3.51 не поддерживает разделы RunOnce.
При запуске Windows 2000 и Windows XP в безопасном режиме разделы RunOnce игнорируются.
Ссылки
Дополнительные сведения о разделе реестра RunOnceEx см. в следующей статье базы знаний Майкрософт:
232487 Описание раздела реестра RunOnceEx (эта ссылка может указывать на содержимое полностью или частично на английском языке)Дополнительные сведения см. также в следующей статье базы знаний Майкрософт:
137367Назначение разделов «Run» системного реестра Windows
Источник
Автозагрузка в Windows 7
Сегодня сложно найти организацию, которая не подвергалась бы вирусным атакам. И хотя практически везде уже установлено антивирусное ПО, иногда возникает необходимость вручную посмотреть, где же в реестре стартует то или иное вредоносное ПО.
Безмалый В.Ф.
MVP Consumer Security
Сегодня сложно найти организацию, которая не подвергалась бы вирусным атакам. И хотя практически везде уже установлено антивирусное ПО, иногда возникает необходимость вручную посмотреть, где же в реестре стартует то или иное вредоносное ПО, причем даже не обязательно вредоносное. При поиске резидентного вредоносного ПО нас не могут не волновать следующие вопросы:
Именно этому и будет посвящена эта статья.
Существует много способов автозагрузки. Ниже приведены несколько вариантов. Надеюсь, что это сможет вам помочь в розыске и удалении вредоносного ПО из автозагрузки.
Способы автозагрузки
Реестр
В реестре Windows 7 автозагрузка представлена в нескольких ветвях:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] ‐ программы, запускаемые при входе в систему.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе (рис.1).
Рисунок 1 Автозапуск для всех пользователей
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce] ‐ программы, запускаемые только один раз при входе пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе.
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun] ‐ программы, которые запускаются при входе текущего пользователя в систему
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce] ‐ программы, которые запускаются только один раз при входе текущего пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.
Например, чтобы автоматически запускать Блокнот при входе текущего пользователя, открываем Редактор реестра (regedit.exe), переходим в раздел
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun] и добавляем следующий ключ:
«NOTEPAD.EXE»=»C:WINDOWSSystem32notepad.exe»
Использование групповой политики для автозапуска
Откройте оснастку «Групповая политика» (gpedit.msc), перейдите на вкладку «Конфигурация компьютера ‐ Административные шаблоны ‐ Система». В правой части оснастки перейдите на пункт «Вход в систему». (рис.2).
Рисунок 2 Использование групповой политики для автозапуска (для всех пользователей)
Фактически в данном разделе локальной групповой политики можно указать дополнительную программу или документ, который будет выполняться при входе пользователя в систему.
Внимание! Данный пункт политики доступен в Конфигурации компьютера и Конфигурации пользователя. Если заданы оба пункта политики, то вначале будет запущена программа из Конфигурации компьютера, а затем уже пользователя.
При этом в системном реестре в разделе [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpolicies] создается подраздел ExplorerRun с ключами добавленных программ.
Пример:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorerRun]
«1»=»notepad.exe»
В итоге получаем запуск Блокнота (рис 3).
Рисунок 3 Запуск Блокнота с помощью локальной групповой политики
Аналогично задается автозапуск для текущих пользователей, в оснастке «Групповая политика» это путь «Конфигурация пользователя ‐ Административные шаблоны ‐ Система» (рис 2), а в реестре раздел [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun]
Внимание! При этом программы из этого списка не отображаются в списке программ доступных для отключения в msconfig.exe, а также определяются не всеми менеджерами автозагрузки.
Игнорировать списки автозагрузки программ выполняемых однажды
Если эту политику включить, то не будут запускаться программы, запускаемые из списка
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce] Если эта политика
включена, в реестре создается следующий ключ:
Назначенные задания
Рисунок 4 Окно Планировщика заданий
Чтобы добавить новое задание, нужно из меню «Действия» выбрать пункт «Создать простую задачу» (рис.5).
Рисунок 5 Создание простой задачи в Планировщике задач
Запуск программ с помощью этого мастера возможен однократно, при входе в Windows, при включении компьютера, а также по расписанию.
Папка «Автозагрузка»
Папка, в которой хранятся ярлыки для программ запускаемых после входа пользователя в систему. Ярлыки в эту папку могут добавляться программами при их установке или пользователем самостоятельно. Существует две папки ‐ общая для всех пользователей и индивидуальная для текущего пользователя. По умолчанию эти папки находятся здесь:
.. UsersAll UsersMicrosoftWindowsStart MenuProgramsStartup ‐ это папка, программы из которой будут запускаться для всех пользователей компьютера.
%USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup ‐ это папка, программы из которой будут запускаться для текущего пользователя.
Посмотреть какие программы у вас запускаются таким способом можно открыв меню «Пуск ‐ Все программы ‐ Автозагрузка». Если вы создадите в этой папке ярлык для какой-то программы, она будет запускаться автоматически после входа пользователя в систему.
Смена папки автозагрузки
Windows считывает данные о пути к папке «Автозагрузка» из реестра. Этот путь прописан в следующих разделах:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]
«Common Startup»=«%ProgramData%MicrosoftWindowsStart MenuProgramsStartup»‐ для всех пользователей системы.
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]
«Startup»=«%USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup»
‐ для текущего пользователя. Сменив путь к папке, мы получим автозагрузку всех программ из указанной папки.
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]
«Startup»=»c:mystartup» ‐ система загрузит все программы, ярлыки которых находятся в папке c:mystartup, при этом папка «Автозагрузка» все так же будет отображаться в меню «Пуск», а если у пользователя в ней ничего не было, то он и не заметит подмены.
Подмена ярлыка для программы из списка автозагрузки
Допустим у вас установлен пакет Acrobat. Тогда в папке «Автозагрузка» у вас будет находиться ярлык «Adobe Reader Speed Launch» ‐ этот ярлык устанавливается туда по умолчанию. Но вовсе необязательно этот ярлык ссылается именно на соответствующее приложение ‐ вместо него может быть запущена любая другая программа, тем более что на функциональности Acrobat это не скажется.
Добавление программы к программе запускаемой из списка автозагрузки
Модификация предыдущего варианта ‐ одновременно с загрузкой какой-либо программы из списка автозагрузки у вас будет стартовать другая программа ‐ дело в том, что можно «склеить» два исполняемых файла в один и они будут запускаться одновременно. Существуют программы для такой «склейки». Или ярлык может ссылаться на командный файл, из которого и будут запускаться как оригинальная программа из списка, так и добавленные посторонние программы.
Посмотреть список автоматически загружаемых программ можно открыв программу «Сведения о системе» (откройте «Пуск ‐ Все программы ‐ Стандартные ‐ Служебные ‐ Сведения о системе» или наберите msinfo32.exe в командной строке) и перейдя в пункт «Программная среда ‐ Автоматически загружаемые программы». Программа «Свойства системы» отображает группы автозагрузки из реестра и папок «Автозагрузка» (рис.6).
Рисунок 6 Автоматически загружаемые программы
Другая программа, позволяющая посмотреть список программ автозагрузки ‐ «Настройка системы» (для запуска наберите msconfig.exe из командной строки). Эта программа кроме просмотра списка автозагрузки предоставляет возможность отключения всех пунктов автозагрузки (вкладка «Общие») или выборочных программ (вкладка «Автозагрузка»).
Заключение
Безусловно, сведения, приведенные в данной статье нельзя считать исчерпывающими, однако, надеюсь, они помогут вам в нелегком труде борьбы с вредоносным ПО.
Источник
Как открыть автозагрузку в Windows 10, добавить и убрать автозапуск программ
Из этой статьи вы узнаете, что такое автозагрузка в Windows 10, где находиться и как ее открыть. Разберемся, как отключить автозапуск программ, добавить приложение в автозагрузку и убрать его оттуда. Рассмотрим вопросы настройки автозапуска ПО и нужна ли нам папка автозагрузки в текущей версии Виндовс 10. Расскажу про пару бесплатных утилит, позволяющих более удобно и наглядно управлять автозапуском приложений.
Программы и утилиты, добавленные в автозагрузку, запускаются сразу после включения ПК или ноутбука. Она позволяет сэкономить ваше время, запуская в автоматическом режиме наиболее часто используемое ПО. Например, у вас по любому стоит на автоматическом запуске антивирус. Так же при старте Windows, можно автоматически загружать Skype, Дискорд, Стим и другие популярные приложения. Для многих из них вы можете видеть значки в области уведомлений
справа внизу на панели задач.
Вместе с полезным софтом, в автозагрузку может добавляться и вредоносное ПО, причем без вашего ведома.
Большое количество приложений, запускаемых автоматически, приводит к замедлению работы компьютера.
Поэтому, даже простому пользователю будет полезно разобраться, как удалять ту или иную утилиту из автозагрузки. Управляя ей, ваш настольный ПК или ноут станет работать быстрее и стабильнее.
Как открыть, просмотреть, включить и отключить автозапуск программ в Windows 10
Контроль автозагрузки различных программ, приложений и утилит, можно осуществлять в параметрах ОС Windows, диспетчере задач, папке автозагрузки, системном реестре, планировщике заданий или через сторонний софт.
Параметры Windows
Самый простой способ открыть, просмотреть, включить или выключить программы, находящиеся в автозагрузке Windows 10 пункт “Параметры” ⇒
и далее “Автозагрузка”
Если вы не понимаете, что можно отключить, а что нет, то лучше ничего не трогать. По большому счету, даже удалив все из автозапуска, вы не навредите компьютеру, так как там нет ничего влияющего на его работоспособность. Только потом придется запускать некоторые программы вручную.
В крайних версиях Windows 10 появилась новая функция.
Программы, которые не были корректно завершены при выключении компьютера или ноутбука, АВТОМАТИЧЕСКИ запускаются при следующем входе в операционную систему.
Это не является автозагрузкой и вы их там не найдете.
Автозагрузка в Диспетчере задач
В “Диспетчере задач” во вкладке “Автозагрузка” вы так же можете посмотреть и настроить работу программ и приложений ⇒
Нажав по любой строке правой кнопкой мыши, вы можете включить или отключить авто запуск того или иного приложения, просмотреть путь к исполняемому файлу и открыть его или найти информацию об этом ПО в сети интернет.
В колонке “Влияние на запуск”
можно приблизительно понять, насколько данная программа влияет на время загрузки ОС. Оно бывает низким, средним и высоким. Если программа имеет статус высокого потребления, и она вам нужна редко, то её лучше убрать. Чем слабее комп, тем более ответственно надо подойти к этому вопросу.
Влияние на скорость запуска Винды, после отключения того или иного приложения, вы можете увидеть в строке “Длительность последнего запуска BIOS”.
Автозагрузка в реестре
Чтобы это сделать, нажмите ПКМ по пустому месту правой части окна редактора ⇒ нажмите кнопку “Создать” и выберите пункт “Строковый параметр”. Переименуйте параметр, дав ему имя запускаемого приложения или любое другое. Далее дважды кликните по нему или нажмите ПКМ и пункт “Изменить”. В нижней строке укажите путь к исполняемому файлу выбранной вами программы. Если не знаете, как посмотреть путь к файлу, то читайте в этой статье.
Автозапуск программ через планировщик заданий Windows 10
В планировщике заданий так же можно создать задачу на автоматический запуск любой программы или приложения.
Открыть планировщика в Windows 10 можно, нажав по кнопке 🔎 поиска с левой стороны панели задач и начать вводить название утилиты
Сама настройка производиться в библиотеке планировщика заданий. В нее включены утилиты, приложения, программы и команды, которые автоматически выполняются при определенных событиях, в том числе и при входе в систему. Вы можете удалить ненужные вам задания или добавить какие-то свои.
Папка автозагрузки Windows 10
Выглядит она как обычная папка, но работает по другому. Когда вы помещаете в нее ярлык от какого либо ПО, то Windows автоматически загружает его при запуске системы.
По большому счету, папка автозагрузки уже устарела. Она была полнофункциональной до версии Винды 1709. Тогда управление программами при запуске осуществлялось только через нее. Сейчас она заменена панелью автоматического запуска приложений, которая намного удобней.
Это можно понять, по тому количеству ярлыков, которые в ней находятся. Их намного меньше, чем активных программ в автозагрузке.
Папку автозагрузки в Виндовс 10 можно найти на своем ПК по адресу ⇒
Нужно только скопировать и ввести указанный путь в адресную строку проводника и нажать Ввод.
Еще один способ ее открыть, это нажать клавиши Win+R и ввести в окно “Выполнить” shell:startup и нажать Ок. У вас откроется папка с ярлыками программ для автозапуска.
Чтобы добавить программу в автозагрузку, вы можете просто создать ярлык для нее в указанной папке.
Не со всеми программами срабатывает. Лучше всего работает раздел автозагрузки в реестре Windows 10, о котором я писал выше.
Сторонние программы и утилиты для работы с автозагрузкой Виндовс 10
Создано много бесплатных программ и утилит, с помощью которых можно просмотреть и удалить любое приложение из автозагрузки. Я советую пользоваться одной из двух ⇒
CCleaner Free попроще в настройке и более понятна неискушенному пользователю, а в Autoruns интерфейс потяжелее и она подойдет тем, кто хочет все контролировать от и до.
CCleaner
Вы можете прямо из рабочего окна CCleaner включить/отключить или удалить приложение. Так же можно перейти в реестр для редактирования уже в нем.
Autoruns
Не требует установки на компьютер и совместима со всеми последними версиями ОС, включая Windows 10.
После запуска вы получите полный список всего, что запускается системой — программы, службы, библиотеки, задания планировщика и многое другое.
Основные возможности, которые могут пригодиться при настройке ПО в автозагрузке ⇒
Так же в Autoruns можно просмотреть и настроить службы, различные задачи выполняемые при входе в систему, элементы планировщика заданий.
Для начинающего пользователя утилита сложновата и не всегда понятна, но это самый функциональный инструмент. Очень рекомендую к использованию.
Если у вас остались вопросы по данной теме, то задавайте их ниже в комментариях, а я, да и другие пользователи постараются на них дать ответ.
Есть три способа добавить программу в автозагрузку — добавление программы (или ярлыка программы) в пользовательскую папку, редактирование реестра или планировщик заданий.
Запускаем редактор реестра, нажав клавиши Win+R и вводим regedit.
Источник
Автозагрузка в Windows 7
Сегодня сложно найти организацию, которая не подвергалась бы вирусным атакам. И хотя практически везде уже установлено антивирусное ПО, иногда возникает необходимость вручную посмотреть, где же в реестре стартует то или иное вредоносное ПО, причем даже не обязательно вредоносное. При поиске резидентного вредоносного ПО нас не могут не волновать следующие вопросы:
Именно этому и будет посвящена эта статья.
Существует много способов автозагрузки. Ниже приведены несколько вариантов. Надеюсь, что это сможет вам помочь в розыске и удалении вредоносного ПО из автозагрузки.
Способы автозагрузки
Реестр
В реестре Windows 7 автозагрузка представлена в нескольких ветвях:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] — программы, запускаемые при входе в систему.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе (рис.1).
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce] — программы, запускаемые только один раз при входе пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.
Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе.
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun] — программы, которые запускаются при входе текущего пользователя в систему
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce] — программы, которые запускаются только один раз при входе текущего пользователя в систему. После этого ключи программ автоматически удаляются из данного раздела реестра.
Например, чтобы автоматически запускать Блокнот при входе текущего пользователя, открываем Редактор реестра (regedit.exe), переходим в раздел
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun] и добавляем следующий ключ:
«NOTEPAD.EXE»=»C:WINDOWSSystem32notepad.exe»
Использование групповой политики для автозапуска
Откройте оснастку «Групповая политика» (gpedit.msc), перейдите на вкладку «Конфигурация компьютера — Административные шаблоны — Система». В правой части оснастки перейдите на пункт «Вход в систему». (рис.2).
Фактически в данном разделе локальной групповой политики можно указать дополнительную программу или документ, который будет выполняться при входе пользователя в систему.
Внимание! Данный пункт политики доступен в Конфигурации компьютера и Конфигурации пользователя. Если заданы оба пункта политики, то вначале будет запущена программа из Конфигурации компьютера, а затем уже пользователя.
При этом в системном реестре в разделе [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpolicies] создается подраздел ExplorerRun с ключами добавленных программ.
Пример:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorerRun]
«1»=»notepad.exe»
В итоге получаем запуск Блокнота (рис 3).
Аналогично задается автозапуск для текущих пользователей, в оснастке «Групповая политика» это путь «Конфигурация пользователя — Административные шаблоны — Система» (рис 2), а в реестре раздел [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun]
Внимание! При этом программы из этого списка не отображаются в списке программ доступных для отключения в msconfig.exe, а также определяются не всеми менеджерами автозагрузки.
Игнорировать списки автозагрузки программ выполняемых однажды
Настраивается с помощью групповой политики: «Конфигурация компьютера — Административные шаблоны — Система — Вход в систему — Не обрабатывать список однократного запуска программ»
Если эту политику включить, то не будут запускаться программы, запускаемые из списка
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce] Если эта политика включена, в реестре создается следующий ключ:
Так же настраивается политика для текущих пользователей: «Конфигурация пользователя — Административные шаблоны — Система — Вход в систему — Не обрабатывать список однократного запуска программ» Параметры реестра:
Назначенные задания
Программы могут запускаться с помощью «Планировщика заданий». Посмотреть список установленных заданий, а также добавить новое можно так: «Пуск — Все программы — Стандартные — Служебные — Планировщик заданий» — при этом откроется окно Планировщика заданий, в котором отображены назначенные задания (рис.4).
Чтобы добавить новое задание, нужно из меню «Действия» выбрать пункт «Создать простую задачу» (рис.5).
Запуск программ с помощью этого мастера возможен однократно, при входе в Windows, при включении компьютера, а также по расписанию.
Папка «Автозагрузка»
Папка, в которой хранятся ярлыки для программ запускаемых после входа пользователя в систему. Ярлыки в эту папку могут добавляться программами при их установке или пользователем самостоятельно. Существует две папки — общая для всех пользователей и индивидуальная для текущего пользователя. По умолчанию эти папки находятся здесь:
.. UsersAll UsersMicrosoftWindowsStart MenuProgramsStartup — это папка, программы из которой будут запускаться для всех пользователей компьютера.
%USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup — это папка, программы из которой будут запускаться для текущего пользователя.
Посмотреть какие программы у вас запускаются таким способом можно открыв меню «Пуск — Все программы — Автозагрузка». Если вы создадите в этой папке ярлык для какой-то программы, она будет запускаться автоматически после входа пользователя в систему.
Смена папки автозагрузки
Windows считывает данные о пути к папке «Автозагрузка» из реестра. Этот путь прописан в следующих разделах:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]
«Common Startup»=«%ProgramData%MicrosoftWindowsStart MenuProgramsStartup» — для всех пользователей системы.
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]
«Startup»=«%USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup»
— для текущего пользователя. Сменив путь к папке, мы получим автозагрузку всех программ из указанной папки.
Пример:
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]
«Startup»=»c:mystartup» — система загрузит все программы, ярлыки которых находятся в папке c:mystartup, при этом папка «Автозагрузка» все так же будет отображаться в меню «Пуск», а если у пользователя в ней ничего не было, то он и не заметит подмены.
Подмена ярлыка для программы из списка автозагрузки
Допустим у вас установлен пакет Acrobat. Тогда в папке «Автозагрузка» у вас будет находиться ярлык «Adobe Reader Speed Launch» — этот ярлык устанавливается туда по умолчанию. Но вовсе необязательно этот ярлык ссылается именно на соответствующее приложение — вместо него может быть запущена любая другая программа, тем более что на функциональности Acrobat это не скажется.
Добавление программы к программе запускаемой из списка автозагрузки
Модификация предыдущего варианта — одновременно с загрузкой какой-либо программы из списка автозагрузки у вас будет стартовать другая программа — дело в том, что можно «склеить» два исполняемых файла в один и они будут запускаться одновременно. Существуют программы для такой «склейки». Или ярлык может ссылаться на командный файл, из которого и будут запускаться как оригинальная программа из списка, так и добавленные посторонние программы.
Посмотреть список автоматически загружаемых программ можно открыв программу «Сведения о системе» (откройте «Пуск — Все программы — Стандартные — Служебные — Сведения о системе» или наберите msinfo32.exe в командной строке) и перейдя в пункт «Программная среда — Автоматически загружаемые программы». Программа «Свойства системы» отображает группы автозагрузки из реестра и папок «Автозагрузка» (рис.6).
Другая программа, позволяющая посмотреть список программ автозагрузки — «Настройка системы» (для запуска наберите msconfig.exe из командной строки). Эта программа кроме просмотра списка автозагрузки предоставляет возможность отключения всех пунктов автозагрузки (вкладка «Общие») или выборочных программ (вкладка «Автозагрузка»).
Заключение
Безусловно, сведения, приведенные в данной статье нельзя считать исчерпывающими, однако, надеюсь, они помогут вам в нелегком труде борьбы с вредоносным ПО.
Источник
Содержание:
- 1 Что такое системный реестр?
- 2 Зачем нужен реестр Windows?
- 3 Какие данные хранятся в ветке HKLM?
- 4 Как зайти в HKEY_LOCAL_MACHINE на «Виндовс 7» или любой другой системе самым быстрым способом?
- 5 Как на «Винде 7» зайти в HKEY_LOCAL_MACHINE из «Проводника»
- 6 Редактирование реестра
- 7 Дефрагментация и очистка ненужных данных
- 8 Стоит ли заниматься изменением ключей собственноручно?
- 9 Что такое hkey_local_machine?
- 10 Где находится или как зайти в hkey local machine?
- 10.1 6 комментариев к записи “Вирус в HKLMSOFTWAREMicrosoftWindows NTCurrent VersionWindowsAppinit_Dlls”
Достаточно часто можно встретить ситуации, когда при установке какого-то программного обеспечения или в целях повышения быстродействия операционных систем Windows приходится вмешиваться в работу так называемого системного реестра, но не с изменением пользовательских настроек, а с редактированием раздела HKEY_LOCAL_MACHINE. Как зайти на «Виндовс 8» в эту ветку или в любой другой системе, далее и будет рассмотрено. Оговоримся сразу: заниматься редактированием параметров нужно только при условии четкого понимания того, что это может нанести непоправимый вред всей операционной системе.
Что такое системный реестр?
Вообще, оставив пока в стороне вопрос о том, как зайти в HKEY_LOCAL_MACHINE (SYSTEM) или в другой подраздел, стоит отметить, что системный реестр Windows представляет собой своеобразную таблицу регистрации всех установленных компонентов и настроек.
Тут хранятся данные не только о собственных инструментах системы, но и обо всех драйверах устройств или пользовательских приложений. Грубо говоря, ни одна программа не может работать, если она не зарегистрирована, впрочем, как и сами системные службы. Точно так же невозможно открыть ни один файл, сведения о котором в реестр не внесены.
Зачем нужен реестр Windows?
Проблема того, как зайти в ветку реестра HKEY_LOCAL_MACHINE, решается достаточно просто. Весь этот процесс можно уместить в одну строку. Но чтобы понимание было более полным, для начала остановимся на том, для чего все это нужно.
Грубо говоря, все программы или данные (любая информация), представленные в виде файлов, каким-то образом должны распознаваться самой операционной системой, не говоря уже о том, что и все «железные» устройства должны функционировать корректно с использованием установленных для них драйверов. Как ОС может определить их? Первичная система BIOS срабатывает только в самом начале загрузки компьютера, а операционная система стартует только после этого.
И данные для загрузки берутся именно из системного реестра. Кстати, если вы обращали внимание на процессы восстановления Windows, в первую очередь она восстанавливает именно реестр из заранее созданной резервной копии. При этом пользовательские файлы, как сообщается, не затрагиваются. Это и понятно, приоритет восстановления установлен для работоспособности программного обеспечения, которое на момент какого-то непредвиденного сбоя могло быть уже удалено. А так – никаких проблем! Через восстановление системного реестра можно восстановить и те приложения, которые в данный момент в системе отсутствуют.
Заметьте: файлы программ физически с винчестера не удаляются, а только переименовываются, и в названиях первый символ заменяется на нечитаемый (обычно это $ или
$). Таким образом, достаточно просто определить все файлы, помеченные такими атрибутами, чтобы произвести восстановление работы любой программы. По этому принципу, кстати, и работают практически все известные на сегодняшний день утилиты, позволяющие произвести восстановление утерянной информации на носителях любого типа, включая не только жесткие диски, но и флэш-устройства, внешние USB-HDD или даже карты памяти самых популярных стандартов.
Но вернемся к самой ветке реестра. Опять же, прежде чем решать вопрос того, как зайти на «Виндовс 8.1») в HKEY_LOCAL_MACHINE, следует уяснить, какие именно данные здесь хранятся.
В основном они касаются системных настроек, с параметрами которых при редактировании нужно быть очень осторожным.
В зависимости от версии ОС, разделы могут быть разными. Но основными являются подпункты SOFTWARE, HARDWARE и SYSTEM. Как уже понятно, они соответствуют программной, «железной» и системной части. Иными словами, первый раздел хранит информацию об установленных программах, второй отвечает за драйверы и оборудование, в третьем хранятся настройки самой ОС.
Как зайти в HKEY_LOCAL_MACHINE на «Виндовс 7» или любой другой системе самым быстрым способом?
Теперь непосредственно о входе. Вопрос того, как зайти в HKEY_LOCAL_MACHINE, в любой из ныне известных Windows-систем решается достаточно просто.
В данном случае речь идет об использовании консоли запуска программ и служб «Выполнить», в которой прописывается стандартная команда regedit, соответствующая исполняемому EXE-файлу. После входа достаточно просто развернуть ветку в дереве каталогов, расположенном слева.
Как на «Винде 7» зайти в HKEY_LOCAL_MACHINE из «Проводника»
Но выше приведенный метод единственным не является. Точно так же просто вопрос того, как зайти в HKEY_LOCAL_MACHINE, может быть решен и при использовании ручного запуска файла программы.
Он называется regedit.exe и располагается в папке System32. В данном случае даже запуск от имени администратора не требуется, поскольку система все равно запросит подтверждение прав на вмешательство. Другое дело, когда требуется произвести слияние путем запуска файла ключей с расширением REG. А вот тут права админа обязательны, ведь система внести изменения в реестр попросту не даст.
Редактирование реестра
С редактированием, как уже было отмечено, необходимо быть крайне осторожным. Цена вопроса – работоспособность всей системы.
Такая проблема связана только с тем, что, в отличие от других программ и настроек Windows, которые предлагают пользователю сохранить сделанные изменения, в редакторе реестра ни о чем подобном и речи быть не может (если что-то исправили, даже при закрытии редактора изменения вступят в силу автоматически). Таким образом, просто поменяв один ключ, вы можете привести всю систему к полному крашу. Без особой надобности эту ветку лучше не трогать.
Дефрагментация и очистка ненужных данных
Итак, как зайти в HKEY_LOCAL_MACHINE, более или менее разобрались. С вопросами редактирования тоже проблем быть не должно. Теперь несколько слов о дефрагментации реестра. Многие пользователи эту проблему, мягко говоря, недооценивают. А зря, поскольку именно по причине нахождения в реестре проблематичных ключей загрузка системы может стать достаточно долгой.
Как уже понятно, это сродни действиям с жестким диском, но отличие состоит не только в упорядочивании хранимых в нем записей и ключей, а и в удалении ненужных. В чем суть? При старте операционная система сканирует реестр, и чем больше в нем ключей, тем большее время отводится на загрузку. Вывод напрашивается сам собой: реестр нужно время от времени чистить. Но как это сделать?
Проще всего воспользоваться специальными программами-оптимизаторами, которые позволяют произвести автоматическую очистку и дефрагментацию без особого участия пользователя. Среди наиболее популярных утилит можно выделить CCleaner, Advanced SystemCare, Glary Utilities и многие другие. В комплекте их инструментариев имеется достаточно много модулей на все случаи жизни, включая и действия с системным реестром. Но можно использовать и узконаправленные утилиты, а не программы комплексного ухода за системой. Их тоже хватает с избытком. Но если разобраться, лучше применять комплексный уход, поскольку включенные в программах модули обеспечивают дополнительную очистку и ускорение.
Стоит ли заниматься изменением ключей собственноручно?
Наконец, почти напросился ответ на самый главный вопрос о том, насколько целесообразно и небезопасно заниматься изменением значений ключей реестра. Медаль имеет две стороны. Вроде бы и нежелательно изменять эти параметры, но, с другой стороны, некоторые настройки компонентов системы бывает невозможно задействовать или деактивировать без вмешательства в реестр, в частности, в ветку настроек, упомянутую выше.
Если требуется обычная оптимизация загрузки операционной системы, без сомнения, лучше всего подойдут приложения-оптимизаторы. Если же требуется включить определенные службы или активировать некоторые компоненты самой системы, без вмешательства с использованием ручного режима настройки не обойтись. А посему нужно быть крайне осторожным, чтобы не нанести системе такой ущерб, что она вообще прекратит работу и не будет даже подавать признаков жизни. После этого иногда может потребоваться даже ее полная переустановка.
В любом случае подходить к вопросам изменений параметров нужно максимально обдуманно, а без понимания сути выполняемых в определенный момент действий без надобности в системный реестр лучше не лезть вообще.
Очень часто при поиске того или ного решения компьютерной проблемы, советуют перейти в некую папку hkey_local_machine. Но далеко не всегда толком объясняют что это за папка и где находится.
В данной статье мы расскажем вам об hkey_local_machine. Вы узнаете где она находится и как в нее можно попасть на любой версии Windows.
Что такое hkey_local_machine?
Наверняка некоторые из вас хоть раз слышали о системном реестре. Это своеобразная системная база данных, в которой собрана информация обо всех установленных программах и компонентах, а также указаны параметры системы и приложений.
Так вот hkey local machine является одной из начальных (коренных) папок системного реестра. Еще их называют ветками реестра.
В ней находится масса служебной информации. Редактировать что — либо здесь нужно с особой осторожностью. Желательно перед внесением изменений в системный реестр делать точку восстановления, так как один неверно заданный параметр может привести к полной потере работоспособности как операционной системы, так и отдельных ее компонентов или программ.
Где находится или как зайти в hkey local machine?
Для входа в данную папку нужно зайти в реестр windows. Для этого вне зависимости от версии операционной системы нажимаем на клавиатуре комбинацию кнопок «Windows» + «R».
Комбинация кнопок «Win»+»R» на клавиатуре
Откроется окно «Выполнить», в котором пишем команду «regedit» без кавычек и жмем «Enter».
Команда для входа в редактор системного реестра
Далее запустится реактор реестра, который является своеобразным проводником по недрам реестра. В его левой части указаны корневые папки (ветки), среди которых присутствует и искомая папка hkey_local_machine, содержащая в себе массу различных подпапок и настроек.
Системный реестр с каталогом hkey local machine
Сегодня вновь повстречался с вирусом расположенном в ветке реестра HKLMSOFTWAREMicrosoftWindows NTCurrent VersionWindowsAppinit_Dlls.
Снова он был не подписан и имел дурацкое название, состоящее из случайных букв — qhrsxxg.dll
Основные действия данного файла были направлены на неправильную работу браузеров — вместо страниц открывались «каракули» с непонятным текстом, либо Сайты открываются в виде HTML кода
В этот раз удалить его сходу не получилось, программа Unlocker никак не могла разблокировать файл.
После отключения данного файла в программе autoruns, и перезагрузки компьютера — файл все-таки был удален.
Браузеры заработали как и положено
А вообще в ветке реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWindows и значение параметра AppInit_DLLs должно быть пустым.
6 комментариев к записи “Вирус в HKLMSOFTWAREMicrosoftWindows NTCurrent VersionWindowsAppinit_Dlls”
Здравствуйте!
У меня сейчас точно такая же проблема. Расскажите поподробней , пожалуйста, как это сделать. Я ничего не понял из вшесказанного. И ещё вопрос: почему антивирусы его не видят и не удаляют?
Добавлю. У меня нет вообще такого файла, проблема есть.
Более подробно прочитайте в статье, там все подробно расписано, правда про другой вирус — но суть одна — как такое удалить — расписано.
Все что вам нужно — воспользоваться программой autoruns
такого прям в точности файла у Вас не будет — так как они «носят» случайное имя -бессмысленное
здраствуйте у меня в компьютере (windows 8)отсутствует APPINIT_DLLs.что делать?
Если в реестре нет параметра Appinit_DLLs, то его надо создать самому вручную по пути HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWindows. Вот в этой папке Windows надо создать параметр Appinit_DLLs, который не должен иметь никакого значения, и если какое-то значение появится, то это вирус однозначно, его надо просто удалить обычным способом.Можно также в качестве значения создать параметр DWORD( для 32-бит .систем) или QWORD(для 64-бит.систем), значение которого должно быть равно нулю,т.е.0х00000000(0).Аналогично должно быть проделано в подразделе реестра HKCU( подраздел настроек пользователя)
Олег Комлев
04.02.2018
Как найти путь к реестру? [HKCU_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun].Заранее спасибо
Быку — кнут
04.02.2018
Запустить regedit
ALEX ALEX
04.02.2018
Редактор реестра в помощь, только лучше не лезть туда…
Stepeecoyote
04.02.2018
В редакторе реестра
Только не
HKCU_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
а
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
Тамара Поволяева
04.02.2018
На КЛАВЕ одновременно нажать клавиша WIN(c флажком) + клавиша R — затем в окно ввести regedit а далее HKCU_CURRENT_USERSoftwareMicrosoftWindowsCurre
Tolick
04.02.2018
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion
- В HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun все время добавляется гугл хром Хоть я его и удаляю каждый раз, но при перезагрузке он обратно появляется там, что делать? Из-за этого при вкл компьютера, браузер все время сам по себе включ. Со старыми вкладками.
- Исправить чтоб не было ошибок больше HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.divx — 1 Исправить чтоб не было ошибок больше HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.divx
- Если поменять в HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion значение с EnterpriseS на Professional Получится ли обновится до Professional? Некоторые как-то так делали и у них все получалось.
- У сына заблокировался ПК. В разделе HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion нет — Run У сына заблокировался ПК… В разделе HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion нет — Run… С Live CD весь ПК как на ладони… А не могу найти кто блокмрует…
Добавить комментарий
Идея написания сводного руководства по самостоятельному обнаружению вирусов на станциях под управлением Windows зрела на протяжении достаточно длительного времени и обуславливалась, прежде всего необходимостью составить и время от времени дополнять справочник возможных расположений запуска вирусного кода. Лейтмотивом этой идеи является необходимость непосредственного, то есть самостоятельного (ручного) анализа системы в случаях, когда имеется подозрение, что автоматические методы (утилиты/антивирусы), не в состоянии обнаружить работающий в системе вредоносный код. Обнаружение вируса собственными силами — вот тот уровень, который не будет лишним для любого технического специалиста по операционным системам Windows. Хотелось бы сделать небольшое отступление и пару слов сказать на счет самих антивирусных продуктов. Надо заметить, что эти, самые надежные по мнению большинства, помощники в борьбе с вредоносным кодом, вообще-то не являются панацеей от заражения операционной системы. Повидавшая виды практика помнит случаи, когда грамотно написанный вредоносный код, учитывающий эвристические особенности определенных «региональных» антивирусов, долгое время оставался незамеченным на критически важных корпоративных системах. В этом то и заключается парадокс зараженной системы, в которой установлен авторитетный антивирус с актуальными антивирусными базами. Подобный курьез говорит о том, что если вирус использует хотя бы мало-мальски оригинальный код, методы маскировки, различные виды упаковок, алгоритмы противодействия, то антивирусу бывает сложно обнаружить его, либо он не может деактивировать и удалить уже находящийся и функционирующий в системе вредоносный код, и это не смотря на продвинутые методы контроля системы с перехватом различных системных вызовов и прочие виды глубокой системной интеграции. Подобных доводов можно привести множество, но все они сводятся к одному единственному выводу.
Невозможно обеспечить 100% антивирусную защиту автоматизированными средствами.
И именно в свете сего немаловажного обстоятельства, в критические моменты встает необходимость уметь собственноручно обнаруживать и удалять вредоносный код, и именно поэтому данная статья будет посвящена изложению методов обнаружения без использования каких-либо антивирусных средств, исключением у нас будут, разве что, небольшие сопутствующие утилиты.
«Все течет, все меняется» (© Гераклит), и операционные системы из этого постулата, конечно же, не исключение. На протяжении всей истории развития операционных систем Windows, идет их постоянное видоизменение, одни системные механизмы перестают эксплуатироваться, долгое время присутствуя в системе в виде рудиментов совместимости и в последствии исчезая, другие же появляются. Происходит бесконечное движение, вирусописатели подстраиваются под эволюционирующую среду, переписывая код, использующий устаревающие механизмы, начинают искать и эксплуатировать другие, обретающие актуальность. Учитывая меняющиеся от версии к версии особенности операционных систем и достаточно большое количество потенциальных точек активации вредоносного кода, статья эта никогда не будет завершена полностью и конечно же не будет претендовать на полное руководство по выбранной тематике. Однако, по мере получения новых знаний, будет время от времени мною дорабатываться в бесконечной попытке соответствовать современным реалиям.
Перед тем как мы начнем работать с довольно сложной темой под названием обнаружение вируса, хотелось бы отдельно сказать вот еще о чем.
Во избежание разночтения и неправильного трактования некоторых моих выражений, под понятием вирус в данной статье будет подразумеваться любой вид вредоносного кода.
Дело в том, что с момента зарождения эры компьютерных вирусов, специалистами по безопасности было введено в оборот такое великое многообразие терминов и определений, что классификация в рамках небольшой статьи выглядела бы, откровенно говоря, излишней, учитывая и тот факт, что в свете характера статьи для нас фактически не так уж и важно, как зовется та или иная разновидность вредоносного кода. В разнообразных материалах, посвященных теме компьютерных вирусов, встречаются оригинальные определения, специалисты по безопасности называют программное обеспечение, которое выполняет деструктивные действия различными именами. На заре операционной системы MS-DOS
вирусами называли программы, которые реплицировали собственный код в обнаруживаемые исполняемые модули и загрузочный сектор. С появлением линейки операционных систем Windows, вредоносный код обрел истинное многообразие, на свет появилось большое количество всевозможных алгоритмических отклонений, таких как руткиты (rootkit), трояны (troyan), шпионы (spyware), рекламные программы (adware), вымогатели (ransomware), сетевые черви (worms) и прочее, прочее, прочее. И все эти вариации на вирусную тему имеют различное предназначение. Часто термины ассоциируются неправильно, и вещи называются не своими именами, в дополнение, ко всему этому многообразию применяются второстепенные термины, такие как вредоносный код, зловред, вредонос. Поэтому, дабы не вводить читателя в заблуждение, я буду использовать определение «вирус» применительно к любому вредоносному коду, поэтому встречая в тексте термин вирус, подразумеваем любой вид вредоносного кода.
По каким косвенным признакам пользователь может обнаружить вирус в операционной системе? Дело в том, что какого-то единого, вполне определенного и однозначного симптома заражения системы вирусом не существует, однако общими следствиями вирусной активности могут быть:
- Низкая производительность операционной системы;
- Низкая производительность отдельных приложений;
- Часто возникающие ошибки в приложениях;
- Отображение посторонних информационных окон;
- Блокировка рабочего стола пользователя различными информационными окнами;
- Блокировка страницы (вкладки) браузера различными информационными окнами;
- Блокировка доступа к определенным ресурсам в сети Интернет (например, к сайтам антивирусных лабораторий);
- Автоматический запуск разнообразных программ;
- Отказ в изменении некоторых настроек операционной системы (даже под учетной записью локального администратора);
- Загруженная сеть, наличие интенсивного трафика на интерфейсах в моменты бездействия;
- Иная подозрительная (отклоненная от штатной) активность операционной системы;
Внимательно изучив описанные выше первичные признаки, можно сделать однозначный вывод что зачастую довольно сложно отличить вирусную активность от типовых сбоев, вызванных аппаратными и программными проблемами. Обычно в случае подозрения на аномальную активность, пользователь прибегает к помощи антивирусов, но что же делать ему в ситуации, когда работающий антивирус при сканировании не может детектировать в системе никакой вирусной активности, а «глюки» сохраняются и подозрение на вирус остается?! В этом случае можно попробовать переустановить операционную систему, выбор безусловно за вами, но в этом случае вы теряете уникальную возможность саморазвития, не получаете дополнительных знаний по компьютерным вирусам, исключаете возможность обнаружить новые виды вирусной активности. Может все же стоит попробовать «пройтись по системе» самостоятельно с целью обнаружения вируса, изучив возможные местоположения запуска и модификации? Хорошо, для начала требуется усвоить одно простое правильно:
Компьютерный вирус — код, способный (несанкционированно, без ведома пользователя) копировать самого себя в любом доступном виде, модифицируя требуемым образом различные системные области: регионы виртуальной памяти, системный реестр, загрузочный сектор диска/раздела, файловую систему. Может содержать деструктивную нагрузку.
Большинство вирусов рассчитаны на многократное исполнение, поэтому обычно оставляют свою копию в файловой системе в виде отдельного файла (группы файлов), с целью в дальнейшем иметь возможность запускаться многократно в автоматическом режиме. Применительно к операционной системе Windows, вирус представляется обычно в виде отдельного файла с расширением, идентифицирующим исполняемый различными подсистемами операционной системы код, вот некоторые из этих расширений: .exe
, .dll
, .sys
, .ocx
, .js
, .ps1
, .wht
, .com
, .bat
, .vbs
и прч. Некоторые вирусы, активизирующиеся в системе, не оставляют свои запускаемые копии, а просто проводят модификации определенных ключей реестра или ключевых конфигурационных файлов с целью решения собственных задач. Следуя этой логике, в целях обнаружения вируса, мы будем искать наличие подозрительных данных в физических секторах диска, файловой системе, реестре и оперативной памяти. Но ведь не придется же нам парсить полностью все эти компоненты в поисках вирусного кода? Хотя идея и неплоха но конечно же нет, мы будем пытаться обнаружить вирус в строго предопределенных местах: в тех расположениях в операционной системе, откуда, по задумке разработчиков, средствами самой системы могут запускаться различные исполняемые модули и где могут находиться важные для системы данные в виде файлов конфигурации различного назначения. Не лишним будет и умение отличать вирусный код от легального, знание о том, какие именно данные являются вполне безобидными, а какие из них подозрительны, то есть с большой вероятностью могут представлять вредоносный код.
Еще одним немаловажным аспектом является наличие сторонней среды, то есть операционной системы, заведомо чистой от различного рода вирусов. Делается это с тем расчетом, что некоторые особо продвинутые вирусы могут маскировать свою активность в системе, перехватывая вызовы различных функций Windows API. Поэтому, с целью получения чистой тестовой среды, мы можем:
- Запуститься в обычном режиме загрузки под учетной записью с правами локального администратора.
- Загрузиться в защищенный режим; Большинство вирусов в защищенном режиме не запускаются.
- Загрузиться с внешнего диска LiveCD, содержащего среду Windows PE (Portable Executable), в состав которой входят средства работы с физическими секторами диска, файловой системой и системным реестром.
Сокращения, используемые далее в данной статье:
Сокращение | Полное наименование |
---|---|
HKCR | HKEY_CLASSES_ROOT |
HKCU | HKEY_CURRENT_USER |
HKLM | HKEY_LOCAL_MACHINE |
HCU | HKEY_USERS |
В статье я постарался свести максимальное количество известных мне методов загрузки вирусов в операционной системе Windows.
Автозагрузка
Конечно же, первое по популярности расположение в операционной системе это автозагрузка. Автозагрузка — специализированное расположение в операционной системе, описываемое соответствующими ключами реестра а так же определенными каталогами в файловой системе, которое предназначается для автоматической загрузки исполняемых модулей на этапе загрузки операционной системы. Большой процент вирусов пытается прописать себя именно в автозагрузку методом модификации соответствующих ключей и расположений. Поэтому, для того, чтобы обнаружить вирус, достаточно пристально изучить списки программ, загружающихся с помощью данного системного механизма.
Автозагрузка в реестре
Windows 7:
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun
Определяет общесистемную ветку реестра, содержащую записи о программам, запускаемых при входе в систему любого пользователя. - HKCUSOFTWAREMicrosoftWindowsCurrentVersionRun
Определяет пользовательскую ветку реестра, содержащую записи о программах, запускаемых при входе в систему конкретного пользователя. - HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionRun
Определяет общесистемную ветку реестра, содержащую записи о 32-битных программах, загружаемых при входе в 64-битную систему любого пользователя. - HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnce
Определяет общесистемную ветку реестра, содержащие записи о программам, запускаемых при входе в систему разово, то есть единожды. После единственного запуска ключи программ автоматически удаляются операционной системой из данного раздела. - HKCUSOFTWAREMicrosoftWindowsCurrentVersionRunOnce
Определяет ветку реестра конкретного пользователя, содержащую записи о программах, запускаемых при входе в систему конкретного пользователя разово, то есть единожды. После единственного запуска ключи программ автоматически удаляются операционной системой из данного раздела. - HKEY_USERSSID_пользователяSoftwareMicrosoftWindowsCurrentVersionRun
Содержит копию основной ветви автозагрузки для пользователя системы, определяемого конкретным SID-идентификатором. Например HKEY_USERSS-1-5-21-792320725-696519568-570327587-7793SoftwareMicrosoftWindowsCurrentVersionRun. Если Вы проверяете систему из защищенного режима, либо с LiveCD, то не поленитесь проверить данный раздел для SID пользователя, который, предположительно, подхватил заразу.
Индивидуальные пути Windows 98/98SE/ME:
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunServices
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionRunServices
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunServicesOnce
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionRunServicesOnce
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx
Индивидуальные пути Windows XP:
- HKCUSOFTWAREMicrosoftWindows NTCurrentVersionWindowsRun
Автозагрузка групповой политики (в реестре)
В системе присутствуют ключи реестра, которые используются для загрузки программ как части групповой политики компьютера/пользователя. Если политики не заданы, что обычно имеет место быть в случае типовой домашней станции, то подраздел пуст. Записи в нем создаются только по определенным условиям, например при использовании локальной или доменной групповой политики для загрузки программ. Программы из списка автозагрузки с использованием групповой политики не отображаются во вкладке Автозагрузка в утилите msconfig.exe
, могу предположить что и другие менеджеры автозагрузки могут не отображать эти записи, по этой то причине с целью обнаружения вируса, стоит заглянуть непосредственно в следующие ключи реестра:
- HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun
- HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun
Автозагрузка в файловой системе
Однако, автозагрузка вовсе не ограничивается ключами реестра. Как мы все прекрасно знаем, в Windows существует еще один (пожалуй основной) способ автоматически загрузить программу при старте операционной системы. В интерфейсе пользователя присутствует раздел Автозагрузка, который аккумулирует списки программ из специализированных расположений в файловой системе: каталогов с именем Startup
в профиле конкретного пользователя и профиле пользователя по-умолчанию. Помещая в это расположение ярлык программы либо непосредственно саму программу, можно легко добиться автозагрузки программы на стадии запуска. Меня всегда вот удивляло, почему нельзя универсализировать механизмы реестровой автозагрузки и пользовательской и объединить их? Почему в Windows присутствует именно несколько различных методов загрузки, мало того, что представлены специальные ветви реестра, так еще и предоставили каталоги? Немного поразмыслив, понял, что механизм с реестром позиционируется как «системный», а механизм с автозагрузкой в качестве «пользовательского», чтобы пользователю можно было тривиально, в два клика обеспечить своему приложению автозапуск. Представляете ситуацию объединения этих механизмов.. неподготовленный (рядовой) пользователь получал бы возможность видеть все специализированные утилиты, которые загружаются через реестр и мог бы (не)преднамеренно просто их поудалять. К тому же, не каждая программа способна загрузиться посредством записи в ключах реестра.
Конечно же, и этот механизм не смог обойтись без внимания вирусописателей, и некоторые вирусы используют механизм автозагрузки из каталога для добавления исполняемых модулей при первичном получении управления собственным кодом. Поэтому специалисту не лишним будет проверить следующие местоположения:
Версия | Размещение |
---|---|
Windows Vista/7 | Для текущего пользователя: %APPDATA%MicrosoftWindowsStart MenuProgramsStartup Для всех пользователей системы: %ProgramData%MicrosoftWindowsStart MenuProgramsStartup |
Windows 2000/XP | Для текущего пользователя: %UserProfile%Start MenuProgramsStartup Для всех пользователей системы: %AllUsersProfile%Start MenuProgramsStartup |
Однако описанные местоположения могут быть изменены через ключи реестра.
Для всех пользователей системы:
- ключ HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerUser Shell Folders,
параметрCommon Startup
= %ProgramData%MicrosoftWindowsStart MenuProgramsStartup
Для текущего пользователя системы:
- ключ HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders,
параметрStartup
= %USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
Поэтому стоит иногда заглядывать в упомянутые ключи с целью проверки корректных значений установленных путей как составляющей общей стратегии по обнаружению вируса.
Загрузка на ранних стадиях
По задумке разработчиков некоторые сервисные утилиты, к примеру дефрагментаторы, программы проверки дисков, антивирусные сканеры, должны запускаться на раннем этапе процесса загрузки Windows, когда стартовали драйвера этапа загрузки (тип BOOT_START) и этапа системы (тип SYSTEM_START), но еще не инициализирован файл подкачки, переменные среды и не запущены некоторые подсистемы. В данной точке Диспетчер сеансов (Session Manager, smss.exe) только начинает разбирать переменные окружения пользовательского режима, поэтому никаких других процессов, понятное дело, еще не запущено. Однако, на данном этапе возможен запуск специально написанных образов, поддерживающих нативный (native) режим (использующих функции Native API).
Загрузка через Диспетчер сеансов настраивается в ключе реестра:
- ключ HKLMSystemCurrentControlSetControlSession Manager,
параметрBootExecute
= autocheck autochk *
Если в данном параметре Вы обнаружили дополнительные образы загрузки, присмотритесь к ним внимательнее, а что если это вирус? Только не удаляйте значение по умолчанию (autocheck autochk *), оно указывает на запуск утилиты проверки диска autochk
с модификатором autocheck, которая проверяет значение грязного бита (dirty bit), сообщающего о необходимости проверки раздела диска на наличие ошибок.
Hosts
Файл hosts — это системный конфигурационный (текстовый) файл, содержащий локальную базу доменных имен, используемую системой в процессе сопоставления имени хоста с IP-адресом и предназначающуюся для обеспечения возможности пользовательской настройки адресов отдельных узлов сети. Его еще можно назвать своеобразным локальным DNS-сервером. Предположим, у пользователя или какой-нибудь программы появится необходимость привязать имя домена example.com к IP-адресу 1.2.3.4, то он сможет это сделать именно благодаря внесению изменений в файл hosts. Запрос к записям из файла hosts имеет приоритет перед обращением к прописанным в системе DNS-серверам, что является немаловажным фактором. Надо ли объяснять, что для вирусов это достаточно интересная точка перенаправления трафика и модификация файла вирусом может привести к подмене адреса определенного доверенного узла. Существует категория вирусов, которая модифицирует файл hosts для маршрутизации запросов на фишинговые (поддельные) сайты, в точности эмитирующие страницы оригинальных сайтов [социальных сетей] с целью кражи паролей учетных записей, показа рекламных страниц, либо просто с целью блокировки доступа к определенным ресурсам. Поэтому, обнаружение в файле hosts сторонних записей может свидетельствовать о наличии в системе вредоносного кода, либо о разовой модификации записей вредоносным кодом, что может указывать на существование в системе серьезной уязвимости безопасности. Файл hosts по-умолчанию размещается в папке %SystemRoot%System32Driversetc и оригинальное его содержимое выглядит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# Copyright (c) 1993—2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a ‘#’ symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost |
Видите, все закомментировано (лидирующий символ #
в начале строки). В Windows 7 в файле hosts нет и одной реальной записи, только лишь примеры использования. В предыдущих версиях Windows правильный файл может содержать записи об интерфейсе локальной петли (localhost
), но не более.
А вот как выглядит модифицированный вирусом тот же файл hosts:
... 1.2.3.4 my.mail.ru 1.2.3.4 m.my.mail.ru 1.2.3.4 vk.com 1.2.3.4 ok.ru 1.2.3.4 m.vk.com 1.2.3.4 odnoklassniki.ru 1.2.3.4 vk.com 1.2.3.4 www.odnoklassniki.ru 1.2.3.4 m.odnoklassniki.ru 1.2.3.4 ok.ru 1.2.3.4 m.ok.ru 1.2.3.4 www.odnoklassniki.ru ... |
Можно увидеть, что доменные имена крупных российских социальных сетей перенаправлены на некий неизвестный хост 1.2.3.4. Поэтому, если Вы обнаружили в файле hosts подозрительные записи, которых Вы уж точно не добавляли, то можете их смело удалять. Однако, в случае, если они через некоторое время появляются вновь, можно с уверенностью говорить о наличии в системе активного вируса, одним из функциональных особенностей которого является периодическое обновление данных файла. Поскольку это не место загрузки вируса, а место модификации, то надо сперва обнаружить в системе сам активный код вируса и устранить причину, а затем уже следствие.
Ко всему прочему, само местоположение файла hosts в рамках системы может быть подвергнуто атаке и изменено. Задается оно соответствующим параметром в ветви реестра:
- ключ HKLMSystemCurrentControlSetServicesTcpipParameters,
параметрDatabasePath
= %SystemRoot%System32driversetc
..но вредоносный код, получивший привилегии локального администратора, может изменить значение параметра на собственное, ссылающееся совершенно в другое местоположение файловой системы. Обязательно проверьте данный параметр, и если Вы обнаружите в параметре DatabasePath
что-либо отличное от вышеуказанного значения, то стоит заменить значение на базовое.
DNS
DNS
(Domain Name System) — распределенная система доменных имен, которая используется для сопоставления IP-адреса с именем хоста (фактически получения IP-адреса на основе заданного имени). Для большинства рабочих окружений на основе операционной системы Windows это основной метод разрешения внешних (по отношению к локальной сети) имен хостов. Конечно же, он имеет меньший приоритет по сравнению с вышеописанным файлом hosts, тем не менее используется очень часто. С помощью (локального|внешнего) сервера DNS разрешаются символические имена узлов (например datadump.ru), к которым Вы обращаетесь в локальной|внешней сети, и которые не были разрешены другими, более приоритетными, методами. Существует категория вирусов, которые преднамеренно модифицируют параметры реестра, относящиеся к настройкам DNS-серверов с целью перенаправления сетевого трафика скомпрометированной машины на собственные сервера имен. В операционной системе Windows настройки DNS-серверов, к которым обращается модуль разрешения имен, хранятся в специальном ключе реестра:
- HKLMSYSTEMCurrentControlSetServicesTcpipParameters
параметры DhcpNameServer
и NameServer
которого должны содержать исключительно DNS-сервера, предоставляемые вашим локальным сетевым подключенным сетевым оборудованием (роутером/маршрутизатором), контроллером домена либо провайдером-поставщиком услуг доступа к сети Интернет.
Дополнительно, я бы проверил одноименные параметры для адаптеров и интерфейсов в следующих ключах реестра:
- HKLMSYSTEMCurrentControlSetServicesTcpipParametersAdapters{GUID}
- HKLMSYSTEMCurrentControlSetServicesTcpipParametersInterfaces{GUID}
Для того, чтобы проверить корректность адресов DNS-серверов, Вы должны просто-напросто знать адреса «своих» серверов, обычно это адреса из частных диапазонов подсетей: 192.168.0.0/16, 172.16.0.0/12 и 10.0.0.0/8, но не во всех случаях.
Для того, чтобы можно было посмотреть адреса DNS-серверов, можно выполнить из консоли (cmd) следующую команду:
ipconfig /all
которая сгенерирует вывод информации обо всех сетевых интерфейсах, сконфигурированных в вашей операционной системе:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
. . . Ethernet adapter Подключение по локальной сети: DNS-суффикс подключения . . . . . : domain.com Описание. . . . . . . . . . . . . : Intel(R) 82579LM Gigabit Network Connection Физический адрес. . . . . . . . . : 24-BE-05-17-5D-79 DHCP включен. . . . . . . . . . . : Да Автонастройка включена. . . . . . : Да IPv4-адрес. . . . . . . . . . . . : 172.16.5.16(Основной) Маска подсети . . . . . . . . . . : 255.255.255.128 Аренда получена. . . . . . . . . . : 24 февраля 2016 г. 9:15:55 Срок аренды истекает. . . . . . . . . . : 4 марта 2016 г. 9:16:02 Основной шлюз. . . . . . . . . : 172.16.5.126 DHCP-сервер. . . . . . . . . . . : 172.16.2.197 DNS-серверы. . . . . . . . . . . : 172.16.0.23 172.16.1.23 NetBios через TCP/IP. . . . . . . . : Включен . . . |
Для того, чтобы найти в этом огромном потоке информации интересующие нас DNS-сервера, Вы можете найти в выводе тот интерфейс, который «смотрит» у вас в сеть Интернет, и изучить сопоставленные с ним параметры конфигурации. Стоит обратить внимание на значение параметра «DNS-серверы». Если Вы вдруг обнаружили «левые» адреса серверов, принадлежность которых сложно установить, то можете смело их удалять, либо менять на корректные.
Оболочка (Проводник)
С тех давних пор, как мир обленился и основная масса пользователей отказалась от текстового интерфейса в пользу графического, классическое понимание оболочки (shell
) определенным образом трансформировалось и в дополнение к своим типичным консольным характеристикам текстового режима приобрело дополнительные особенности в виде графической среды взаимодействия с операционной системой. Графическая оболочка пользовательского интерфейса операционной системы Windows, иначе называемая Проводником и представленная в системе файлом explorer.exe, включает в себя функционал различных элементов интерфейса пользователя, как то: рабочий стол, меню пуск, проводник (файловый менеджер), панель инструментов и некоторые другие элементы взаимодействия. Однако в Windows с целью расширения целевого применения операционной системы в качестве различных однооконных киосков, не стали жестко закреплять «родную» пользовательскую оболочку explorer.exe и дали пользователю свободу конфигурировать альтернативную оболочку посредством ключей реестра, чем и не преминули воспользоваться вирусописатели.
В реестре за настройку пользовательской оболочки отвечает ключ:
- ключ HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon,
параметрShell
= explorer.exe
Помимо оболочки есть еще параметр userinit
, который описывает программы, загружаемые процессом Winlogon на этапе входа пользователя в систему. По умолчанию, Winlogon запускает модуль под названием Userinit.exe, который запускает скрипты стадии загрузки, а уже только затем вызывает оболочку пользовательского интерфейса explorer.exe. Настройка хранится в том же ключе в параметре Userinit:
- ключ HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon,
параметрUserinit
= C:Windowssystem32userinit.exe,
Обнаружение вируса в данном случае сводится к проверке наличия сторонних записей в данных ключах реестра.
Конфигурационные ini-файлы
Вплоть до современных версий в системе Windows все еще присутствует такой рудимент из прошлого, как конфигурационные ini-файлы. Речь у нас идет о следующих файлах:
- %SystemRoot%system.ini
- %SystemRoot%win.ini
В старых версиях Windows ini-файлы активно использовались в качестве основного механизма конфигурации системы, в том числе и для автозагрузки. В современных же версиях Windows система загружает некоторые параметры из указанных ini-файлов в реестр, используя так называемое отображение (сопоставление), задаваемое в следующем ключе реестра:
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionIniFileMapping
Отображение (маппинг) осуществляется следующим образом:
- Переменные Run и Load из секций
[boot]
,[windows]
файла win.ini, проецируются в ключ реестра HKCUSoftwareMicrosoftWindows NTCurrentVersionWindows. Таким образом, данные параметры операционная система обрабатывает как элементы автозагрузки, то есть как если бы они находились в секции[windows]
файла win.ini. - Переменная Shell из файла system.ini проецируется в HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon.
Отображение используется в целях совместимости с устаревшим программным обеспечением, которое знает про существование ini-файлов, однако не имеет никакого представления о том, что такое реестр. В случае подобного кода, который работает через совместимые функции Win16/Win32 API, функции эти получают информацию не из описанных файлов напрямую, а уже из соответствующих сопоставленных ключей реестра. Как мы можем догадаться, механизм этот оставлен разработчиками исключительно в целях совместимости с устаревшим интерфейсом Win16
, который не рекомендуется к использованию в современных реалиях Win32
. Но, как говорится, что работает, то может быть использовано, поэтому вирусы иногда задействуют данный механизм.
Фильтры выполнения оболочки
Так называемые фильтры выполнения оболочки (Shell Execute Hooks) предоставляют программный метод, который расширяет функционал системных функций ShellExecute
и ShellExecuteEx
. Конфигурацию фильтров в реестре можно найти в разделах:
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks
- HKLMSoftwareWow6432NodeMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks
Записи зачастую содержат идентификаторы CLSID
, ссылающиеся на ключи HKLMSOFTWAREClassesCLSID{CLSID}, в которых в параметрах InprocServer32
содержится информация о конкретном исполняемом модуле фильтра.
Фильтры выполнения оболочки не рекомендованы к использованию начиная с Windows Vista.
Объекты загрузки оболочки
Объекты загрузки оболочки (SSO/Shell Service Object) — это библиотеки, которые в процессе загрузки пользовательского окружения загружаются системной программой оболочки explorer.exe в качестве так называемых собственных расширений проводника. Функционируют в контексте родительского процесса проводника (explorer.exe) и загружаются до авторизации пользователя в системе.
В реестре представлены ключами:
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerShellServiceObjects
- HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerShellServiceObjects
В дополнение к вышеописанным, имеются еще так называемые объекты отложенной загрузки оболочки (SSODL/Shell Service Object Delay Load), обычно представляющие из себя типичные библиотеки DLL. Описываются ключом реестра:
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad
параметры данного раздела — это имена объектов оболочки, которые записываются в форме:
Имя_объекта
= CLSID (например: WebCheck
= {E6FB5E20-DE35-11CF-9C87-00AA005127ED})
Как мы видим, имена ссылаются на идентификаторы CLSID, которые можно найти в разделе HKLMSOFTWAREClassesCLSID{CLSID}, где информация о местоположении исполняемого файла оболочки содержится в параметре InprocServer32
.
Уведомления оболочки
В Windows имеется механизм под названием Winlogon Notification Packages или Уведомления оболочки. Механизм уведомлений используются для запуска программ при возникновении предопределенных системных событий. События подразделяются на: вход (logon), выход (logoff), запуск (startup), завершение (shutdown), запуск хранителя экрана (startscreensaver) и останов хранителя экрана (stopscreensaver). Когда модуль Winlogon стартует, он проверяет реестр и загружает зарегистрированные пакеты уведомления оболочки (представленные в виде .dll
-библиотек). Приведенные события генерируются самим процессом Winlogon.exe на разных стадиях своего функционирования. Когда событие возникает, Winlogon в параметрах ключа Notify
ищет функцию обработчика того или иного события. Вирусы обычно загружают себя по событию входа пользователя (logon) в операционную систему.
Ответственный ключ реестра:
- HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonNotify
Модули (библиотеки) инициализации приложений
App Init DLLs
— это системный механизм, который позволяет загружать произвольный список библиотек в адресное пространство каждого пользовательского процесса, использующего библиотеку user32.dll (а её функции используют практически все программы). Все начинается с загрузки user32.dll. Поскольку это типовая библиотека, входящая в состав базового набора поддержки подсистемы Win32 API, она загружается стандартным механизмом LoadLibrary
. Загрузчик образа вызывает функцию DllEntryPoint
библиотеки user32.dll, которая в недрах своего алгоритма содержит процедуру сканирования ключа реестра AppInit_Dll
, которая загружает все перечисленные в ключе библиотеки в виртуальное адресное пространство процесса, а затем поочередно вызывает для каждой из них процедуру инициализации. Именно таким образом перечисленные библиотеки получают управление. Этот механизм так же носит название DLL injection
, или внедрение динамической библиотеки. Естественно, если какое-либо приложение не использует стандартную библиотеку user32.dll, то никакие библиотеки, описанные в ключе AppInit_Dll в его адресное пространство загружены не будут. Согласитесь, что подобный функционал очень интересен для разнообразного злонамеренного кода. Поэтому, после всех проблем, которые доставил данный механизм в плане безопасности операционной системы, начиная с Windows 7 разработчики решили добавить необходимость подписания кода загружаемых библиотек. А в последствии грозятся и вовсе перейти на загрузку только лишь подписанных библиотек.
Later versions of Windows will load only code-signed AppInit DLLs and will not include a registry key to disable this requirement.
Информация об активном механизме, а так же списках загружаемых библиотек хранится в следующих ключах.
- для 32-битных DLL, функционирующих в 32-битной системе:
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWindows
параметрAppInit_DLLs
- Для 64-битных DLL, функционирующих в 64-битной системе:
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWindows
параметрAppInit_DLLs
- Для 32-битных DLL, функционирующих в 64-битной системе:
HKLMSOFTWAREWow6432NodeMicrosoftWindows NTCurrentVersionWindows
параметрAppInit_DLLs
Параметр содержит множество значений, разделенных пробелом либо запятой, каждое из которых описывает отдельную библиотеку.
Работать с данным ключам надо предельно внимательно, и хорошо себе представлять происходящее. Дело в том, что параметр может содержать модули вполне легальных приложений (антивирусы, клиенты виртуализации и прочее). Поэтому, не стоит спешить с массовым удалением всех присутствующих программ, и следует быть предельно аккуратным с очисткой данного параметра. Я думаю, в самом общем случае, алгоритм обнаружения вируса и очистки должен быть следующим: находим первую запись, определяем [гуглим] принадлежность модуля, если вирус — удаляем, если легальный — оставляем, и так по всем записям списка.
Известные библиотеки
В операционных системах Windows (начиная с Windows 95/NT) присутствует механизм под названием KnownDLL
(известные библиотеки), в основном предназначающийся для кеширования часто используемых системных DLL с целью сокращения общего времени загрузки приложений (увеличения производительности). Помимо основного применения, механизм обеспечивает довольно интересный дополнительный функционал, который позиционируется как средство обеспечения безопасности. Оно позволяет предотвращать такой хитрый трюк, как загрузка дубликатов известных системных библиотек непосредственно из директории самого приложения. Поместил злоумышленник, к примеру, свою копию библиотеки wininet.dll в директорию приложения, которое данную библиотеку использует, и по идее данная библиотека должна загрузиться приоритетно, поскольку находится в директории загружаемого приложения, ан нет, механизм KnownDLL
загрузит её из %SystemRoot%System32wininet.dll. Когда загрузчик образов подготавливает бинарный файл к выполнению, он смотрит в таблицу импорта и перечисляет библиотеки, которые используются загружаемым приложением. Для каждой библиотеки, которую загрузчик находит в таблице импорта, он пытается спроецировать библиотеку в адресное пространство процесса, для того, чтобы сделать функции библиотеки доступными основному приложению. Однако на этом же этапе загрузчик просматривает контейнер системных объектов KnownDLL
и ищет в нем объект с именем KnownDlls<имя_библиотеки>
, в случае существования которого, вместо подгрузки DLL непосредственно из текущего местоположения, загрузчик использует информацию объекта.
Описание секций присутствует в ключе реестра:
- HKLMSystemCurrentControlSetControlSession ManagerKnownDLLs
Если Вы внимательно изучите содержимое ключа, то заметите, что все перечисленные в нем DLL не имеют полного пути, поскольку по задумке разработчиков располагаются в директории %SystemRoot%System32 (задается ключом DllDirectory
). Это поднимает уровень безопасности, поскольку теперь чтобы вирусу прикинуться известной библиотекой и использовать механизм KnownDLL, ему потребуются еще и права записи на системную папку. Создание секций KnownDlls<имя_библиотеки> для каждой DLL происходит на этапе загрузки операционной системы специализированным кодом, который просматривает описанный выше ключ и создает соответствующие секции. Поэтому, обнаружение вируса, использующего механизм KnownDLL
, сводится к просмотру записей о библиотеках в описанном выше ключе и удалении модулей, вызывающих подозрение.
Параметры загрузки образов
Среди множества прочих, в системе реализован механизм под названием параметры загрузки образов (IFEO, Image File Execution Options), позволяющий контролировать некоторые аспекты запуска исполняемых образов (исполняемых файлов). Фактически он предоставлен разработчиками в целях отладки собственных программ. Одной из особенностей данного механизма является возможность перехватывать вызовы к исполняемому образу (программе), что дает неограниченные возможности по полному контролю запускаемого приложения, в том числе подмене его собственным кодом.
Настройки параметров загрузки хранятся в ключах реестра:
- HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options;
- HKLMSOFTWAREWow6432NodeMicrosoftWindows NTCurrentVersionImage File Execution Options;
Данные разделы реестра содержат подключи, указывающие на имена загружаемых образов, которые, в свою очередь, содержат параметры, описывающие разнообразные опции для запуска той или иной программы. В контексте текущей статьи все параметры описывать нет никакого резона, скажу только, что со стороны вредоносного кода интересным будет использование параметра Debugger
, который должен указывать, по версии разработчиков, на отладчик, запускаемый каждый раз, когда описанное приложение будет стартовать. Иными словами, например, если в ключе explorer.exe
создать параметр Debugger
(типа REG_SZ) и присвоить ему значение myapp.exe, то каждый раз при загрузке системой проводника будет запускаться указанное приложение с параметрами командной строки, указывающими на исходную программы и переданные уже ей параметры. Таким вот незатейливым способом вирусы могут подменять различные ключевые системные модули собственными. В этом случае, подозрительным с точки зрения безопасности будет факт присутствия в каком-либо модуле параметра Debugger
, указывающего на подозрительное приложение.
Зачастую таким образом вирусами перехватывается запуск проводника (explorer.exe), поэтому при нахождении в описанных выше ключах реестра подключа explorer.exe
можете смело его удалять.
Предзагрузка командного интерпретатора
Если командный интерпретатор (cmd.exe) запускается без параметра командной строки /D, то код интерпретатора вначале проверяет следующие ключи реестра:
- ключ HKLMSoftwareMicrosoftCommand Processor,
параметрAutoRun
- ключ HKCUSoftwareMicrosoftCommand Processor,
параметрAutoRun
..и если параметр AutoRun
присутствует хотя бы в одном из описанных ключей, то указанный в параметре исполняемый образ загружается непосредственно перед загрузкой самого cmd.exe. Параметры пользователя имеют приоритет перед параметрами компьютера. Данную особенность активно эксплуатируют разного рода вирусы, поэтому стоит проверять вышеуказанные ключи реестра в обязательном порядке.
Планировщик заданий (Shared Task Scheduler) — системный компонент, предоставляющий возможность планирования выполнения заданий (программ или скриптов) в системе на основе большого количества всевозможных критериев. Другими словами, планировщик заданий отвечает за автоматический запуск пользовательских и системных задач, запланированных по определенным условиям. Подобные задания зачастую связаны с запуском внешних приложений, поэтому не сложно догадаться, что это достаточно интересный механизм для некоторых категорий вирусов. К примеру, код вируса может создать собственную задачу, которая будет с определенной периодичностью подменять системные DNS-сервера (кстати воочию подобное наблюдал).
Для контроля заданий нам потребуется запустить планировщик. Запускается планировщик заданий разными способами, но один из самых универсальных это запуск через цепочку Панель управления — Администрирование — Планировщик заданий. При запуске планировщика в Windows 7 открывается стандартный интерфейс апплета:
Для просмотра сторонних запланированных задач, выделяем пункт Библиотека планировщика заданий 1
, затем ставим курсор (выделяем) на пункт задания в области списка заданий 2
, смотрим вкладку действия 3
для каждого заинтересовавшего нас задания, с целью выяснить, какие же действия оно выполняет. Откровенно подозрительными обычно являются задания, которые производят запуск исполняемых модулей неизвестного назначения (с невнятными именами) из таких местоположений, как %LOCALAPPDATA% и вложенных подкаталогов (например: C:Users<имя_пользователя>AppdataLocalwupdatewupdate.exe). При обнаружении подобного подозрительного или откровенно вредоносного задания, просто удаляем его из списка задач.
Windows Vista+:
Начиная с версии Windows Vista, задачи создаются в виде отдельных файлов формата XML (с расширением .xml
). Размещаются планируемые задачи в нескольких местоположениях операционной системы:
- Каталог C:WindowsSystem32Tasks;
- Каталог C:WindowsTasks;
- Ключ реестра HKLMSoftwareMicrosoftWindows NTCurrentVersionScheduleTaskcacheTasks;
- Ключ реестра HKLMSoftwareMicrosoftWindows NTCurrentVersionScheduleTaskcacheTree;
Windows 2000/XP:
В данных версиях операционных систем задачи можно было найти в реестре, в следующей ветви:
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerSharedTaskScheduler
Службы [Сервисы] и драйверы
Службы (Сервисы) — это приложения, автоматически или по возникновению определенных событий, запускаемые в фоновом режиме на различных стадиях загрузки операционной системы, обеспечивающие основные функциональные возможности ОС. Как правило, службы (сервисы) не взаимодействуют с графическим интерфейсом пользователя, поэтому говорится, что они не имеют графического интерфейса, и работа их в большинстве случаев не заметна для пользователя. Служба, в зависимости от настроек, может быть запущена автоматически при загрузке операционной системы, поэтому начать функционирование она может до того момента, как пользователем будет произведен вход в Windows. Основная задача по обнаружению вируса, который установил в систему собственную службу, состоит в том, чтобы просмотреть весь список запускаемых служб и детально изучить его на предмет наличия подозрительных сервисов. С этой целью можно использовать знакомую уже многим оснастку Службы, вызвав её следующим образом:
Нажать комбинацию Win + R и вписать в строку services.msc
, затем нажать ОК. После этого мы видим примерно следующее:
Для полноты восприятия переключаемся в стандартный вид (1), далее сортируем службы по столбцу «Состояние», просто щелкнув на нём (2), тем самым выстроив сначала службы, которые в данный момент работают. И среди работающих служб начинаем искать те, которые могут показаться нам подозрительными. В случае нахождения подозрительной службы можно попробовать её выделить (3), нажать правую кнопку и попытаться остановить (4), выбрав одноименный пункт меню. После остановки службы можно зайти в «Свойства» и изменить Типа запуска (StartUp Type) на Отключено (Disabled), перезагрузив затем операционную систему.
На самом деле, можно смело утверждать, что практически с нулевой вероятностью «родные» системные сервисы от Microsoft вызовут у нас подозрение, поэтому хорошая практика, в данном случае, состоит в том, чтобы отфильтровать как-либо образом сторонние службы, написанные третьими лицами и вот уже среди них провести проверку. Визуально отличить стороннюю службу (коей обычно и является вирус) от системной можно при наличии определенных знаний, но не у всех они имеются, поэтому существует более надежный и простой способ с участием утилиты msconfig (Конфигурация системы). Из командной строки с правами локального администратора запускаем команду:
msconfig
открывается окно утилиты конфигурирования системы. Переходим во вкладку «Службы» — выделяем чекбокс Не отображать службы Microsoft, затем щелкаем по столбцу «Состояние», дабы отсортировать работающие службы в начало списка. В итоге у нас получится список из служб сторонних разработчиков такого вот примерно вида:
А вот уже среди отфильтрованных (оставшихся) служб можно проводить детальный анализ.
Скрытые службы
На самом деле иногда все бывает гораздо сложнее, поскольку при определенных настройках безопасности службы и применении некоторых других методов, сервисы могут быть «скрыты». Подобные скрытые службы Вы не обнаружите при помощи традиционного инструментария (например: оснастка «Службы»). Исходя из этого более надежным, на мой взгляд, решением видится самостоятельный анализ ветви реестра текущей конфигурации:
- HKLMSYSTEMCurrentControlSetServices
В данном разделе реестра определены и службы и драйвера, инсталлированные в данный момент в операционной системе
Каждый ключ реестра в данной ветви — это запись о драйвере либо сервисе, который определен в операционной системе. В каждом ключе может содержать вложенные ключи, которые описывают дополнительные параметры конфигурации драйвера/службы.
На что стоит обращать внимание:
- параметр
Description
— содержит либо осмысленное имя службы/драйвера, либо указание на библиотеку вида @%SystemRoot%system32AxInstSV.dll,-104. - параметр
DisplayName
— содержит либо осмысленное отображаемое имя службы/драйвера, либо указание на библиотеку. - параметр
DriverPackageId
— содержит указание на .inf-файл драйвера. - параметр
ImagePath
— содержит полный путь и имя файла образа загрузки для службы/драйвера. Многие службы группируются в рамках единого процесса svchost.exe, в этом случае содержат что-то вроде: %SystemRoot%system32svchost.exe -k AxInstSVGroup. Зачастую у драйверов имя файла образа имеет расширение .sys, у служб обычно .exe, но это не обязательное правило.
Алгоритм нахождения сторонних записей состоит в прохождении каждого ключа и беглого анализа содержимого. В случае, если Вам показалась странной какой-либо ключ, не спешите удалять его, поскольку он может оказаться важным системным драйвером/службой. В случае неясности, перво-наперво, было бы логичным проконсультироваться у поисковиков на предмет получения дополнительных знаний
Если уж быть совсем скрупулезным, не лишним будет просмотр и сопутствующих ветви реестра различных вариантов конфигурации (хотя это не обязательно):
- HKLMSYSTEMControlSet001Services
- HKLMSYSTEMControlSet002Services
- HKLMSYSTEMControlSet003Services
С появлением 64-битных сборок Windows, процедура запуска не подписанного драйвера крайне осложнилась, а затем эту возможность перевели в предзагрузку. Теперь, чтобы запустить драйвера в 64-битной системе, необходимо наличие у него цифровой подписи. В связи со всеми этими нововведениями, протащить в систему сторонний драйвер стало достаточно проблематично. Конечно же, возможно имеются доступные открытые ключи, которыми можно подписывать собственные драйвера, однако непонятна их дальнейшая судьба в случае их активной эксплуатации. Основываясь на данных фактах, можно предположить, что в будущем использование драйверов с вредоносным кодом и вовсе сойдет на нет.
В случае обнаружения службы/драйвера вируса полностью удалить её из системы можно либо удалением соответствующего ключа реестра, либо командой:
sc delete имя_службы
Internet Explorer
Безо всякого сарказма это браузер с мировым именем На этой содержательной фразе можно было бы и остановиться, однако даже столь емкий термин не может в полной мере отразить весь тот огромный узел разнородных проблем, которых породили разработчики браузера самим фактом его создания. Пожалуй, можно смело утверждать, что браузер корпорации Microsoft является самой большой дырой в безопасности системы (на 2016 год почти восемь сотен обнаруженных уязвимостей). Восхождение звездного продукта началось с вытеснения в 1997 году конкурента под названием Netscape Navigator. Стратегическое решение было принято в связи со всё возрастающей ролью сети Интернет, и необходимостью более глубокой внутренней интеграцией обозревателя в систему. Вероятно, сама идея была действительно хорошая, поскольку продукт получился весьма функциональным, но как в последствии стало ясно, с очень непродуманной архитектурой. Практически постоянно можно наблюдать обход настроек безопасности, неправильную обработку внешних файлов, спуфинг, неавторизованную установку расширений. Зачастую уязвимости связаны с внешними плагинами типа
Flash Player
и Java
, однако отсутствие изоляции процессов и собственной (встроенной) обработки флеш и явы делает сам браузер беспомощным. Последнее время Microsoft работают над новым браузером, который будет носить название Edge, вот только будет ли он сохранять совместимость?
Подключаемые протоколы
В браузере Internet Explorer есть возможность добавлять так называемые подключаемые протоколы, которые могут быть сконфигурированы пользователем в дополнение к стандартным. Протоколы предназначены для расширения функционала браузера и фактически позволяют определить метод доступа к внешним ресурсам исходя из пользовательских критериев, то есть по вашему собственному протоколу, задавая специфический префикс URL
. Протокол сопоставляет поведение браузера и логики работы с символической короткой строкой вида mailto:
или http:
.
- ветвь HKLMSOFTWAREClassesPROTOCOLS содержит описание специализированных фильтров и обработчиков.
- подветвь HKLMSOFTWAREClassesPROTOCOLSHandler содержит подключи, описывающие обработчики протоколов. подключи представляют собой имена обработчиков, в которых имеется параметр
CLSID
, указывающий на соответствующийCLSID
обработчика. - подветвь HKLMSOFTWAREClassesPROTOCOLSFilter содержит подключи, описывающие фильтры протоколов. подключи представляют собой имена фильтров, в которых содержится параметр
CLSID
, указываются на соответствующий CLSID фильтра.
Как мы видим, классически все эти указанные в подразделах CLSID указывают на тот же CLSID
в ключе HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{CLSID}, а вот уже внутри информация о местоположении самого исполняемого модуля содержится в параметре InprocServer32
. Обнаружение вируса сводится к просмотру и нахождению подозрительных обработчиков и фильтров.
Элементы управления ActiveX для Internet Explorer
ActiveX — это механизм (дополнение), благодаря которому Internet Explorer может использовать другие системные приложения. При помощи него обеспечивается расширение функциональных возможностей браузера и, тем самым, достигается «лучшее взаимодействие» с веб-ресурсом. Например, через IE онлайновый антивирус посредством собственного ActiveX-компонента сканирует локальные файлы [на машине], сайт Microsoft Update устанавливает через свой ActiveX-компонент обновления безопасности в систему, ресурс может вызывать Windows Media Player для проигрывания звуковых форматов, вызывать QuickTime для воспроизведения анимации и так далее. Конечно же, данной технологией не могли не заинтересоваться вирусописатели, разрабатывающие вредоносные ActiveX-компоненты, которые обычно устанавливаются для последующей загрузки дополнительного программного обеспечения без вашего ведома. Все элементы ActiveX
, которые инсталлируются через Internet Explorer, попадают сперва в директорию %Windir%Downloaded Program Files. Обычно это модули типов .exe
, .dll
, .ocx
, .cab
и сопутствующие .inf
. Кроме самого исполняемого модуля (или архива), сюда же попадает и .inf-файл, описывающий процесс инсталляции, при участии которого и выполняется установка ActiveX-компонента в систему. Устанавливаемые таким образом элементы могут регистрировать себя в системе в качестве полноценных приложений. Для самостоятельного поиска вируса нам потребуется простой механизм по изучению списка ActiveX-элементов, установленных в системе. Существует ключ реестра, который содержит списки идентификаторов ActiveX, установленных для IE:
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionExtPreApproved
Однако ключ (как всегда) содержит одни лишь голые идентификаторы, поэтому для установления ассоциации с исполняемыми модулями нам (опять) предстоит вручную проверять каждое значение CLSID
в другом ключе реестра HKEY_CLASSES_ROOTCLSID и изучать для каждого CLSID
подключ InprocServer32
.
Общие параметры сети в Internet Explorer
Разнообразные настройки для сети Интернет можно обнаружить в следующем ключе:
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionInternet Settings
В ключе содержится большое количество параметров, и ниже посмотрим на какие же подключи стоит обратить особое внимание.
Сайты и протоколы Internet Explorer
Сайты и протоколы, добавленные в зону «Надежные узлы» (Trusted Zone). Обычно добавление в данную зону позволяет перечисленным в списке сайтам обходить некоторые виды проверок безопасности, то есть считаться более доверенными.
Используемые ключи реестра:
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZoneMapDomains
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZoneMapDomains
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZoneMapProtocolDefaults
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZoneMapProtocolDefaults
Об обнаружении вируса в системе может говорить наличие в описанных выше ключах записей о сторонних (неизвестных вам) ресурсах, назначение которых пользователю сложно определить.
Настройки прокси сервера
В ключе:
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionInternet Settings
..параметр ProxyServer
обычно отсутствует. В случае же наличия параметра следует понять, легальный ли это прокси и нужен ли он вам в работе?
Browser Helper Objects (BHO)
Browser Helper Object (Объект помощи браузеру, помощник браузера) — исполняемый модуль DLL, написанный в виде плагина для браузера Internet Explorer, предназначающийся для обеспечения дополнительного функционала, стандартно не поддерживаемого браузером. Вне зависимости от расширения практически всегда представляют собой обычные DLL библиотеки, которые загружаются вместе с браузером и работают в контексте основного процесса браузера. По этой причине разнообразная подозрительная активность зачастую остается незамеченной некоторыми персональными фаерволами. Вирусы могут инсталлировать BHO
, отслеживающие защищенные соединения и мониторящие пароли, либо записывающие активность пользователя при посещении определенных интернет-ресурсов. С точки зрения вируса подключить BHO
к браузеру Internet Explorer достаточно просто, для этого достаточно стандартными средствами зарегистрировать класс BHO и прописать ссылку на него в специальном ключе реестра:
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects
- HKLMSoftwareWow6432NodeMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects
подразделы ключа имеют имя-значение GUID
и ссылаются на одноименный компонент.
Плагины Internet Explorer
Плагины Internet Explorer — это небольшие программные модули, загружаемые при старте браузера с целью добавления браузеру определенных функциональных возможностей. Обычно используются для визуализации различного нестандартного контента: проигрывания специфических форматов видео, аудио и прочих.
Используемый ключ реестра:
- HKLMSOFTWAREMicrosoftInternet ExplorerPlugins
подразделы описывают различные разделы плагинов.
Панели инструментов Internet Explorer
Панели инструментов Internet Explorer — это дополнения для браузера, которые позволяют создавать и добавлять отдельные пользовательские панели, наборы инструментов или даже отдельностоящие панели рабочего стола в различные местоположения окна браузера: командную строку, строку закладок, меню, системную панель задач, а так же в прочие управляющие элементы. Распространены ситуации, когда панели инструментов создаются установленными в браузер BHO.
Ответственные ключи реестра:
- HKLMSOFTWAREMicrosoftInternet ExplorerToolbar
- HKCUSOFTWAREMicrosoftInternet ExplorerToolbar
- HKLMSOFTWAREWow6432NodeMicrosoftInternet ExplorerToolbar
содержит подразделы в виде GUID
, которые ссылаются непосредственно на компоненты.
Расширения Internet Explorer
Расширения для Internet Explorer (Addons, Аддоны) — это специальная категория дополнений, которые используются для добавления элементов к пользовательскому интерфейсу браузера. Возможна модификация главной панели инструментов с целью реализации на этой панели разнообразных отдельностоящих кнопок и полноценных меню. Кнопки панели инструментов могут запускать приложение, скрипт или открывать новую панель. Меню (иногда называемые сервисами), могут создавать пользовательское подменю в меню «Сервис» или «Справка» на панели инструментов браузера. Очевидно, что меню (сервисы) и кнопки сами по себе опасности не представляют ровно до того момента, пока не будет задействован их (возможный) деструктивный функционал, например непосредственным нажатием на компонент. Ведь это всего лишь ссылки, но вот после нажатия (активации) ссылка вызывает закрепленную функциональную процедуру, которая не всегда может выполнять легитимные действия.
С определенной версии IE все расширения браузера можно увидеть в подразделе «Панели инструментов и расширения» специализированного апплета Надстройки
, до которого можно добраться через «Свойства обозревателя» — «Программы»- «Настроить надстройки»:
Другой способ предусматривает запуск браузера Internet Explorer из командной строки с параметром -extoff
:
iexplore.exe -extoff
Поскольку при подобном типе запуска браузер позволяет увидеть все без исключения (и нормальные и скрытые) расширения.
Используемые ключи реестра:
- HKLMSOFTWAREMicrosoftInternet ExplorerExtensions
- HKCUSOFTWAREMicrosoftInternet ExplorerExtensions
- HKLMSOFTWAREWow6432NodeMicrosoftInternet ExplorerExtensions
Подразделы представляют из себя (традиционно) идентификаторы CLSID
, в которых вложенными ключами описываются расширения.
Пункты меню Internet Explorer
Возможно добавить дополнительные пункты в контекстное меню браузера Internet Explorer. Обычно этот тип меню можно увидеть, нажав правую кнопку мыши на какой-либо активной ссылке, расположенной на странице, отображаемой в данный момент в окне браузера.
В реестре настройка меню представлена по следующему пути:
- HKCUSOFTWAREMicrosoftInternet ExplorerMenuExt
- HKLMSOFTWAREMicrosoftInternet ExplorerMenuExt
Подразделы имеют наименование пунктов меню. Параметр «по умолчанию» каждого подраздела указывает на функциональный модуль, ответственный за конкретный пункт меню.
Дополнительные параметры Internet Explorer
С определенной версии IE существует возможность модифицировать содержимое вкладки Дополнительно в свойствах обозревателя (Свойства обозревателя — Дополнительно), добавив туда новую группу настроек.
Ответственный ключ реестра:
- HKLMSOFTWAREMicrosoftInternet ExplorerAdvancedOptions
подключи описывают группы параметров во вкладке Дополнительно.
Стартовая страница
Стартовая (начальная) страница отображается в первой (самой левой) стартовой вкладке окна браузера непосредственно после запуска.
Используемые ключи и параметры реестра:
- ключ HKLMSOFTWAREMicrosoftInternet ExplorerMain,
параметрStart Page
- ключ HKCUSOFTWAREMicrosoftInternet ExplorerMain,
параметрStart Page
- ключ HKEY_USERSSID_пользователяSOFTWAREMicrosoftInternet ExplorerMain,
параметрStartPage
Страница поиска
- HKLMSOFTWAREMicrosoftInternet ExplorerMain,
параметрSearch Page
- HKCUSOFTWAREMicrosoftInternet ExplorerMain,
параметрSearch Page
Страница по умолчанию
Страница по умолчанию — страница, открываемая при нажатии на пиктограмму с изображением «домика» (располагающуюся справа от строки адреса).
Используемые ключи и параметры реестра:
- HKLMSOFTWAREMicrosoftInternet ExplorerMain,
параметрDefault_Page_URL
- HKCUSOFTWAREMicrosoftInternet ExplorerMain,
параметрDefault_Page_URL
= что-то вроде http://go.microsoft.com/fwlink/p/?LinkId=255141
Префикс по умолчанию
Описывает префикс, который добавляется к адресу при отсутствии явного указания префикса URL пользователем в строке адреса. Обычно в IE используется приставка http://
.
Используемый ключ и параметр реестра:
- HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionURLDefaultPrefix,
параметр@
=http:// - HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionURLPrefixes,
параметрыftp
,home
,mosaic
,www
Трансляция неизвестных адресов
Интерфейс IURLSearchHook
раскрывает метод, используемый браузером для трансляции адресов, содержащих неизвестный или не указанный (не конкретизированный) непосредственно протокол. Примером может служить ситуация, когда в адресной строке браузера вводится адрес, не содержащий префикса http://
. Для начала Internet Explorer пытается самостоятельно определить протокол используя оригинальный адрес. В ситуации, когда браузер не имеет возможности определить протокол адреса в адресной строке, он вызывает URLSearchHook
, создает объекты URL Search Hook (которые зарегистрированы в системе) и вызывает для каждого объекта метод трансляции до тех пор, пока URL не будет оттранслирован или все фильтры не будут обработаны.
Настройка трансляции производится в ключе реестра:
- HKCUSOFTWAREMicrosoftInternet ExplorerURLSearchHooks
Параметры имеют имена CLSID
, ссылающиеся на ключи HKLMSOFTWAREClassesCLSID{CLSID}, в которых в параметрах InprocServer32
содержится информация о трансляторе. По-умолчанию это C:WindowsSystem32ieframe.dll.
Устаревшие (необрабатываемые, исключенные) настройки Internet Explorer
Данная группа параметров активно использовалась в устаревших ныне версиях браузера (5/6/7/8) и в современных либо не используется, либо заменена другими механизмами конфигурирования:
- HKLMSOFTWAREMicrosoftInternet ExplorerSearch,
параметрSearchAssistant
- HKLMSOFTWAREMicrosoftInternet ExplorerSearch,
параметрCustomizeSearch
- HKCUSOFTWAREMicrosoftInternet ExplorerSearch,
параметрCustomizeSearch
Передача запроса поисковой системе. Когда в адресной строке браузера IE вводится что-либо, не соответствующее формату типового URL-адреса, то браузер передает строку заданной по умолчанию поисковой системе. Для подобных целей используется ключ реестра:
- HKCUSOFTWAREMicrosoftInternet ExplorerSearchURL,
параметрDefault
или ((По умолчанию)
)
Собственный заголовок окна. В старых версиях IE у окна браузера постоянно выводился заголовок, так вот для того, что бы иметь возможность задавать собственный заголовок окна браузера, был введен специализированный параметр реестра:
- HKCUSOFTWAREMicrosoftInternet ExplorerMain,
параметрWindow Title
Отображение результатов поиска в главном окне/окне поиска браузера. Еще один устаревший параметр, который позволял изменить стиль отображения результатов поиска:
- HKCUSOFTWAREMicrosoftInternet ExplorerMain,
параметрSearch Bar
Ориентировочно до версии IE6 в коде обозревателя присутствовал Мастер подключения к Интернету:
- HKCUSOFTWAREMicrosoftInternet Connection Wizard,
параметрShellNext
где он теперь?
Локальная групповая политика
Время от времени модификации вредоносным кодом подвергаются файлы локальной групповой политики. В принципе, это достаточно привлекательный системный механизм для вирусописателей, поскольку модифицировав каким-либо образом локальную групповую политику, можно добиться автоматического внесения изменений в реестр. Например, на практике попадались методы заражения, которые подразумевали модификацию локальной групповой политики (а именно файла registry.pol) с целью последующего внесения изменений в те или иные ключи реестра. Например, часть конфигурации локальной групповой политики под названием «локальный компьютер» располагается по пути:
- %SystemRoot%System32GroupPolicyMachineregistry.pol
.. и если вредоносный код добавит туда, скажем, исключения для того же Защитника Windows или брендмауэра, то данные исключения каждый раз при применении групповой политики будут добавляться в соответствующие ключи реестра. Поэтому, лишний раз не поленитесь проверить содержимое файла registry.pol на предмет наличия подозрительных записей, и при обнаружении таковых, можно смело удалять последний.
Многоуровневый поставщик услуг
Winsock LSP
(Layered Service Provider) — многоуровневый поставщик услуг, Windows Sockets версии 2.0, предоставляющий возможность пользователю подключать собственные библиотеки DLL для обработки вызовов Windows Sockets API. Обычно поставщик занимается обработкой низкоуровневых задач, связанных с сетевым трафиком. Поставщик обрабатывает данные, передаваемые по протоколу TCP/IP
, который используется для связи с локальной сетью и сетью Интернет. В процессе приема/передачи данных по протоколу TCP/IP, информация последовательно проходит по цепочке через все зарегистрированные в стеке TCP/IP поставщики (по структуре обычные DLL-библиотеки, которые используют Winsock API). Каждый поставщик может как угодно модифицировать проходящие данные и адреса. Таким образом, механизм LSP
используется для вполне легитимных действий над трафиком и пространством имен, таких как подсчет трафика, антивирусная проверка, фильтрация контента, поэтому, например, многие антивирусы и фаерволы могут на вполне легальных основаниях находиться в стеке TCP/IP в качестве поставщиков услуг. Однако, некоторые вирусы могут добавлять свои модули в цепочку обработки.
Список поставщиков услуг хранится в специальной базе, которую можно найти в реестре в следующем разделе:
HKLMSystemCurrentControlSetServicesWinsock2Parameters
Не редка ситуация, когда Вы каким-либо образом нашли и удалили из цепочки модуль вируса, который находился в стеке поставщиков, однако не произвели коррекцию самой цепочки, в этом случае цепочка обработки рвется, и работа по протоколу TCP/IP с локальной сетью и сетью Интернет становится невозможной. Бывают и случаи удаления вредоносной DLL из файловой системы без должной коррекции (отмены регистрации провайдера) базы провайдеров, которые тоже не приводят ни к чему хорошему. Для восстановления (корректировки) цепочки провайдеров существуют утилиты LSP-Fix
и AVZ
(является полноценным сканером), которые проходят по цепочке разделов реестра Winsock2
и восстанавливают корректные связи.
Конечно, в случае с Windows Sockets 2.0 все далеко не так радужно. Чаще всего, в случае проблем с работоспособностью локальной сети и интернет, выполняют восстановление по заданному системному шаблону, однако этот шаблон надо знать, поскольку неправильные действия с базой поставщиков могут привести к полной неработоспособности сетевого интерфейса.
В Windows 7/8 технология LSP
всё еще функционирует, однако не рекомендуется к использованию! Это объясняется тем, что начиная с Windows Vista разработчики активно продвигают новую технологию под названием «Платформа фильтрации Windows» (Windows Filtering Platform, WFP
), которая предназначена для обработки, отслеживания и перехвата сетевого трафика на всех уровнях сетевого стека, а так же призвана заменить все существующие технологии фильтрации в стеке TCP/IP. Существующие и разрабатываемые драйвера и приложения обработки пакетов предлагается портировать под новую технологию.
Компоненты Active Setup
Active Setup (Активная настройка/Набор активирования/Активный набор) — системный механизм, предназначенный для разового выполнения команд на этапе первичного входа пользователя в систему. Команды выполняются единожды, то есть при всех последующих входах пользователя команда исполняться уже не будет. Конфигурация каждого компонента Active Setup делится на машинную и пользовательскую части, которые расположены в разных ветвях реестра. Поэтому, когда пользователь входит в систему, Active Setup проверяет наличие идентификатора GUID
каждого [заданного для установки] компонента в пользовательской части соответствующего ключа реестра и если GUID
отсутствует, то выполняется команда, ассоциированная с компонентом, а по завершении процесса GUID компонента добавляется в пользовательскую часть реестра. Механизм может производить установку пакетов .msi
. Работу механизма Active Setup мы можем, к примеру, лицезреть когда впервые авторизуемся в операционной системе: наблюдаем первичную настройку обозревателя Internet Explorer, проявляющую себя в появлении небольших окон установки в левом верхнем углу рабочего стола пользователя. Механизм может эксплуатироваться вирусами, поэтому поиск вируса в данном случае сводится к проверке машинной части ключей реестра Active Setup. Информация о машинной части размещается в реестре в ключе:
- HKLMSOFTWAREMicrosoftActive SetupInstalled Components
- HKLMSOFTWAREWow6432NodeMicrosoftActive SetupInstalled Components
Содержит подключи в виде идентификаторов GUID
, которые и описывают (содержат параметры) установленные в системе компоненты. Лечение сводится к обходу всех представленных в ключе идентификаторов и проверке вложенных параметров (таких как stubpath
), содержащих полные пути к исполняемым образам компонентов.
В своих статьях я довольно часто пишу «перейдите в раздел реестра HKEY_что-то_там», и это подчас утомительное путешествие (особенно когда требуется попасть в раздел идентификатора класса какого-нибудь ActiveX). Поэтому я хочу поделиться с вами решением, максимально упрощающим переход в раздел реестра до двух действий: копируете в буфер обмена путь к реестре — щелчок мыши — и вы на месте.
Немного теории
Редактор реестра (regedit.exe), начиная с Windows 2000, обладает одной полезной особенностью: он «запоминает» последний раздел, который был открыт в нем до того, как пользователь закрыл программу. Полный путь к этому разделу пишется в параметр Lastkey строкового типа в ключе
HKEY_Current_UserSoftwareMicrosoftWindowsCurrentVersionAppletsRegedit
Для нашей задачи можно (и удобно) воспользоваться этой возможностью. Если заранее записать туда путь, который нам нужен в данный момент, то открыв редактор реестра, никуда переходить не потребуется.
А теперь перейдём к реализации задуманного.
Совет: В Windows 10 можно обойтись без скриптов и программ. Редактор реестра в Windows 10 получил адресную строку, в которую можно вставить скопированный путь к тому или иному разделу реестра, и нажать Enter.
Способ для Windows 10
- Нажмите
Win
+R
и введитеregedit
в поле «Выполнить». - Щелкните в любом месте его адресной строки или нажмите Ctrl + L, чтобы её активировать.
- Напечатайте или вставьте путь к ключу, который нужно открыть.
Для имен корневых разделов HKEY_ * можно использовать сокращенную запись. Сокращения таковы:
HKEY_CURRENT_USER = HKCU
HKEY_CLASSES_ROOT = HKCR
HKEY_LOCAL_MACHINE = HKLM
HKEY_USERS = HKU
Например, когда вам нужно перейти к разделу HKEY_CURRENT_USERControl PanelDesktop
, вы можете ввести в адресной строке следующее:
hkcucontrol paneldesktop
После того, как вы нажмете клавишу Enter, будет открыт раздел HKEY_CURRENT_USER Control Panel Desktop.
Как перейти в нужный раздел реестра одним щелчком мыши
Я набросал простенький скрипт, который будет получать содержимое буфера обмена, записывает его в реестр и открывает редактор реестра. Предполагается следующий сценарий:
Вы читаете статью, в ней написано – «перейдите в раздел реестра HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion». Вы выделяете путь к разделу на странице, нажимаете CTRL+С и запускаете скрипт. Редактор реестра открывается в нужном месте.
В качестве средства автоматизации я использую возможности Windows Scripting Host (WHS), а в качестве языка программирования — VBScript.
Буфер обмена
Получение содержимого буфера обмена испокон веков делается через Internet Explorer. Вот так, например, делают авторы блогов Microsoft TechNet:
Dim objIE Dim сClipBoard Set objIE = CreateObject("InternetExplorer.Application") сClipBoard = objIE.document.parentwindow.clipboardData.GetData("text") objIE.Quit
Код создает экземпляр объекта IE и через его методы выдёргивает содержимое буфера обмена в переменную сClipBoard. Код не лишен недостатков. Во-первых, он требует наличие IE, во-вторых – появляется дурацкое подтверждение прав доступа страницы к буферу обмена (в IE9+Windows 7, во всяком случае). Да и на создание экземпляра IE уходит приличное время, и скрипт явно «тормозит» Мы пойдем другим путем. Мы создадим экземпляр не IE, а HTA-файла. Он не задает вопросов и работает на порядок быстрее. А код будет почти таким же:
set objHTA=createobject("htmlfile") cClipBoard=objHTA.parentwindow.clipboarddata.getdata("text")
Отличное решение.
Работа с реестром
Необходимыми методами для работы с реестром снабжен объект WScript.Shell. В частности, нас интересует метод RegWrite. Синтаксис смотрим, опять-таки, на MSDN. В нашем случае мы должны перезаписать значение параметра LastKey в разделе [code]HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionAppletsRegedit[/code] Для этого допишем в скрипт следующее:
Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.RegWrite "HKCUSoftwareMicrosoftWindowsCurrentVersionAppletsRegeditLastKey", сClipBoard, "REG_SZ"
Полагаю, здесь ничего сложного нет.
В итоге скрипт получится таким:
Dim objHTA Dim cClipBoard Dim WshShell set objHTA=createobject("htmlfile") cClipBoard=objHTA.parentwindow.clipboarddata.getdata("text") Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.RegWrite "HKCUSoftwareMicrosoftWindowsCurrentVersionAppletsRegeditLastKey", cClipBoard, "REG_SZ" WshShell.Run "regedit.exe -m" Set objHTA = nothing Set WshShell = nothing
Сам редактор реестра запускается командой regedit.exe -m, позволяющей открыть редактор реестра в нескольких экземплярах (подробнее о ключах командной строки редактора реестра можно почитать здесь). Сохраняем код скрипта, предположим, в файл d:regnav.vbs. Осталось создать ярлык на запуск скрипта с командой вида[code]wscript d:regnav.vbs[/code]
Проверка работоспособности
Выделяем вот эту строку:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon
Нажимаем CTRL+C и запускаем. Не правда ли, удобно? Примечание. Раздел, к которому вы переходите посредством копирования в буфер обмена пути в реестре, должен существовать, в противном случае редактор реестра откроется в корне.
Кроме того, есть и другие способы быстро перейти в раздел реестра.
Приложение Winaero Tweaker
Если вы являетесь пользователем моей программы Winaero Tweaker, начиная с версии 0.8 позволяет открыть ключ реестра одним кликом.
Как только вы откроете эту страницу в Winaero Tweaker, она попытается извлечь путь к ключу реестра из буфера обмена, чтобы сэкономить ваше время. Кроме того, если путь не существует, утилита откроет ближайший существующий раздел по указанному пути.
Например, вы указали
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsExplorer
Ключ Explorer по умолчанию не существует в реестре, поэтому утилита откроет HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows
.
Скачать Winaero Tweaker
Программа RegistryOwnershipEx
Ещё одно из моих приложений, RegistryOwnershipEx, тоже позволяет быстро перейти в нужный раздел реестра.
Некоторое время назад я создал утилиту RegOwnershipEx, которая позволяет получить полный доступ к разделу реестра одним кликом. Кроме этого, она позволяет перейти в желаемый раздел реестра.
Она также может извлечь любой путь реестра из буфера обмена Windows. Если вы запустите программу с аргументом командной строки /j
, то есть regownershipex.exe /j
, она извлечет путь к ключу реестра из буфера обмена и напрямую откроет редактор реестра в нужном месте.
Скачать RegOwnershipEx
С помощью RegJump
RegJump — отличный инструмент от Windows Sysinternals, который существует очень давно. Он автоматически запускает редактор реестра и переходит по указанному пути реестра. Путь реестра необходимо указать как параметр командной строки для RegJump.
Чтобы редактор реестра открывал ветку HKEY_LOCAL_MACHINE Software Microsoft напрямую, вы должны использовать эту команду:
regjump.exe HKLMSoftwareMicrosoftWindows
RegJump поддерживает опцию командной строки -c, которая указывает программе извлечь путь реестра, хранящийся в буфере обмена. Это позволяет быстро открыть нужный раздел.
Вы можете создать ярлык для запуска приложения с ключом -c, поэтому после копирования пути к ключу реестра просто щелкните созданный ярлык, и это откроет Regedit.exe по нужному ключу.
Помимо Windows 10, RegJump также работает в Windows 7 и Windows 8.
Была ли эта информация для вас полезной? Возможно, у вас есть более простое и эффективное решение? Расскажите об этом в комментариях!
💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.
Судя по тому, что вы читаете этот текст, вы дочитали эту статью до конца. Если она вам понравилась, поделитесь, пожалуйста, с помощью кнопок ниже. Спасибо за вашу поддержку!