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

Восстановление файлов после заражения шифровальщиком из снимков 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.loc\SYSVOL\domain.loc\scripts\ (файл должен быть скопирован сюда предварительно) в каталог %windir%\system32\vshadow.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%\System32\WindowsPowerShell\v1.0\powershell.exe

с аргументом %windir%\system32\vss-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 и т.д.).  Однако, простота и доступность механизма теневых копий томов является, на мой взгляд, большим преимуществом этого простого способа восстановления зашифрованных данных, который очень вероятно пригодится в случае проникновения заразы на компьютер пользователя.

Еще записи по теме: Group Policy, Windows 10, Windows 7
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 17

Оставить комментарий
  1. Никита | 13.10.2016

    Очень верно замечено, про настройку планировщика!
    В большинстве статей по защите от шифровальщиков пишут о необходимости включения защиты на локальных дисках, не упоминая о необходимости добавления расписания.
    Было бы интересно почитать о настройке SRP и подводных камнях, с которыми пришлось столкнуться в процессе настройки.

    Ответить
  2. Александр | 27.10.2016

    Здравствуйте. Спасибо за статью.
    Если я правильно понял файл vshadow.exe нужен для создания снимков по расписанию,ведь по сути настройку теневых копий можно произвести ручками через «Защиту системы»?
    Второй вопрос: я так понимаю для выполнения скрипта ps требуется дополнительная настройка пользовательского ПК,например по средствам GPO вы не могли бы рассказать про это?
    Сейчас скрипт не выполняется через планировщик,а через PS ise выдает ошибку касательно execution policy…какую в данном случает политику выполнения скриптов выбрать,что бы это было безопасно?
    Спасибо.

    Ответить
    • Александр | 27.10.2016

      3 вопрос: я так понимаю через свойства диска,папки — вкладка Предыдущие версии для пользователей работать не будут,доступ в теневым копиям только через командную строку или через shadowexplorer?
      Вам не кажется что это не очень удобно?
      У меня сейчас на пользовательском ПК свойствах «Защита системы» защита диска с: отключена, теневые копии я так понимаю создаются руками или через шедулер по средствам запуска ps скрипта…

      Ответить
    • itpro | 11.11.2016

      Теневые копии создаются ps скриптом с помощью vshadow.exe. Вы конечно, можете вручную включить защиту системы на всех компьютерах, но вменяемых средств администрирования и контроля этого процесса нет. Политиками все-же удобнее.
      Как правило, пользователю незачем самому восстанавливать файлы из теневой копии. А при инциденте заражения шифровальщиком все равно роттребуется вмешательство администратора.

      Ответить
  3. Александр | 27.10.2016

    Посмотрите каким способом решается проблема вот здесь
    http://www.outsidethebox.ms/9961/
    По сути все уже есть на компьютере пользователя
    %windir%\system32\rundll32.exe /d srrstr.dll,ExecuteScheduledSPPCreation
    в чем смысл копирования файла vshadow?
    Нам остается лишь активировать защиту на дисках,а вот как это сделать по средствам GPO я пока не разобрался….

    Ответить
    • Артем | 19.11.2016

      С помощью GPO ни как только скриптом запустить через gpo или создать имена ПК в txt файле натравить на него PoSH и что б он выполнил включение на всех ПК в списке команду по включению теневой копии тома.

      Ответить
  4. Андрей | 09.11.2016

    Спасибо за замечательную статью!
    Хотелось бы ее дополнить. Дело в том, что я сталкнулся с проблемой. GPO не копирует файлы. В событиях появляется предупреждение 4098:
    «Элемент предпочтения пользователь «» в объекте групповой политики «Копирование файла XX.YYY {…..}» не применен по причине ошибки с кодом ‘0x80070003 Системе не удается найти указанный путь.’ Эта ошибка была отключена. «
    Долго не мог понять в чем же дело и почему не копируется? В очередной раз просматривая политику обратил внимание, что в свойствах два параметра:
    Source file(s) — %шара%\vshadow.exe
    Destination file — %windir%\system32\vshadow.exe

    Т.е. в качестве пути назначения недостаточно указать просто директорию, нужно еще указать имя файла.

    Ответить
    • Александр | 09.11.2016

      Да абсолютно верно. Тоже возникла сначала проблема с этим. После того как добавил имя файла все заработало.

      Ответить
      • itpro | 10.11.2016

        Спасибо за полезное замечание! Обновил статью.

        Ответить
  5. Александр | 10.11.2016

    подскажите а что в понятии vshadow старые копии?
    Насколько стары они должны быть для того что бы после запуска команды они были удалены?

    Ответить
    • itpro | 10.11.2016

      На самом деле команда vshadow.exe -do=c:\ удаляет одну самую старую теневую копию

      Ответить
      • Артем | 19.11.2016

        Я думаю, что можно не париться windows сама удалит старую копию когда закончиться место.

        Ответить
  6. Alexandr | 17.11.2016

    Подскажите а при выполнении скрипта,разве не нужно указывать ExecutionPolicy?
    По умолчанию стоит Unrestricted.

    Ответить
    • itpro | 22.11.2016

      Да нужно, в моем случае уже разрешен запуск posh скриптов. По умолчанию стоит Restricted — запрет любых ps1.

      В общем случае в качестве аргумента powershell.exe можно добавить -ExecutionPolicy Bypass

      Ответить
  7. Дмитрий | 30.11.2016

    Здравствуйте. Как Вы указывали в самом начале статьи о необходимости в разделе Computer Configuration->Windows Settings->Security Settings->System Service в списке служб нужно найти службу Volume Shadow Copy и задать для нее тип запуска Automatic. НО это только задает этой службе ТИП Запуска, но не влияет на ее запуск. Проверял это сам, т.к. встала такая же задача по применению данной политики. По крайней мере замечено начиная с Windows Vista и выше. Для того чтобы запустилась сама служба и находилась в состоянии Выполняется необходимо войти в Group Policy Preferences — Control Panel Settings — Services и при настройке Preference выбрать необходимый тип Service Action.
    Спасибо.

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.28MB/0.00118 sec