Содержание статьи

На вопрос «Какой антивирус вы используете на своей виндовой машине?» многие безопасники (в том числе и сотрудники нашей редакции) отвечают просто: никакой. Когда эпидемии в сотни тысяч зараженных компьютеров разгораются, невзирая на все самые передовые технологии систем защиты, а антивирусы в наших тестах показывают сомнительные результаты, об отказе от антивируса вполне стоит подумать.

План статьи будет таков: как локализовать заразу, если она все-таки проникла на твою машину, как победить руткиты и как восстановить систему после заражения, если все зашло слишком далеко. В конце статьи мы дадим несколько банальных, но по-прежнему актуальных советов о том, как избежать заражения (с другой стороны, как можно называть банальными советы, соблюдение которых снизило бы количество зараженных машин Сети в десятки раз?).

INFO

Мы вовсе не настаиваем на сносе твоего любимого Internet security, но прочитать статью «На малварь без антивируса» и советы из этого материала очень рекомендуем.

 

Что делать в случае заражения?

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

  • отключить хост от сети (вытащить UTP-кабель, погасить Wi-Fi);
  • вынуть из портов все внешние девайсы (HDD- и USB-устройства, телефоны и прочее).

Все эти действия связаны с необходимостью изолировать нашего пациента от внешнего мира. Отключать хост нужно обязательно и от доступа во внешний мир через интернет и локалку, поскольку малварь практически со стопроцентной вероятностью будет пытаться себя распространить на весь доступный ей сегмент. К тому же если зловред является частью ботнет-сети или содержит компоненты RAT, то он может бездействовать до того момента, как поступит управляющая команда с C&C-сервера из внешней сети. Также это страхует нас и от утечки локальных данных во внешний мир, к примеру через DNS-туннелированные или подобные хакерские фичи. Следуя этой же логике, рекомендуют как можно скорее вытащить все подключенные к пациенту девайсы: к примеру, если это вирус-шифровальщик, то он может просто не успеть добраться до данных на внешних HDD и USB-флешках.

INFO

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

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

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

WARNING

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

 

Поиск процессов и обезвреживание малвари в памяти

Любая малварь, чтобы выполнять свои действия, должна быть запущена в оперативной памяти. И неважно, как именно бинарный код был загружен в RAM — из exe-файла, вложенного в письмо, скрипта из инфицированной HTML-странички или был собран только из сетевых пакетов, как нашумевший в начале 2000-х годов бестелесный червь Slammer, поразивший тысячи серверов за несколько десятков минут. Поэтому ключевой задачей на первом этапе становится поиск и идентификация процесса зловреда в памяти. И стандартный менеджер задач Windows тут нам не помощник. Почему? Да потому, что даже начинающий кодер на Delphi может использовать функции, позволяющие скрывать из области видимости штатного Task Manager’а запущенный процесс. Я еще молчу о том, что зловред может содержать руткит, который будет скрывать его действия в системе.

Итак, к нам на помощь придут утилиты — самостоятельные и комплексные менеджеры задач. Первая тулза, которую мы рассмотрим, — это Process Monitor, бесплатная утилитка из набора SysInternals Suite. По сути, она объединяет в себе сразу две другие утилиты — FileMon (мониторинг файловой системы) и RegMon (мониторинг реестра). Тулза предоставляет мощный инструмент для мониторинга файловой системы, системного реестра, а также всех процессов в оперативной памяти в реальном времени.

На панели есть несколько интересных кнопок, позволяющих выполнять фильтрацию процессов и действий системы по нужным нам критериям:

  • show registry activity — просмотр активности реестра (чтение, запись ключей);
  • show file system activity — просмотр действия с файлами (чтение, запись);
  • show network process activity — аналогично по процессам, использующим сеть;
  • show process and thread — просмотр процессов и нитей.
Рабочее окно утилиты Process Monitor
Рабочее окно утилиты Process Monitor

Вторая, более навороченная тулза — это Process Explorer. Предназначена для мониторинга процессов в системе. Позволяет не только отследить процесс, но и уточнить, какие файлы и папки им используются. Фишка программы в том, что тут же в рабочем окне можно выделить процесс и по щелчку мыши проверить его на VirusTotal.

Рабочее окно утилиты Process Explorer
Рабочее окно утилиты Process Explorer

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

Просмотр списка процессов в System Explorer
Просмотр списка процессов в System Explorer

В утилиту встроена база данных — можно проверить наличие вредоносного кода в конкретном файле и отправить на сервер отчет VirusTotal.

Проверка процесса на безопасность в System Explorer
Проверка процесса на безопасность в System Explorer

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

Режим Explorer с более наглядной формой вкладок
Режим Explorer с более наглядной формой вкладок

