Blog. Just Blog

Установка двух скринсейверов одновременно

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Software | Автор: ManHunter
Установка двух скринсейверов одновременно
Установка двух скринсейверов одновременно

Недавно довелось чистить компьютер у хороших знакомых, они где-то словили троян-майнер. На тот момент зловред не определялся антивирусами, но главное не в этом, а в его интересном механизме установки и автозапуска в системе.

Майнер запускался через минуту бездействия системы, но при малейшей активности сразу выключался. Autoruns от Sysinternals ничего подозрительного не показал. После ковыряния в системе и поиском по реестру имени запускающегося файла, выяснилось, что троян прописался в настройки в качестве скринсейвера. Казалось бы, что тут сверхъестественного? Отключи или замени скринсейвер и проблема решена. Но не тут-то было. В настройках персонализации был выбран один из обычных виндовых скринсейверов, он же отображался в превьюшке. А запускался при этом троян.

Как такое возможно? Дальнейший разбор полетов показал, что в реестре Windows одновременно могут быть два ключа, отвечающие за скринсейвер. При этом один из них отвечает за то, что отображается в окне настроек, а второй указывает, что фактически должно запускаться при активации скринсейвера. Я смоделировал такую ситуацию на своем компьютере.

Фактически запускаемый скринсейвер
Фактически запускаемый скринсейвер

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"SCRNSAVE.EXE"="C:\\Windows\\MarineAquarium3.scr"

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

Скринсейвер, отображаемый в настройках
Скринсейвер, отображаемый в настройках

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ScreenSavers]
"SCRNSAVE.EXE"="C:\\Windows\\System32\\Bubbles.scr"

А вот этот ключ реестра изначально в системе отсутствует, через настройки его создать нельзя, только программно или вручную. Но именно этот ключ становится приоритетным, как только он появится в системе. То есть при открытии панели персонализации в настройках скринсейвера будет указан этот файл, он же будет отображаться на превьюшке. Но главное, что при выборе другого скринсейвера или при его отключении, все изменения будут записаны только сюда, оставив значение предыдущего ключа без изменений.

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

Второй скринсейвер не отключается
Второй скринсейвер не отключается

Что интересно, через панель управления отключить второй скринсейвер не получилось, даже если в настройках выбрать "(нет)", он продолжал запускаться. Деактивировать его я смог только через редактор реестра, вручную удалив оба ключа.

Вот такое интересное и весьма неожиданное поведение Windows выявилось в процессе исследования. Надеюсь, что кому-нибудь эта информация окажется полезной.

Поделиться ссылкой ВКонтакте Поделиться ссылкой на Facebook Поделиться ссылкой на LiveJournal Поделиться ссылкой в Мой Круг Добавить в Мой мир Добавить на ЛиРу (Liveinternet) Добавить в закладки Memori Добавить в закладки Google
Просмотров: 833 | Комментариев: 6

Комментарии

Отзывы посетителей сайта о статье
Petya (07.04.2021 в 17:10):
Название несколько не торт. Правильнее было бы что-то типа "Маскировка установленного скринсейвера". А тема интересная. Знать бы - так задумано или глюки прочего перекрытия HKCU/HKLM?
ManHunter (29.03.2021 в 20:20):
Далеко не алмазов и уж точно не в пещерах :))
LaScala (29.03.2021 в 20:17):
Дельная статья! Капитан еще раз показал, что не счесть "алмазов" в каменных пещерах Windows.
mr_yoda (27.03.2021 в 15:02):
Очень интересная информация. Спасибо!
ManHunter (26.03.2021 в 08:04):
Все настройки скринсейвера хранятся в HKCU, а из HKLM берется только "прикрытие". Так что если поддерживается блокировка, то почему бы и нет.
brute (26.03.2021 в 08:00):
Интересно!) А пароль на этот второй скринсервер можно поставить? - получится готовый скрин-локер..

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2021
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.06 сек. / MySQL: 2 (0.0031 сек.) / Память: 4.75 Mb
Наверх