28 июня 2014 28.06.14 6 8248

Информационной безопасности пост. Часть третья: реестр, автозапуск и пара слов о диспетчере задач.

+59

Всем привет. Я продолжаю рассказывать вам о том, какие опасности могут скрываться буквально под ближайшей ссылкой в гугле, и сегодня я поведаю о том, что нужно предпринять, если у вас возникают подозрения на заражение вашего компьютера какой-либо заразой. К сожалению, у меня одолжили блок питания моего ноутбука под Windows 7, потому скрины я представлю с Windows XP — но это некритично, ситуация схожая. Некоторые моменты могут не работать под Windows 8, и, быть может, я исправлю это недоразумение, описав её безопасность в одном из своих будущих блогов. Сам я ей не пользуюсь, но ради того, чтобы поделиться знаниями, я, возможно, поставлю её под виртуальной машиной. Прошу отписаться в комментариях, насколько это нужно.
Прежде чем я начну повествование, я дам ссылки на прошлые посты серии блогов о безопасности:
Блог первый, посвящённый возможным сценариям заражения вследствие неосторожности или незнания. Ориентирован на новичков.
Блог второй, о типах вредоносного ПО.

Итак, бывают ситуации, когда в мучениях от долгой загрузки Windows вы лезете в системный конфигуратор дабы посмотреть список программ, стартуемых при загрузке самой Windows. Так, «Пуск», «Выполнить...»,

msconfig

, «Автозагрузка»… Это мне нужно, пусть загружается само, это тоже, это можно убрать… И тут мы видим это:

Непонятный exe'шник, непонятно откуда взявшийся и непонятно что делающий. Хотя в данном случае он ручной, пусть побудет тут для примера. ;)

И тут я сделаю небольшое отступление. С чего я решил, что это вредоносный файл, спросите вы? Дело в том, что это мой компьютер и я им управляю. Я говорю ему, что необходимо делать, а чего он делать не должен. И неизвестные процессы мне так или иначе не нужны. Вы — хозяин своей системы. Если вы не уверены в том, что это за процесс — посмотрите, к чему он относится.
Для примера возьмём со скрина выше файл igfxtray, расположенный в системном каталоге — Google подскажет, что это процесс драйвера Intel'овских интегрированных графических карт. Значит, ему можно доверять. А если мы погуглим, например, файл rundl132.exe, то узнаем, что это ПО класса MalWare. Обратите внимание на название: оно написано так, что его легко спутать по написанию с оригинальным системным файлом rundll32.exe, если бегло просматривать список процессов.

Ещё один пример, с системным файлом explorer.exe и фальшивкой, expl0rer.exe.

В Windows 7 в диспетчере задач есть полезная функция, отображение пути к образу исполняемой программы. Рекомендую воспользоваться, она очень полезна — например, в таких ситуациях:

Какой из процессов фальшивый? Оба имеют оригинальное название системного файла, оба занимают около 12-13 мегабайт и оба одновременно могут быть подлинными. Любопытствующим отвечу, что второй — фейк. Я сделал его для экспериментов и скринов — а если бы вместо него был бы вредоносный, как бы вы его различили? :)

Итак, вернёмся к тому странному файлу, что мы нашли в автозагрузке. Снимаем галку напротив него, идём в папку с файлом, сносим его и успокаиваемся? Как бы не так. Хорошо, если он вообще позволит себя удалить, будучи не запущенным и ничем не занятым. А что, если нет? И что, если антивирус спокойно дрыхнет себе в трее? Давайте разбираться. Первым делом обновим антивирусные базы (при условии, если вообще есть для чего их обновлять — если нет, можете скачать CureIt — это, по сути, одноразовая версия Dr.Web). Что, даже если натравить антивирус на этот файл, то он ничего не находит? В такой ситуации главное — не паниковать. Для начала отправьте подозрительный файл разработчику вашего антивируса (в самой программе должна быть эта функция), можете дождаться ответа. Но это может затянуться на длительное время. Пусть пока изучают, а мы попытаемся снести хулигана своими руками. Направляемся в диспетчер задач и отыскиваем там незванного гостя на вкладке процессов:

Нашли? Выделяйте наглеца и смело жмите на кнопку «завершить процесс».

Однако может случиться так, что через несколько секунд процесс запустится заново. И тут уж хоть затыкайте кнопку завершения процесса в диспетчере задач. Это означает, что работа основного процесса контролируется дополнительным — или вовсе службой. Кстати, иногда может помочь программа UnLocker — она выгружает процессы, которые препятствуют удалению того или иного файла, а если не получается — то попробует удалить его при перезагрузке Windows.

