Глава 3. Антивирусная защита отдельного ПК. Если компьютер уже заражен - Способы автозапуска вредоносных программ Данная книга была написана под руководством литературного агентства «Сигма+» по заказу Лаборатории Касперского. Однако в дальнейшем, по словам литературного агентства «Сигма+», Лаборатория Касперского «передумала» платить за уже написанную книгу, которая до этого им нравилась. И гонорар мне так и не был выплачен. Как думаете, почему? Автор: Клименко Роман aka parad0x Профиль: http://onestyle.com.ua/user.php?u=1 Оригинал статьи: http://onestyle.com.ua/txt.php?u=703
Практически все черви и троянские программы используют тот или иной способ для того, чтобы автоматически запуститься после перезагрузки компьютера. Поэтому при поиске вредоносной программы следует проверить, какие именно программы запускаются при вашем входе в систему. Излюбленная десятка способов Для этого можно воспользоваться специальными программами. Однако не стоит на них полагаться во всем. Так что перед тем, как рассмотреть возможности специальных программ, давайте вручную перечислим основные места операционной системы, в которых вирусы прогрызают себе дыры. Каталог автозагрузки Windows Проще всего установить автоматический запуск программы с помощью каталога автозагрузки. Достаточно поместить в него ссылку на программу, и эта программа будет запускаться при каждом входе пользователя в систему. Чтобы открыть папку АВТОЗАГРУЗКА, достаточно: * выбрать в меню ПУСК команду ВСЕ ПРОГРАММЫ/АВТОЗАГРУЗКА; * открыть каталог %userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup (ссылки на программы, запускаемые только при входе текущего пользователя); * открыть каталог %programdata%\Microsoft\Windows\Start Menu\Programs\Startup (ссылки на программы, запускаемые при входе любого пользователя). Автоматический запуск сценариев групповых политик При входе пользователя в систему могут запускаться программы, указанные в разделах КОНФИГУРАЦИЯ КОМПЬЮТЕРА/КОНФИГУРАЦИЯ WINDOWS/СЦЕНАРИИ (ЗАПУСК/ЗАВЕРШЕНИЕ) и КОНФИГУРАЦИЯ ПОЛЬЗОВАТЕЛЯ/КОНФИГУРАЦИЯ WINDOWS/СЦЕНАРИИ (ВХОД/ВЫХОД ИЗ СИСТЕМЫ) оснастки РЕДАКТОР ОБЪЕКТОВ ГРУППОВОЙ ПОЛИТИКИ (консоль gpedit.msc). Однако этот способ автозагрузки практически никогда не используется вредоносными программами. Создание псевдонимов программ Еще один интересный способ запуска вредоносных программ — создание или изменение псевдонимов для популярных программ. Давайте рассмотрим этот способ на примере. Псевдонимы для программ и библиотек хранятся в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths. Если вредоносная программа создаст в этой ветви реестра подраздел с именем explorer.exe, а потом в параметре (по умолчанию) этого подраздела укажет путь к своему исполняемому файлу, тогда мир во всем мире не наступит. Но зато тогда при попытке запустить программу explorer.exe с помощью диалога ВЫПОЛНИТЬ, вы запустите вредоносную программу, а не проводник Windows. Таким образом можно создать псевдоним для любой программы, которую вы запускаете с помощью диалога ВЫПОЛНИТЬ без указания абсолютного пути к программе. Я, например, очень часто так запускаю программу iexplore.exe (браузер Internet Explorer). И не могу сказать с уверенностью, что я запущу в следующий раз — браузер или вредоносную программу. Нужно будет проверить, что указано в псевдониме для нее… Ассоциация с типами файлов Вы никогда не задумывались, как операционная система узнает, какую программу нужно запустить для открытия того или иного файла? Никаких экстрасенсорных и прорицательских способностей у операционной системы нет. И это доказано, поэтому даже не думайте об этом. На самом деле все намного проще — каждое расширение файла ассоциируется (в соответствие расширению ставится) с программой, которой файлы данного расширения можно открыть. Делается это с помощью реестра. Например, сведения о программе, запускающей исполняемые файлы, хранятся в параметре (по умолчанию) ветви реестра HKCR\exefile\shell\open\command. По умолчанию в данном параметре содержится значение "%1" %*. То есть, каждый исполняемый файл запускает сам себя, и при этом передает себе все параметры запуска, если такие указывались. Некоторые вредоносные программы изменяют значения параметров (по умолчанию), предназначенных для ассоциации программ с типами файлом, таким образом, чтобы сначала запускалась вредоносная программа, а потом она запускала стандартную программу и передавала ей указанные параметры. Например, таким образом запускался вирус Win32.Perrun. Он ассоциировал свой файл extrk.exe с JPEG-файлами. Поэтому при открытии каждого JPEG-файла сначала запускался вирус, а потом он открывал программу для просмотра изображений и факсов. Запуск в виде надстроек для браузера Internet Explorer Различные шпионские и рекламные программы любят запускаться вместе с браузером Internet Explorer. А точнее, в качестве надстроек для данного браузера, которые именуются объектами BHO. Такие надстройки автоматически запускаются при запуске браузера. Вручную обнаружить объекты BHO не так-то просто. Некоторые из них можно найти в диалоге УПРАВЛЕНИЕ НАДСТРОЙКАМИ (СЕРВИС/НАДСТРОЙКИ/ВКЛЮЧЕНИЕ И ОТКЛЮЧЕНИЕ НАДСТРОЕК). Другие же доступны только в реестре. Список всех объектов BHO, которые запускаются браузером Internet Explorer, можно найти в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Browser Helper Objects. В этой ветви перечисляются лишь GUID-номера объектов. Поэтому вы все равно не сможете определить, для чего тот или иной объект предназначен. Конечно, зная GUID-номер можно найти сведения о нем в ветви реестра HKCR\CLSID. Однако это совсем другая история, и так далеко в дебри ОС Windows в рамках данной книги мы заглядывать не будем. Внедрение в проводник или другой процесс Давайте рассмотрим этот метод на примере червя Email-Worm.Win32.Mydoom.a. Он создает в каталоге %systemroot% свой файл shimgapi.dll, и регистрирует его (то есть, указывает путь к нему и его имя) в параметре (по умолчанию) ветви реестра HKCR\CLSID\{E6FB5E20-DE35-11CF-9C87-00AA005127ED}\InProcServer32. После этого вредоносная библиотека будет запускаться как дочерний процесс программы explorer.exe. Редактирование файла hosts Данный способ нельзя назвать методом автоматического запуска вредоносного кода. Однако он достаточно популярен среди вредоносных программ для того, чтобы заманить жертву на вредоносный сайт. Файл hosts из каталога %systemroot%\System32\Drivers\etc содержит в себе соответствия URL-адресов и IP-адресов компьютеров в Интернете. И используется он браузерами для того, чтобы определить IP-адрес сайта, который вы пытаетесь открыть, указав в адресной строке URL-адрес. Если система найдет в файле hosts IP-адрес запрашиваемого URL-адреса, тогда она будет использовать его. Вместо того чтобы определить настоящий IP-адрес с помощью служб DNS в Интернете. Таким образом вредоносные программы очень часто подменяют популярные сайты. Например, указывают, что для URL-адреса WWW.MICROSOFT.COM должен использоваться IP-адрес подставного вредоносного сайта. Запуск как служба Создание службы — это еще один излюбленный способ запуска вредоносных программ. И это не удивительно, ведь служба издавна считается чем-то привилегированным. Ее можно запускать от имени системы, то есть, делать вредоносная программа, запущенная как служба, сможет очень многое. И, кроме того, запускаться служба может не только вручную, но и автоматически при входе в систему. Запуск как драйвер Драйвер — это что-то, по способу запуска и привилегиям похожее на службу. Более того, в реестре список установленных драйверов хранится точно-то в той же ветви реестра, где хранится список установленных служб. Так что все, что сказано о службах, касается и драйверов. И другие способы Это далеко не полный список способов автоматического запуска программ. Более полный (но, конечно, не самый-самый полный) список вы сможете найти в дополнительной главе, которая находится на компакт-диске, идущем вместе с книгой. Программа Конфигурация системы Ну а теперь давайте рассмотрим несколько стандартных способов, с помощью которых можно просмотреть и отредактировать список программ, запускаемых автоматически при входе в систему. Наиболее старый и наиболее популярный способ — использование программы msconfig.exe. Запустите ее, и в появившемся окне КОНФИГУРАЦИЯ СИСТЕМЫ перейдите на вкладку АВТОЗАГРУЗКА (рис. 3.36). Здесь вы сможете найти список автоматически запускаемых программ, и отключить те из них, которые покажутся вам ненужными. Для этого достаточно снять флажок напротив ненужной программы. Рис. 3.36. Программа msconfig.exe Программа msconfig.exe отображает только те автоматически запускаемые программы, которые объявлены в следующих закоулках операционной системы. HKCU\Software\Microsoft\Windows\CurrentVersion\Run HKLM\Software\Microsoft\Windows\CurrentVersion\Run Каталог Автозагрузка Диалог Проводник программного обеспечения Уже известный нам диалог ПРОВОДНИК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ также позволяет работать со списком автоматически запускаемых программ. Для этого достаточно его отобразить, и в раскрывающемся списке КАТЕГОРИЯ выбрать пункт АВТОМАТИЧЕСКИ ЗАГРУЖАЕМЫЕ ПРОГРАММЫ. Или же можно воспользоваться командой %programfiles%\Windows Defender\MSASCui.exe -ShowSWE. Использовать данный способ просмотра автоматически запускаемых программ предпочтительнее, чем программу msconfig.exe. И дело здесь не только в том, что ПРОВОДНИК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ отображает огромное количество сведений о каждой обнаруженной программе. Дело в том, что он отображает автоматически запускаемые программы, объявленные в большем количестве мест: Каталог Автозагрузка HKCU\Software\Microsoft\Windows\CurrentVersion\Run HKLM\Software\Microsoft\Windows\CurrentVersion\Run HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon, параметры shell и userinit HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon, параметры shell и userinit HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows, параметр load HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows, параметр run HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run Твикер реестра Vista Smoker Pro Многие программы для твикинга реестра содержат в своем составе компоненты для просмотра автоматически загружаемых программ. Например, такой компонент есть и в твикере реестра Vista Smoker Pro. Находится он в разделе TWEAKS, подраздела STARTUP MANAGER. С его помощью можно обнаружить программы, запускаемые из следующих мест операционной системы: HKCU\Software\Microsoft\Windows\CurrentVersion\Run HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows, параметр Load HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run HKLM\Software\Microsoft\Windows\CurrentVersion\Run HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, параметр Userinit
Список работающих служб Мы с вами уже умеем обнаруживать процессы, которые были запущенны вредоносными программами. Это даже не полдела, но все-таки уже можно начинать собой гордиться. А чтобы гордость за наши умения была еще больше, давайте посмотрим, как можно обнаружить другой тип вредоносных программ. Те программы, которые не запускают процессов, а вместо этого создают в системе свою службу. Нам уже известен один способ просмотра списка работающих служб — вкладка СЛУЖБЫ диалога ДИСПЕТЧЕР ЗАДАЧ WINDOWS. Не спорю, способ действующий. Вы даже можете с его помощью просмотреть список остановленных служб, и, более того, запустить или остановить любую службу, а также узнать ID процесса, в котором выполняется служба. Но одно маленькое «но» — для поиска вредоносных программ этот способ малопригоден. Поэтому давайте рассмотрим другие способы. Оснастка Службы Оснастка СЛУЖБЫ (консоль services.msc) более пригодна для поиска вредоносных программ, установленных в качестве служб. Она отображает список всех установленных в системе служб, а также позволяет выполнить над ними множество действий: изменять способ запуска, отключать, останавливать и запускать, а также изменять другие параметры служб. Поскольку практически все службы, создаваемые вредоносными программами, запускаются автоматически, начинать поиск вредных служб нужно с сортировки списка по типу запуска. Для этого щелкнете кнопкой мыши по столбцу ТИП ЗАПУСКА (рис. 3.37). Рис. 3.37. Список служб в оснастке Службы Ну, а дальше идет поиск служб, вызывающих у вас подозрение, и поиск информации о подозрительных службах в Интернете. Когда подозрительная служба найдена, выберите пункт СВОЙСТВА в ее контекстном меню. Перед вами отобразится окно, с помощью которого можно выполнить множество действий. Но нам сейчас нужны следующие его возможности. * Строка ИСПОЛНЯЕМЫЙ ФАЙЛ. Указывает путь к исполняемому файлу службы. Вам знаком файл или каталог, указанный в этой строке? Откройте указанный каталог и посмотрите на дату его создания. Ничего не вспоминается? Может, в тот день вы устанавливали какие-то новые программы? Что, совершенно не представляете, что это за файл? В таком случае поищите его описание в Интернете. Но на всякий случай перед этим остановите и отключите подозрительную службу. Очень важные службы Windows Vista вам не даст отключить, поэтому, скорее всего, после отключения данной службы, даже если она и окажется стандартной службой Windows, ничего особо страшного не случится. * Раскрывающийся список ТИП ЗАПУСКА. Именно с помощью данного списка можно отключить службу. Для этого достаточно выбрать в нем пункт ОТКЛЮЧЕНА. * Кнопки ЗАПУСТИТЬ и ОСТАНОВИТЬ. После того, как вы отключили службу, ее нужно остановить (если, конечно, она была запущена). Для этого вам пригодится кнопка ОСТАНОВИТЬ. Следует сначала отключать службу, а уже потом останавливать. Так как в противном случае есть вероятность, что после остановки службы, она будет автоматически запущена снова. В некоторых случаях вы можете с досадой обнаружить, что кнопки Запустить и Остановить для подозрительной службы не активны. И раскрывающийся список Тип запуска также не активен. В этом случае — дело труба. Отключить такую службу можно только через реестр. Хотя на всякий случай можно попробовать еще один способ — команды sc.exe config имя_службы start= disabled (отключение) и sc.exe stop имя_службы (остановить). В качестве имени службы нужно указывать значение поля Имя службы диалога Свойства подозрительно службы. Среди стандартных служб Windows также попадаются службы, которые нельзя отключить и остановить: Plug-and-Play, Windows Driver Foundation - User-mode Driver Framework (нельзя остановить), Диспетчер учетных записей безопасности (нельзя остановить), Клиент групповой политики, Модуль запуска процессов DCOM-сервера, Планировщик заданий, Удаленный вызов процедур (RPC). Программа msconfig.exe Дополнительную помощь в поиске подозрительной службы вам может оказать программа msconfig.exe, которую раньше мы использовали для поиска автоматически запускаемых программ. Эта программа обладает одной уникальной возможностью — флажком НЕ ОТОБРАЖАТЬ СЛУЖБЫ МАЙКРОСОФТ на вкладке СЛУЖБЫ окна программы (рис. 3.38). С помощью данного флажка можно скрыть все службы, разработчиком которых не является Microsoft Corporation. В некоторых случаях это вам может помочь в поиске подозрительных служб. Хотя иногда создатели вредоносных программ не забоятся об авторских правах, и также указывают в качестве издателя службы Microsoft Corporation. Рис. 3.38. Отображение только служб, которые были Если вы обнаружили подозрительную службу в оснастке СЛУЖБЫ, тогда не ленитесь, и проверьте разработчика службы в программе msconfig.exe. Если разработчик не указан, или если в качестве разработчика указана неизвестная фирма, тогда ваши подозрения могут окрепнуть еще больше. Если в качестве разработчика указана неизвестная фирма, поищите сведения об этой фирме в Интернете. Быть может, недавно вы устанавливали программу от этой фирмы, или драйверы для нового оборудования. Удаление служб Если вы абсолютно уверены, что подозрительная служба никакая не подозрительная, а самая настоящая вредоносная, тогда ее нужно обязательно остановить и отключить. А лучше, вообще удалить. Но удалить службу не так просто — в оснастке СЛУЖБЫ и в программе msconfig.exe вы такой возможности не найдете. Поэтому для удаления службы придется воспользоваться командной строкой. А точнее, командой вида sc.exe delete имя_службы. В качестве имени службы нужно указывать значение поля ИМЯ СЛУЖБЫ диалога СВОЙСТВА вредоносной службы. Но перед тем, как сделать это, дважды или трижды подумайте. А потом еще дважды или трижды удостоверьтесь, что служба, которую вы хотите удалить, на самом деле вредоносная. Так как после удаления службы, вы не сможете ее установить. И если служба все-таки окажется нужной, то вам придется заново переустанавливать операционную систему или какую-либо хорошую программу.
Список работающих драйверов Нам осталось самое сложное — рассмотреть ситуацию, при которой вредоносная программа установила свой не менее вредоносный драйвер. Сложность этой ситуации заключается в том, что простых методов просмотра списка установленных драйверов и отключения ненужных просто нет. Поэтому нам придется работать на ощупь. Практически все установленные драйверы хранятся в каталоге %systemroot%\System32\drivers и имеют расширение SYS. Откройте этот каталог, после чего отобразите два дополнительных столбца для папки: ВЛАДЕЛЕЦ и ОРГАНИЗАЦИЯ (рис. 3.39). Рис. 3.39. Список драйверов в каталоге %systemroot%\System32\drivers А теперь заметьте, что владельцем драйвера может быть либо TRUSTEDINSTALLER, либо SYSTEM, либо ваша учетная запись (или запись того, кто устанавливать драйвер). Если владелец драйвера TRUSTEDINSTALLER, значит данный драйвер является стандартным и устанавливался во время установки операционной системы. Если владельцем драйвера является SYSTEM, тогда данный драйвер возможно устанавливался во время установки операционной системы (но не факт). Ну, а если владельцем драйвера является кто-то другой — то драйвер устанавливался вручную. Вот на два последних типа драйверов и нужно в первую очередь обращать внимание. Так что, убирая драйверы, владельцем которых является TRUSTEDINSTALLER, уже можно сократить количество подозрительных драйверов. Например, на моем компьютере TRUSTEDINSTALLER был владельцем 166 драйверов. Также в некоторых случаях можно удалить драйверы, владельцем которых является SYSTEM. На моем компьютере это еще 95 драйверов. Итого, осталось 30 подозрительных драйверов — не так уж и много. Еще одно место, где могут встречаться драйверы (устаревшие драйверы) — каталог %systemroot%\System. Оснастка Диспетчер устройств Более-менее простой способ работы с некоторыми драйверами предоставляет оснастка ДИСПЕТЧЕР УСТРОЙСТВ (консоль devmgmt.msc). Отобразите эту консоль, в меню ВИД выберите команду ПОКАЗАТЬ СКРЫТЫЕ УСТРОЙСТВА, и раскройте отобразившийся список ДРАЙВЕРЫ НЕСАМОНАСТРАИВАЕМЫХ УСТРОЙСТВ (рис. 3.40). Перед вами отобразится список некоторых драйверов, в котором иногда можно обнаружить и вредоносные драйверы. Рис. 3.40. Список драйверов в оснастке Диспетчер Если какой-то драйвер показался вам подозрительным, тогда отобразите его диалог СВОЙСТВА (одноименный пункт контекстного меню). Перейдите на вкладку ДРАЙВЕР и нажмите кнопку СВЕДЕНИЯ. Так вы узнаете местоположение и имя файла драйвера, а также организацию, которая его создала. Также на вкладке ДРАЙВЕР можно остановить работу драйвера (кнопка ОСТАНОВИТЬ), или же вообще отключить его (пункт ОТКЛЮЧЕНО раскрывающегося списка ТИП). А в контекстном меню названия драйвера помимо пункта СВОЙСТВА вы сможете обнаружить пункт УДАЛИТЬ. Если вы абсолютно уверены, что данный драйвер вредоносный, этот пункт вам может пригодиться. Программа Сведения о системе Просто просмотреть список драйверов (без возможности их удаления или отключения) позволяет стандартная программа msinfo32.exe. Для этого откройте программу и раскройте раздел ПРОГРАММНАЯ СРЕДА. В этом разделе есть два нужных нам подраздела: СИСТЕМНЫЕ ДРАЙВЕРЫ и ПОДПИСАННЫЕ ДРАЙВЕРЫ (рис. 3.41). Рис. 3.41. Список установленных драйверов в программе В подписанных драйверах можно определить, имеет ли подозрительных драйвер цифровую подпись, и кому она принадлежит. Если цифровая подпись принадлежит Microsoft или другому известному издателю, тогда вряд ли данный драйвер является вредоносным. Также просмотреть сведения о цифровой подписи и вообще определить, есть ли она у драйвера, можно в диалоге СВОЙСТВА файла драйвера. Если драйвер подписан, тогда в этом диалоге будет присутствовать вкладка ЦИФРОВЫЕ ПОДПИСИ. Список всех драйверов Отобразить список всех драйверов можно в командной строке с помощью команды sc query type= driver. Но поскольку драйверов очень много, лучше перенаправить вывод команды в файл. То есть, воспользоваться командой sc query type= driver > путь_и_имя_файла. Также для отображения всех драйвером можно использовать программу командной строки driverquery.exe. По умолчанию она отображает название драйвера и дату его создания, а если воспользоваться командой driverquery.exe /V, тогда будет отображено и множество других дополнительных сведений. И последний стандартный способ отображения драйверов. Запустите программу verifier.exe, нажмите ДАЛЕЕ, установите переключатель ВЫБОР ПРОВЕРЯЕМЫХ ДРАЙВЕРОВ в нужное положение: * АВТОМАТИЧЕСКИ ВЫБИРАТЬ НЕПОДПИСАННЫЕ ДРАЙВЕРЫ — отобразить только драйверы, не имеющие цифровой подписи; * АВТОМАТИЧЕСКИ ВЫБИРАТЬ ДРАЙВЕРЫ ДЛЯ ПРОШЛЫХ ВЕРСИЙ WINDOWS — отобразить только устаревшие драйверы, которые были созданы для более старых версий Windows; * ВЫБРАТЬ ИМЯ ДРАЙВЕРА ИЗ СПИСКА — отобразить все драйверы. После чего нажмите еще раз кнопку ДАЛЕЕ, чтобы отобразить все драйверы, удовлетворяющие данному запросу (рис. 3.42). Ни в коем случае не нажимайте на кнопку ГОТОВО. Данная программа предназначена для поиска ошибок в драйверах, ведущих к утечке памяти. Если вы все-таки нажали на кнопку ГОТОВО, тогда снова запустите программу, установите переключатель ВЫБЕРИТЕ ДЕЙСТВИЕ в положение УДАЛИТЬ СУЩЕСТВУЮЩИЕ ПАРАМЕТРЫ, и нажмите кнопку ГОТОВО. Рис. 3.42. Список всех драйверов с возможностью просмотра поставщика драйвера
окончание Места, где вредоносные программы могут прятаться Вредоносная программа — это вам не призрак и не привидение. У нее должна быть физическая оболочка под названием «файл». И эта оболочка должна находиться где-то в недрах файловой системы Windows. Поэтому сейчас давайте рассмотрим основные места, в которых любят прятаться вредоносные программы. Но перед этим обязательно сделайте следующее. Отобразите любое окно проводника, и выберите в раскрывающемся списке УПОРЯДОЧИТЬ панели инструментов пункт СВОЙСТВА ПАПОК И ПОИСКА. Перед вами отобразится диалог СВОЙСТВА ПАПКИ, в котором откройте вкладку ВИД (рис. 3.43), и снимите флажки напротив следующих пунктов списка: * СКРЫВАТЬ ЗАЩИЩЕННЫЕ СИСТЕМНЫЕ ФАЙЛЫ — скрывать файлы, для которых одновременно установлены атрибуты СКРЫТЫЙ и СИСТЕМНЫЙ; * СКРЫВАТЬ РАСШИРЕНИЯ ДЛЯ ЗАРЕГИСТРИРОВАННЫХ ТИПОВ ФАЙЛОВ — не показывать расширения для всех файлов, которые известны операционной системе (для которых она знает программу, которой файл открывается); * а также установите в положение ПОКАЗЫВАТЬ СКРЫТЫЕ ФАЙЛЫ И ПАПКИ переключатель СКРЫТЫЕ ФАЙЛЫ И ПАПКИ — скрывать файлы и папки, для которых установлен атрибут СКРЫТЫЙ; Что? Ничего не изменилось? Еще раз откройте вкладку Вид диалога Свойства папки и посмотрите, изменилось ли положение флажков и переключателей? Нет? Не всех? Ну что ж, тогда могу вас поздравить — скорее всего ваш компьютер заражен вирусом. Они очень любят таким образом запрещать отображение скрытых файлов и папок. И в дальнейшем привыкайте работать именно с такими настройками. Это вам очень поможет в будущем. Так как практически все вредоносные программы делают свой файл скрытым, поэтому по умолчанию вы просто не сможете найти его. И вообще, не стоит уподобляться страусам и прятать свою голову подальше от проблем в песок. Вы должны знать, что именно содержится на вашем компьютере, а не скрывать вредоносные файлы, и делать вид, что все хорошо. Рис. 3.43. Вкладка Вид диалога Свойства папки Файловый менеджер Если говорить откровенно, то проводник Windows — не самое хорошее средство для поиска вредоносных программ в файловой системе компьютера. И дело как раз в том, о чем говорилось в примечании выше. Некоторые вирусы отключают отображение скрытых файлов и не дают пользователю включить его обратно. Поэтому с помощью проводника Windows файлы таких вредоносных программ вы найти не сможете. В таком случае лучше всего воспользоваться каким-либо сторонним файловым менеджером, который не обращает внимания на атрибуты файлов и папок. Например, Total Commander (нужно только настроить его на показ всех файлов). Что? Вы давно хотели научиться с ним работать? В таком случае у вас появился замечательный повод приступить к его изучению. Вместо стороннего файлового менеджера можно воспользоваться командной строкой cmd.exe. Однако в таком случае для навигации по файловой системе вам придется использовать команды вида dir каталог /а. Иначе вы по-прежнему не увидите скрытые файлы. Системные каталоги Самое удобное место для размножения вредоносных программ — каталог %systemroot%\system32, а также каталог %systemroot%. Связано это с тем, что в этих каталогах и без вредоносных программ можно найти просто огромное количество всевозможных файлов. И верите ли, название каждого второго файла из этих каталогов ну очень подозрительное. И, кроме того, по умолчанию содержимое данных каталогов скрыто, а удалять многие файлы из этих каталогов по умолчанию не могут даже администраторы (если не изменят разрешения на вкладке БЕЗОПАСНОСТЬ диалога СВОЙСТВА файла). В общем, это идеальное место для размножения вредоносных программ, а также для сокрытия других ненужных файлов. Также вредоносные программы любят помещать себя в следующие каталоги: %systemroot%\system и, конечно, %ProgramFiles%. А также во все каталоги, которые указаны в переменной среды PATH. Отношения у вредоносных программ с этой переменной среды особенно интимные. И сейчас мы рассмотрим, почему. Список каталогов, которые находятся в переменной среды PATH, можно просмотреть и изменить с помощью области СИСТЕМНЫЕ ПЕРЕМЕННЫЕ диалога ПЕРЕМЕННЫЕ СРЕДЫ (рис. 3.44). Открыть этот диалог можно с помощью кнопки ПЕРЕМЕННЫЕ СРЕДЫ на вкладке ДОПОЛНИТЕЛЬНО диалога СВОЙСТВА СИСТЕМЫ. А также с помощью команды rundll32.exe sysdm.cpl EditEnvironmentVariables. Также изменить переменные среды можно с помощью программ командной строки setx.exe и path.exe. Последняя команда изменяет переменные среды только в данном сеансе работы системы. Рис. 3.44. Содержимое системной переменной Path и способ его редактирования По умолчанию в переменной среды PATH содержится следующее значение: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\. То есть, в ней перечисляется набор каталогов операционной системы. Что это за каталоги? Это каталоги, в которых операционная система ищет файл, который вы запускаете в диалоге ВЫПОЛНИТЬ без указания абсолютного пути к файлу. Если вы более-менее продвинутый пользователь, то вы как раз таким способом и запускаете программы. Например, введя в диалоге ВЫПОЛНИТЬ команду notepad.exe вы запустите БЛОКНОТ. И это происходит именно потому, что есть переменная среды PATH. Операционная система смотрит, какие каталоги указаны в этой переменной среды, и ищет в них программу, которую вы хотите запустить (в нашем случае, программу notepad.exe). И если программа обнаружена, тогда она запускается. Особенность переменной среды PATH заключается в том, что операционная система ищет программы в указанных в ней каталогах последовательно. Например, программу notepad.exe она ищет сначала в каталоге %SystemRoot%\system32. Если программа найдена, она запускается. Если нет, тогда система выполняет поиск программы в каталоге %SystemRoot%. И так далее. А теперь обратите внимание, что сначала операционная система ищет в каталоге %SystemRoot%\system32, а потом в каталоге %SystemRoot%. Давайте посмотрим на содержимое каталога %SystemRoot% — как раз в нем и хранится программа notepad.exe, а также несколько других популярных программ. Так вот, если вредоносная программа создаст в каталоге %SystemRoot%\system32 свой исполняемый файл, и присвоит ему имя notepad.exe, тогда при попытке открыть программу notepad.exe с помощью диалога ВЫПОЛНИТЬ будет запущена именно вредоносная программа, а не стандартный БЛОКНОТ. Альтернативные потоки В операционной системе Windows Vista есть такое странное явление, как альтернативные потоки. В мирных целях они используются для того, чтобы хранить дополнительные сведения о файлах (метаданные файла). Также они могут использоваться антивирусными программами для хранения сведений о времени последнего сканирования файла на наличие вирусов. А вот в немирных целях они могут использоваться вредоносными программами для создания своих исполняемых файлов. Например, вредоносная программа может создать альтернативный поток %systemroot%\system32:msupdate.exe (двоеточие как раз и говорит о создании альтернативного потока). После этого в каталоге %systemroot%\system32 будет создана вредоносная программа. И если знать, как к ней обратиться, тогда ее можно запустить. А если этого не знать (это может знать только сама вредоносная программа), тогда вы вообще не сможете обнаружить файл вредоносной программы. Он просто не будет отображаться в каталоге %systemroot%\system32. Стандартные возможности по работе с альтернативными потоками Возникает законный вопрос — как же можно узнать, имеются ли у файла или каталога альтернативные потоки? Стандартными способами в операционной системе Windows Vista это сделать не очень просто. Но, все же, возможно. * Каждый альтернативный поток имеет имя, которое указывается после имени файла через двоеточие (например, tst.txt:testmy). Если вы знаете имя потока, вы сможете просмотреть его содержимое. Для этого достаточно воспользоваться командой вида more < файл:поток. Например, more < c:\tst.txt:testmy. Или же, командой more < файл:поток > новый_файл, чтобы поместить содержимое альтернативного потока в отдельный файл. * Чтобы узнать, есть ли у файлов каталога дополнительные потоки, можно воспользоваться командой вида dir каталог_или_файл /R. Она отобразит перед вами все файлы, которые находятся в каталоге, а также их альтернативные потоки. Отличить обычный файл от альтернативного потока можно по двоеточию (рис. 3.45). * Создать альтернативный поток для файла можно с помощью команды вида echo текст > файл:поток. Например, echo mytst > c:\tst.txt:testmy. Рис. 3.45. Поиск файлов, имеющих альтернативные потоки Удаленное сканирование портов Мы с вами рассмотрели уже многие способы поиска вредоносных программ. Но что греха таить, не будем скрывать — они могут вам помочь в поиске вирусов, троянских и рекламных программ, но против многих руткитов и пакетных червей они не всегда дадут положительный результат. Все большее количество руткитов сейчас обитают только в оперативной памяти. Они не записывают себя на диск. Не изменяют параметров реестра. Не создают новых процессов (внедряются в адресное пространство уже существующих). И даже не открывают новых портов (перехватывают входящий трафик с помощью сырых сокетов или внедряются в сетевые драйверы). И вот такие руткиты поймать вручную просто невозможно. Раньше руткиты можно было обнаружить с помощью удаленного сканирования открытых портов вашего компьютера. Ведь руткит может сокрыть свой порт, и ввести в заблуждение только то, что находится на локальном компьютере. А с другой стороны баррикады руткит сделать ничего не может, и поэтому порт, открытый руткитом, может быть не виден брандмауэром или другими программами на локальном компьютере, но удаленный компьютер порт руткита увидит невооруженным глазом. Сейчас же отдельные руткиты научились использовать уже открытые другими программами порты, и не открывают свой порт. Поэтому метод удаленного сканирования портов не действует. Единственный способ поиска таких руткитов — доскональный анализ сетевого трафика. Но для домашнего пользователя это не выход — вряд ли домашний пользователь разбирается в строении сетевых пакетов и способен определить, какие данные передаются в отдельном пакете. Да и данный способ обнаружения руткитов также неидеален — руткит может зашифровать свои данные, и вы увидите в сетевых пакетах лишь мусор. Вердикт Ну и как вам перспективы ручного поиска и обезоруживания вредоносных программ? Не радуют? Тогда скорее устанавливайте его. Нашего спасителя: Бэтмена и Супер Мена в одном лице и дистрибутиве. Пока еще не слишком поздно… Заключение Наконец-то вы это сделали. Наконец-то вы установили на свой компьютер антивирусную программу и брандмауэр. Теперь можно спать спокойно. Теперь я будут спать спокойно, зная, что ваш компьютер в безопасности. Уверен, что последний раздел данной главы, посвященный поиску и обезвреживанию вредоносных программ без помощи антивирусов, достаточно вас напугал. И теперь вы понимаете, что антивирусные программы позволяют до безобразия упростить то, что без их помощи было бы практически невыполнимым. Но перед нами стоит еще одна нерешенная проблема — как защитить корпоративную сеть и все компьютеры корпорации, в нее входящие? О ужас — еще одна проблема на нашу голову. Нужно решить ее как можно скорее. Иначе уснуть спокойно так и не получится. Скорее читатель. Скорее в следующую главу, которая поможет нам защитить не только себя и собственный компьютер, но и наше окружение. http://onestyle.com.ua/user.php?u=1 http://onestyle.com.ua/txt.php?u=706 Автор: Клименко Роман aka parad0x
статья для тех кто не давно за компьютером) все кто более 3-x лет за компом знают это... но всё равно спасибо=)
продолжение не планировалось. это - статья автора parad0x что он написал, то в ней и есть хотя.. я действительно знаю еще пару методов - 1. подмена explorer.exe (или же доброй половины системных файлов - своими "аналогами") 2. юзание sheduler service ps. 2 ExQ - отсилы пол-процента форума знает знает хотя бы половину из описанных методов. И сильно сомневаюсь, что знаешь ты. Если бы знал - знал бы и то, что некоторые из этих методов (например загруза через BHO) - довольно "высокий уровень". Потому твой пост в данном случае показывает лишь твою собственную вопиющую некомпетентность в данном вопросе. Из серии "слышал звон, да не знаю где он"
хорошая статья. не удержался и снял на секунду галку с отображения скрытых и системных файлов. параноики живут дольше всех