Тулза четвертая — это AnVir Task Manager, полноценный менеджер задач, который позволяет контролировать все, что запущено на компьютере, а также предоставляет удобные инструменты для настройки компьютера. Тулза позволяет управлять автозагрузкой, запущенными процессами, сервисами и драйверами и заменяет диспетчер.

Список процессов в AnVir Task Manager
Список процессов в AnVir Task Manager
Список инсталлированных в систему драйверов в AnVir Task Manager
Список инсталлированных в систему драйверов в AnVir Task Manager

В самом простом случае имя процесса совпадает с именем исходного exe-файла, который был запущен. Поэтому и самый простой способ найти малварь — это просмотреть весь список запущенных процессов и обратить внимание на те, которые вызывают подозрения. Но есть и более сложные ситуации, когда вирмейкеры используют системные имена, к примеру системных служб Svchost.exe, или, хуже того, не создают новый процесс, а инжектируют код зловреда в легитимный! Если такой процесс завершит часть функций, ОС может стать недоступна или вовсе возникнет RPC-ошибка, приводящая к перезагрузке. Такую фичу использовал небезызвестный червь Blaster. На глаз тут вредоносный процесс, конечно же, не определишь, нужны инструменты посерьезнее.

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

Основное окно утилиты AVZ
Основное окно утилиты AVZ

Поэтому тулза может сканировать оперативную память и детектировать скомпрометированные процессы. Помимо этого, она имеет ряд крутых фич: собственный драйвер для обнаружения руткитов (kernel-mode), кейлоггеров и троянских DLL, прямой доступ к диску для работы с заблокированными файлами на томах NTFS, в том числе помещения их в карантин, анализатор открытых портов TCP/UDP с целью обнаружения RAT, анализатор Winsock SPI/LSP корректности сетевых настроек, анализатор мусорных настроек Internet Explorer, а также модуль проверки целостности системного реестра, BHO, расширений IE и проводника (Explorer) и анализатор всех доступных видов автозапуска.

Опции восстановления системы в AVZ
Опции восстановления системы в AVZ
Просмотр сетевых соединений в AVZ
Просмотр сетевых соединений в AVZ
 

Охота на невидимок

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

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

  • RkUnhooker — одна из самых мощных тулз для обнаружения руткитов и борьбы с другими вредоносами. Позволяет обнаруживать и снимать перехваты таблицы SDT и программного кода, показывает скрытые драйверы, процессы и файлы. Помимо этого, RkUnhooker позволяет убивать файлы, залоченные выполняющимся процессом, в том числе с перезаписью пустыми данными (чтобы предотвратить их повторный запуск). А еще можно снимать дампы процессов из памяти и анализировать их.
Окно с результатами поиска руткитов в RkUnhooker
Окно с результатами поиска руткитов в RkUnhooker
  • GMER — довольно известная утилита, которая, помимо основной своей функции, включает набор инструментов, таких как мощный редактор реестра, показывающий скрытые ветки, редактор жесткого диска, редактор автозапуска системы. Часто вместе с GMER используют RootRepeal. Эта тулза анализирует все запущенные драйверы и процессы в системе, ищет аномалии и другие особенности, присущие зловредным программам.
Окно с результатами поиска руткитов в GMER
Окно с результатами поиска руткитов в GMER
  • UnHackMe — тоже известная тулза для обнаружения и эффективного удаления новых поколений троянов, использующих технологию руткит. Как заявляют разработчики, она имеет уникальные методы детекта. Ищет нежелательные настройки поиска в браузере, проверяет автозапуск на наличие посторонних программ.
Окно с результатами поиска руткитов в UnHackMe
Окно с результатами поиска руткитов в UnHackMe
  • HijackThis — небольшая программа для обнаружения и удаления простейших типов вредоносного ПО. Сейчас распространяется по лицензии GPLv2 и принадлежит антивирусной компании Trend Micro.
Окно с результатами поиска руткитов в HijackThis
Окно с результатами поиска руткитов в HijackThis
  • TDSSKiller — отечественный антируткит от «Лаборатории Касперского». Изначально создавался для лечения систем, зараженных вредоносами семейства Rootkit.Win32.TDSS. Сейчас утилита может найти и обезвредить такие известные руткиты, как TDSS, SST, Pihar, ZeroAccess, Sinowal, Whistler, Phanta, Trup, Stoned, Rloader, Cmoser, Cidox, и руткит-аномалии.
Главное окно программы TDSSKiller
Главное окно программы TDSSKiller
Обнаружение руткитов в TDSSKiller
Обнаружение руткитов в TDSSKiller
  • SpyDllRemover — эффективный инструмент для обнаружения и удаления шпионских программ из системы. Использует свой алгоритм сканера, который быстро находит скрытые процессы Rootkit, а подозрительные DLL — во всех запущенных процессах. Выводит процессы разными цветами в зависимости от уровня угрозы, что очень помогает идентифицировать вредоносные DLL.