Если вы помните из прошлых постов серии понятие «руткит», то, возможно, вы уже задаётесь вопросом о эффекте его использования. Напомню, что руткит — это ПО для сокрытия в системе какого-либо процесса (-ов), файлов или элементов реестра. Так вот, если в системе активен так же руткит, привязанный к тому или иному паразиту, то процесса этого самого паразита в списке процессов и не будет. Опытный хакер/кракер/программист может в коде самой программы использовать хитрости для скрытия её процесса, не прибегая к помощи руткитов. Можно сказать, такая программа будет сама себя прятать. :) Так вот, скрыть процесс из диспетчера задач без руткита или буткита можно как минимум тремя способами (по крайней мере, столько знает ваш покорный слуга), и их эффективность, в общем-то, зависит от некоторых обстоятельств. Например, первый способ, довольно простой — организовать запуск программы от имени администратора. Ключевой момент заключается в том, что пользователь, не обладающий правами администратора, не сможет увидеть такой процесс в диспетчере задач. Эффективность стремится к нулю в домашних условиях, где пользователь обычно сидит под администраторской учётной записью (исключение — Linux, где сидеть под root'ом — дурной тон, но об этом в другой раз). Способ второй, самый распространённый, но требующий определённых знаний — использование WinAPI (Windows Application Programming Interface, интерфейс программирования приложений), а точнее, перехват его функций. Работа с API ОС Windows рассматривается при изучении, наверное, любого языка программирования, но уверенно работать с такими функциями может только опытный программист. Ну и третий способ — использовать системный процесс svchost.exe в качестве т.н. хост-процесса, то есть, управляющего. Сам по себе этот исполняемый файл необходим Windows для запуска и работы процессов из динамических библиотек (все, наверное, видели dll-файлы?). Третий способ может оказаться неэффективным в случае, если зараза сильно потребляет ресурсы компьютера — многие вирусы раскрываются именно из-за подозрений на процесс svchost.exe, постоянно жрущий слишком много памяти и нагружающий процессор до 50-70, а иногда и под 100 процентов.

svchost курильщика. Только гляньте на наглеца. Это явно ненормальное поведение для системного процесса. Будем избавляться.

При этом может использоваться подлинный svchost.exe, а может и поддельный (как уже описывалось выше на примере других системных файлов). Очень важный момент: svchost никогда и ни при каких условиях не запускается от имени обычного пользователя — за исключением вредоносной подделки.

svchost здорового человека компьютера. Вернее, Windows'а.

Итак, если зараза не использует для максировки системные процессы, первым делом нам нужно убрать её из списка автозагрузки. Это можно сделать при помощи системной утилиты msconfig, но мы пойдём другим путём — правкой реестра. Вызывается он через диалог «Выполнить» (Run), который можно найти в меню «Пуск» или же запустить сочетанием клавиш Windows и R. В появившемся окне вводим

regedit

и жмём Ok или Enter:

Правка реестра — занятие рискованное, если вы не будете соблюдать осторожность при работе с ним. Автор не несёт ответственности за удаление или модификацию ключей реестра, необходимых для нормальной работы Windows.

В реестре за автозагрузку отвечают несколько веток:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

— автозапуск для всех пользователей

HKEY_CURRENT_USER\SOFTWARE\Microsoft\CurrentVersion\Run

— автозапуск для текущего пользователя

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

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

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

— аналогично для текущего пользователя.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

— службы, запускаемые при старте Windows.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce

— сервисы для разовой загрузки.

Это основное. Дополнительно автозагрузка контролируется ветками

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot

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

Если вы нашли в этих ветках что-то подозрительное — можете спокойно это оттуда удалять без последствий для самой Windows. Исключение составляют, пожалуй, две последние ветки, куда без определённых знаний лучше не соваться.
Реестр и ключи автозагрузки позволят так же определить расположение заразы. Обычно это системные папки вроде

\Windows
\Windows\system32
\WINDOWS\Temp

подпапки

\Users\<USER>\AppData\

(для Windows Vista/7/8)

\Documents and Settings\<USER>\Application Data

(для Windows XP)

\Documents and Settings\<USER>\Local Settings

(опять же, XP)

\Documents and Settings\<USER>\Local Settings\Temp

(снова XP)
Иногда встречаются в

\RECYCLER

, это папка «Корзины», но чаще она используется вредителями, использующими файл autorun.inf.

Рассмотрим пример.

Открываете вы msconfig и отправляетесь на вкладку автозагрузки, или заходите в реестр, направляетесь в

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

, и видите там это:

Windows Explorer в ветке обычной автозагрузки реестра? Он же в автозагрузке msconfig? Сносите его оттуда нафиг. Настоящему explorer.exe не требуется использование автозагрузки, он загружается при старте Windows без этого ключа (о том, откуда он запускается, чуть ниже). К тому же оригинальный Windows Explorer располагается не в C:\Windows\System32, а просто в папке Windows.

Запомните, где располагаются основные системные файлы. Если сомневаетесь — погуглите, саппорт-портал Microsoft и Википедия содержат ответы на множество ваших вопросов. К тому же в интернете есть множество других технических ресурсов.

Если вы удалили из автозагрузки какой-либо подозрительный файл, выгружайте его из диспетчера задач. Можете попробовать выгрузить сразу дерево процесса, но это может привести к краху системы и аварийной перезагрузке, если зараза пользуется системными процессами для своей работы.
Как только вы избавились от процесса, открывайте папку с файлами наглеца и удаляйте их. Вам может помочь безопасный режим, когда некоторые заразные файлы не запускаются. Имейте в виду, что удаление файлов-источников заразы может не спасти в силу того, что поражёнными могут оказаться системные файлы — в таком случае вам всё же придётся ждать ответа от разработчиков вашего антивируса. Но если вы знаете, какие файлы поражены, то после «убийства» хост-процесса заразы и её удаления можно заменить системные файлы исходными, с вашего дистрибутива Windows — однако это крайний случай. Как правило восстанавливать системные файлы необходимо после слишком агрессивного «лечения» поражённых файлов антивирусом. В любом случае мосле лечения полезно выполнить команду

sfc /scannow

. Для этого открываем диалог «Выполнить» («Run») с помощью меню «Пуск» или сочетанием клавиш Windows и R, в нём пишем

cmd

, и в открывшемся окне командной строки вводим эту команду. В ОС Windows XP и более ранних нам потребуется дистрибутив, с которого устанавливалась система (либо с другого, лишь бы совпадала версия Service Pack'а и язык), а, например, в Windows 7 диск не потребуется. При выполнении этой команды будет инициирована проверка системных файлов, и при необходимости они будут заменены исходными версиями. Отмечу, что эта проверка полезна при некоторых других видах неисправностей ОС Windows.
Если вы знаете конкретное название трояна (точнее, программы, под видом которой он проник) или AdWare (MalWare), можете искать в реестре и сносить всё, что содержит это самое название. Однако это не гарантирует полноценного избаления. Впрочем этот метод позволяет удалить, например, надоедливый апплет WebAlta (правда, для некоторых браузеров ещё требуется чистка пользовательского профиля — например, для Firefox, Opera или Chrome). Так же можно попробовать поискать в реестре ключи по известному названию вредоносного файла — но действовать при поиске нужно с умом, взвешивая каждое действие. В некоторых моментах ключ с упоминанием файла можно смело удалять, а иной раз — править в исходное значение.

Ещё один нюанс, связанный с реестром. Взгляните на следующий скрин:

Это кусок списка ключей реестра, расположенного в ветке

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

. Эта же ветка есть и в разделе HKEY_LOCAL_MACHINE. Я не зря выделил ключ Shell, который в данном случае принимает значение Explorer.exe: читатель уже может догадаться (или уже знает :) ), что этот параметр отвечает за оболочку, которая будет использоваться при старте Windows. Настоятельно не рекомендую экспериментировать с этим параметром — дабы удовлетворить ваше любопытство, я сделаю это сам и покажу вам результат, к которому приводят его изменения.
Например, заменим значение этого пункта на cmd.exe:

Это изменение приведёт к тому, что при следующем входе в систему меня будет ждать не обычный графический режим Windows с его «Проводником» explorer.exe, а обычный запуск коммандной строки cmd.exe:

Никаких иконок на рабочем столе, никакой панели задач — потому что вместо explorer.exe мы попросили Windows загрузить cmd.exe. Картинка кликабельна.

И вот, что произойдёт при попытке воткнуть на место shell (оболочки) программу, которая вообще таковой не является (я прописал в соответствующий ключ обычный «Блокнот», то есть notepad.exe):

Тоже самое, никакой панели и иконок, только блокнот. Кликабельно.

К чему это я… А к тому, что на место оригинального «Проводника» Windows туда можно воткнуть модифицированный. Или вовсе не проводник, а, например, приложение-винлокер. Или рекламный баннер. Да вообще, что угодно. В случае, если у вас запускается нечто, отличное от стандартного «Проводника» и не даёт совершить никаких действий, загрузите какой-нибудь LiveCD (я настоятельно рекомендую Hiren's Boot CD) и проверьте эти ключи оттуда — если вместо Explorer.exe там стоит что-то другое или путь к фальшивому explorer.exe — смело можете жать двойным щелчком мыши по этому параметру и вместо того, что там написано, писать простое «explorer.exe», без кавычек. Не забывайте, что этот параметр есть как в HKEY_CURRENT_USER, так и в HKEY_LOCAL_MACHINE, причём второй вариант наиболее распространён в силу своей эффективности. Что до LiveCD, то загрузившись из него, вы можете скачать антивирус и просканировать свои файлы. Упомянутый мной Hiren's BCD содержит некоторые антивирусы в своём составе, однако базы там могут быть не самые свежие.
Иногда для диагностики и поиска заразы может потребоваться так называемый «Диагностический запуск». Активировать его можно при помощи того же

msconfig

'а:

за неимением русской версии Windows этот скрин пришлось гуглить, чтобы было понятно, о чём речь.

Если и в таком режиме ОС не загружается должным образом, то поражены системные файлы, необходимые для базовой загрузки Windows.
Раньше я часто слышал от коллег, что в некоторых случаях может помочь восстановление системы, однако сам я не пробовал данный метод. Если кому помогало, прошу расписать в комментариях, в каком случае и как вас спасла данная функция Windows.

Итог

Пост вышел, опять же, довольно сумбурным, но, думаю, весьма информативным. Не брезгуйте утилитами вроде AdwCleaner, по возможности скачайте какой-нибудь функциональный LiveCD, например Hiren's Boot CD, запишите его на диск и изучите его способности — чтобы не было мучительно больно, когда он вам понадобится, а его нет. Поверьте, порой они бывают незаменимы. Так же было бы неплохо, если бы вы изучили поведение основных системных файлов — так вы сможете самостоятельно отличать их от «подделок». Однако всегда помните правило: не уверен — не лезь. Если вы не уверены, что ваши действия не навредят системе, лучше ничего не трогайте. Однако автозагрузку можете править спокойно — в худшем случае Windows не станет загружать прикладные программы. Что ей самой нужно для загрузки, она и так знает. Вот только вредоносное «зверьё» может заставить её думать, что оно тоже необходимо для старта.
Следующий пост за номером 4 будет посвящён безопасности в сетях Wi-Fi. Рассмотрим настройки роутеров на примере моего TP-Link TL-WDR4300, и быть может, я найду более распространённый вариант вроде D-Link DIR-300 (ну или хотя бы DIR-320). Спасибо вам за внимание, оставляйте свои комментарии и до встречи на просторах блогов StopGame!


Лучшие комментарии

Отбираешь ты наш хлеб: )
По поводу не удаляемых файлов… я такие либо в безопасном сношу либо с загрузочной флешки… Ну и вообще у меня специальная загрузочная рабочая флешка с windows xp, со всеми windows 7 и windows 8, а еще и с кучей очень удобных программ...+ стандартный софт который ставлю сразу после установки windows…
Благо моя флешка на 64гб мне позволяет все это уместить и еще куча свободного места))))
Мне пару раз помогало восстановление… Главное конкретно знать когда началась болезнь… Но опять же это не панацея…
И еще очень важно и очень плохо что ты не упомянул про банальное- про проблемы с железом… В моей практике люди часто путают банальный перегрев и протертый хард до дыр с влиянием вирусов… при этом никакие чистки и переустановки windows не помогают или помогают но не на долго…
Конечно если у тебя порнобанер на пол экрана и в браузере куча рекламы которой не было до этого то тут точно вирусы… Но если у тебя комп пыхтит и грузиться или синьку выдает, а вменяемых причин ты с ходу не видишь то тут скорей всего уже смотреть на железо и провести полную диагностику…
пост опять же годный. Еще в детстве, когда отце подарил комп, а ни интернета, ни игр особо не было — все подобные знания получал методом научного тыка. И оболочку сам менял, и правил реестр так, что после приходилось переустанавливать комп. Зато сейчас все подобные знания помогают сильно:)
p.s. 8ку особо не нужно, основные принципы тут описаны, как их модифицировать под 8ку люди придумают. А те, кто не придумает — им и прямая инструкция не поможем, им дорога в сервисные центры.
В Win8 всё намного проще в этом плане.

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