Восстановление файлов после заражения шифровальщиком из снимков VSS

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

Самый простой способ вернуть оригинальные данные после шифрования документов трояном-шифровальщиком – восстановить данные из резервной копии. И если централизованное резервное копирование данных на серверах еще можно организовать, то бэкап данных с компьютеров пользователей обеспечить гораздо сложнее. К счастью, в Windows уже есть встроенный механизм ведения резервных копий — теневые копии , создаваемые службой Volume Shadow Copy Service (VSS).

Для обеспечения возможности восстановления старых версий файлов из VSS снапшотов, должны выполняться следующие условия:

  • служба VSS должна быть включена для защищаемых томов
  • на диске должно быть достаточно свободного места для хранения снимков (не менее 10-20%)
  • у пользователя не должно быть прав локального администратора на своем компьютере (большинство современных шифровальщиков, запущенных с правами администратора удаляют все доступные VSS снимки), а защита User Account Control (UAC) включена

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

Включение службы VSS на компьютерах с помощью GPO

В первую очередь создадим групповую политику, которая бы включала службу Volume Shadow Copy Service (VSS) на компьютерах пользователей. Для этого в консоли GPMC . msc создадим новый объект GPO с именем VSSPolicy и назначим его на OU с компьютерами пользователей.

Перейдем в режим редактирования GPO. Затем в разделе Computer Configuration-> Windows Settings-> Security Settings-> System Service в списке служб нужно найти службу Volume Shadow Copy и задать для нее тип запуска Automatic .

Включить службу Volume Shadow Copy через GPO

Копирование файла vshadow.exe на компьютеры пользователей с помощью GPO

Для создания и управления теневыми копиями на ПК пользователей нам понадобится утилита vshadow.exe из комплекта Windows SDK. В данном примере мы будем использовать vshadow из SDK для Windows 7 x64 (в моем случае она корректно отработала как на Windows 7 так и на Windows 10 x64). С помощью GPP скопируем файл vshadow.exe в каталог %windir%system32 на все компьютеры.

Совет . Файл vshadow.exe можно скачать по этой ссылке: vshadow-7×64.zip

Для этого в разделе политики Computer Configuration –> Preferences –> Windows Settings -> Files создадим новую политику, копирующую файл vshadow.exe из каталога \ domain.locSYSVOL domain.locscripts (файл должен быть скопирован сюда предварительно) в каталог %windir%system32vshadow.exe (нужно указывать имя файла в destination) . Эту политику можно настроить, чтобы она отработала только один раз (Apply once and do not reapply).

Скопировать файл vshadow на ПК пользователей через GPP

PowerShell скрипт для создания теневых снимков всех томов

Далее нам понадобится скрипт, который бы определял список дисков в системе, включал бы для всех ведение теневых снимков и создавал бы новый VSS-снапшот. У меня получился такой скрипт:

$HDDs = GET-WMIOBJECT –query "SELECT * from win32_logicaldisk where DriveType = 3"
foreach ($HDD in $HDDs) {
$Drive = $HDD.DeviceID
$vssadminEnable ="vssadmin.exe Resize ShadowStorage /For=$Drive /On=$Drive /MaxSize=10%"
$vsscreatess = "vshadow.exe -p $Drive"
cmd /c  $vssadminEnable
cmd /c  $vsscreatess
}

PowerShell скрипт по включению и ведению vssдля всех дисков Первая срока позволяет найти все диски в системе, а затем для каждого диска утилита vshadow активирует ведение теневых копий, которые должны занимать не более 10% места и создает новую копию.

Этот скрипт сохраним в файл vss- script. ps1 и также скопируем на компьютеры пользователей через GPO.

Скопировать vss скрипт с помощью GPO

Задание планировщика по созданию VSS-снимков

Последнее, что осталось сделать – создать на всех ПК задание планировщика, которое регулярно бы запускало скрипт PowerShell vss-script.ps1 и создавало бы новый vss снимок дисков. Проще всего создать такое задание через GPP. Для этого в разделе Computer Configuration -> Preferences -> Scheduled Tasks создадим новое задание планировщика (New-> Scheduled Task (at least Windows 7) с именем: create vssnapshot , которое запускается от имени NT AUTHORITY System с повышенными правами.

Задание планировщика create vssnapshot Допустим, задание должно запускаться каждый день в обед в 13:20 (здесь нужно самостоятельно продумать необходимую частоту создания снимков).

расписание запуска Запускаемый скрипт: %windir%System32WindowsPowerShellv1.0powershell.exe

с аргументом %windir%system32vss-script.ps1

task scheduler запуск PoSh скрипта

Совет . Нужно предусмотреть также создание еженедельного задания планировщика, удаляющего старые VSS снимки. Для этого нужно создать новое задание планировщика, запускающего скрипт аналогичный первому, но со строками:

$vssadminDeleteOld = “vshadow.exe -do=%$Drive”
cmd /c  $vssadminDeleteOld

Восстановление исходных данных из теневой копии тома

В том случае, если шифровальщик все-таки попал на ПК пользователя и сделал свое черное дело, после искоренения его из системы, администратор может восстановить документы пользователя из последнего снимка.

Список всех доступных снимком можно вывести командой:

vssadmin.exe list shadows

vssadmin.exe list shadows В нашем примере последний снимок сделан 10/6/2016 1:33:35 AM и имеет Shadow Copy ID = {6bd666ac-4b42-4734-8fdd-fab64925c66c}.

Смонтируем снапшот на чтение в виде отдельного драйва системы по его ID:

vshadow -el={6bd666ac-4b42-4734-8fdd-fab64925c66c},Z:

vshadow-el-mount-snapshot Теперь с помощью File Explorer или любого файлового менеджера скопируйте оригинальные файлы с диска Z:, представляющего собой содержимое подключенного снимка диска.

Чтобы отмонтировать диск со снимком:

mountvol Z: /D

Совет . Есть и более удобный графический инструмент для просмотра и извлечения данных из снимков VSS – ShadowExplorer .

Заключение

Конечно, теневые копии VSS не являются методом борьбы с вирусами-шифровальщиками и не отменяют комплексного подхода в организации безопасности сети от вирусов (антивирусы, блокировка запуска исполняемых файлов с помощью SRP или AppLocker политик, репутационные фильтры SmartScreen и т.д.). Однако, простота и доступность механизма теневых копий томов является, на мой взгляд, большим преимуществом этого простого способа восстановления зашифрованных данных, который очень вероятно пригодится в случае проникновения заразы на компьютер пользователя.

EnglishRussianUkrainian