Просмотр подозрительных процессов в SpyDllRemover
Просмотр подозрительных процессов в SpyDllRemover
 

Чистим автозапуск

Одна из функций малвари — обеспечить себе повторный запуск после выключения или перезагрузки машины. Наиболее часто используемый метод — это прописать исполняемый файл зловреда в автозапуск. Варианты здесь различны: это может быть и подмена пути в ярлыке, уже лежащем в автозапуске по пути %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup, и назначение автоматически выполняемого задания в Планировщике Windows, и создание ключей на автозапуск в системном реестре:

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce] — программы, которые запускаются только один раз, когда пользователь входит в систему;
  • [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] — программы, которые запускаются при входе текущего пользователя в систему;
  • [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce] — программы, которые запускаются только единожды при входе текущего пользователя в систему.

Что у нас есть из тулз для этого случая? Первое — это программа Autoruns, которая позволяет управлять автозагрузкой в Windows. С ее помощью можно увидеть все программы, службы, драйверы и командные файлы, которые будут запускаться вместе с системой, а при необходимости — отключить их.

Главное окно утилиты Autoruns
Главное окно утилиты Autoruns

Скажем пару слов об интерфейсе и вкладках:

  • Everything — отображает все файлы, которые будут запускаться автоматически при загрузке Windows;
  • Logon — содержит все программы, которые будут запускаться автоматически;
  • Explorer — автозапуск всех элементов проводника Windows;
  • Internet Explorer — все надстройки и дополнения, которые установлены в Internet Explorer;
  • Scheduled Tasks — процессы, которые запускаются автоматически из диспетчера задач;
  • Services — файлы служб, автоматически запускаемые при загрузке машины;
  • Drivers — все файлы, относящиеся к драйверам.
 

Восстанавливаем реестр

Реестр Windows, начиная с самых первых версий ОС, остается критически важным компонентом системы, по сути представляя собой базу данных для хранения различных параметров и настроек рабочего окружения, установленного ПО и самой Windows. Логично, что нарушение работы реестра или его повреждение грозит неработоспособным состоянием ОС. Сам реестр, который открывается штатной утилитой regedit, физически представлен несколькими файлами, хранящимися по пути %SystemRoot%\System32\config\. Это файлы с именами SYSTEM, SOFTWARE, SECURITY, SAM, DEFAULT без расширений и доступные только для системных процессов NT AUTHORITY\SYSTEM, LocalSystem. Но если реестр открывать через штатный редактор, то эти файлы предстанут в виде большого иерархического дерева.

Первое, что приходит на ум, — это, конечно же, сделать бэкапы этих файлов и при необходимости просто заменить битые на резервные копии. Но из-под загруженной ОС простым копированием выполнить это не удастся, а экспорт данных с использованием regedit может получиться неполноценным. Поэтому рассмотрим инструменты, которые помогут нам в этом деле.

 

Штатные инструменты Windows для восстановления реестра

«Из коробки» Windows, к сожалению, не имеет отдельного инструмента, позволяющего делать резервные копии реестра. Все, что может дать система, — это функциональность морально устаревшей NTBackUp родом из эпохи Windows XP / 2003 Server или в новых ОС Windows 7, 8, 10 ее реинкарнацию в виде «программы архивирования и восстановления Windows», предлагающей создать целиком образ системы (всей системы — не реестра!). Поэтому рассмотрим лишь небольшой пример действий в консоли восстановления, позволяющих восстановить реестр вручную. По сути это операции замены битых файлов на инфицированной системе оригинальными файлами реестра из заранее сделанной резервной копии.

Интерфейс утилиты NTBackUp
Интерфейс утилиты NTBackUp

Загрузившись в Live CD режиме с установочного диска или с локально установленной консоли восстановления (для XP/2003), необходимо выполнить следующие команды, описанные самой Microsoft:

// Создаем резервные копии реестра системы
md tmp
copy c:\windows\system32\config\system c:\windows\tmp\system.bak
copy c:\windows\system32\config\software c:\windows\tmp\software.bak
copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak
copy c:\windows\system32\config\security c:\windows\tmp\security.bak
copy c:\windows\system32\config\default c:\windows\tmp\default.bak

// Удаляем битые файлы из системной директории ОС
delete c:\windows\system32\config\system
delete c:\windows\system32\config\software
delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\default

// Копируем работоспособные файлы реестра из теневой копии
copy c:\windows\repair\system c:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copy c:\windows\repair\sam c:\windows\system32\config\sam
copy c:\windows\repair\security c:\windows\system32\config\security
copy c:\windows\repair\default c:\windows\system32\config\default

Все, перезагружаем машину и смотрим на результат!

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

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

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


