Восстановление файлов после заражения шифровальщиком из снимков 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.
Копирование файла vshadow.exe на компьютеры пользователей с помощью GPO #
Для создания и управления теневыми копиями на ПК пользователей нам понадобится утилита vshadow.exe из комплекта Windows SDK. В данном примере мы будем использовать vshadow из SDK для Windows 7 x64 (она корректно отработала как на Windows 7 так и на Windows 10 x64). С помощью GPP скопируем файл vshadow.exe в каталог %windir%\system32 на все компьютеры.
Для этого в разделе политики Computer Configuration –> Preferences –> Windows Settings -> Files создадим новую политику, копирующую файл vshadow.exe из каталога \\domain.loc\SYSVOL\domain.loc\scripts\ (файл должен быть скопирован сюда предварительно) в каталог %windir%\system32\vshadow.exe (нужно указывать имя файла в destination) . Эту политику можно настроить, чтобы она отработала только один раз (Apply once and do not reapply).
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
}

Первая строка позволяет найти все диски в системе, а затем для каждого диска утилита vshadow активирует ведение теневых копий, которые должны занимать не более 10% места и создает новую копию.
Этот скрипт сохраним в файл vss-script.ps1 и также скопируем на компьютеры пользователей через 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 с повышенными правами.

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

Запускаемый скрипт: %windir%\System32\WindowsPowerShell\v1.0\powershell.exe
с аргументом %windir%\system32\vss-script.ps1
Совет. Нужно предусмотреть также создание еженедельного задания планировщика, удаляющего старые VSS снимки. Для этого нужно создать новое задание планировщика, запускающего скрипт аналогичный первому, но со строками:
$vssadminDeleteOld = “vshadow.exe -do=%$Drive”
cmd /c $vssadminDeleteOld
Восстановление исходных данных из теневой копии тома #
В том случае, если шифровальщик все-таки попал на ПК пользователя и сделал свое черное дело, после искоренения его из системы, администратор может восстановить документы пользователя из последнего снимка.
Список всех доступных снимком можно вывести командой:
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:

Теперь с помощью File Explorer или любого файлового менеджера скопируйте оригинальные файлы с диска Z:, представляющего собой содержимое подключенного снимка диска.
Чтобы отмонтировать диск со снимком:
mountvol Z:\ /D
Заключение #
Конечно, теневые копии VSS не являются методом борьбы с вирусами-шифровальщиками и не отменяют комплексного подхода в организации безопасности сети от вирусов (антивирусы, блокировка запуска исполняемых файлов с помощью SRP или AppLocker политик, репутационные фильтры SmartScreen и т.д.). Однако, простота и доступность механизма теневых копий томов является большим преимуществом этого простого способа восстановления зашифрованных данных, который очень вероятно пригодится в случае проникновения заразы на компьютер пользователя.




