Установка двух скринсейверов одновременно
Установка двух скринсейверов одновременно
Недавно довелось чистить компьютер у хороших знакомых, они где-то словили троян-майнер. На тот момент зловред не определялся антивирусами, но главное не в этом, а в его интересном механизме установки и автозапуска в системе.
Майнер запускался через минуту бездействия системы, но при малейшей активности сразу выключался. 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 выявилось в процессе исследования. Надеюсь, что кому-нибудь эта информация окажется полезной.
Просмотров: 2172 | Комментариев: 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):
Интересно!) А пароль на этот второй скринсервер можно поставить? - получится готовый скрин-локер..
Добавить комментарий
Заполните форму для добавления комментария