16 комментариев

  1. Skybad

    20.11.2017 at 12:47

    СПС. Добавил в колекцию.

  2. inkognito.o

    20.11.2017 at 16:41

    статья классная, НО!

    Очень НЕГАТИВНО отношусь к Comodo Backup.
    На моей виртуалке после замены учетной записи в управлении правилами пользователя полностью разбил мне там мой Windows и больше НЕ стартует. Вообще юзера стёр!

  3. Rets

    20.11.2017 at 19:59

    Отличная статья в которой описаны и консолидированы многие разрозненные советы по борьбе с вирусами.

  4. Пустынников Дмитрий

    20.11.2017 at 22:57

    Статья отличная! Я считаю, что никакого смысла нет в установке в браузер Chrome расширения Flash Block, так как в настройках браузера Adobe Flash попросту можно выключить. Я в браузере достаточно давно вообще выключил в настройках Adobe Flash, и с того времени я не встретил ни одного сайта, где бы он понадобился бы мне включенным.
    Не понятно, почему в статье не рассказали про расширение для браузера uBlock. Это расширение помимо блокировки рекламы еще и следящие элементы блокирует на веб страницах.

    • baragoz

      21.11.2017 at 09:39

      Я вообще ни одного плагина на Chrome не ставил. По мне так любой плагин-не-от-гугл — потенциальная дыра в безопасности. А то и уже известная дыра в безопасности. Гугл платит баг баунти, плагины же лабает кто угодно и количество скачиваний здесь не решает.

  5. tpost

    21.11.2017 at 10:12

    + спасибо, полезно!

  6. 84ckf1r3

    26.11.2017 at 10:38

    Спасибо за статью! В ней описаны многие инструменты, которыми пользуюсь сам. По ходу чтения появилось несколько мыслей:
    1. Большая часть функционала упомянутых утилит продублирована в AVZ. В нём есть собственные диспетчеры запущенных процессов, служб и драйверов, менеджер автозапуска, антируткит AVZPM и другие инструменты. Они позволяют выполнить глубокий анализ системы и внести необходимые изменения по ходу аудита.
    2. Дополнительно в AVZ есть ревизор для контроля изменений ф.с.
    3. Раньше часто использовал возможность запускать другие утилиты (в том числе антивирусы) под защитой драйвера AVZGuard. Это помогало преодолеть механизмы противодействия антивирусам на заражённых компьютерах. К сожалению, в современных версиях Windows эта функция не работает.
    4. На мой взгляд, антивирус всё-таки нужен. Описываемые в статье действия помогут справиться с малварью в случае подозрений на заражение. К тому времени она уже успеет навредить и притащить других зловредов. Считаю, что антивирус требуется как грубый фильтр, не дающий пользователю «выстрелить себе в ногу» и проверяющий новые файлы независимо от его квалификации. Просто не надо считать антивирус панацеей и делать то, чего не стал бы совершать без него.
    5. Анализировать потенциально заражённую систему из неё же — концептуально малоэффективный подход. Мне всегда казалось более удобным загрузиться в заведомо чистой ОС (с внешнего носителя) и спокойно препарировать хостовую систему уже из неё. Иначе придётся бороться с активной малварью и успевать реагировать на её непредсказуемые действия.

    PS: Каков бы ни был опыт антивирусного разработчика, он получен в ходе обучения борьбы с известными зловредами. Постоянно появляются новые, и в этой гонке вирмейкеры традиционно впереди. Сейчас написанием зловредов редко занимаются just for fun, как это было в девяностые. За каждой продвинутой малварью стоят большие деньги и вполне конкретные цели. В блогах антивирусных разработчиков не раз описывались ситуации, когда компьютеры серьёзных организаций оставались заражёнными на протяжении многих месяцев, а команды экспертов сменяли друг друга во время расследования инцидента.

  7. Rathori

    27.11.2017 at 13:24

    Есть Opera, но нет Firefox? В какой альтернативной реальности Opera популярнее?

  8. alexander2015libertime

    01.12.2017 at 03:33

    Прочел материал и подчерпнул для себя много чего интересного.

  9. ph0lid0ta

    04.12.2017 at 01:01

    Статья хорошая. Заинтересовала программка SlimDrivers. Откуда она качает дрова? Странно, что нет «лисы» в списках браузеров.

  10. andrewbutov

    27.12.2017 at 02:53

    Шикарная статья! Все перечисленные инструменты должен знать каждый, кто называет себя системным администратором или ит-инженером. Здесь показано решение 90% проблем с операционной системой. Особенно когда её надо восстановить!

Оставить мнение

Check Also

Десятка быстрых. Выбираем консольный софт для повседневных нужд

И вновь на страницах нашего журнала рубрика «Кто самый большой гик на планете». В этот раз…