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

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

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

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. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

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


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    16 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии