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

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

Найпростіший спосіб повернути оригінальні дані після шифрування документів трояном-шифрувальником - відновити дані з резервної копії. І якщо централізоване резервне копіювання даних на серверах ще можна організувати, то бекап даних з комп'ютерів користувачів забезпечити набагато складніше. На щастя, в Windows вже є вбудований механізм ведення резервних копій - тіньові копії, створювані службою Volume Shadow Copy Service (VSS).

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

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

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

зміст:

  • Включення служби VSS на комп'ютерах за допомогою GPO
  • Копіювання файлу vshadow.exe на комп'ютери користувачів за допомогою GPO
  • PowerShell скрипт для створення тіньових знімків всіх томів
  • Завдання планувальника по створенню VSS-знімків
  • Відновлення вихідних даних з тіньової копії томи
  • висновок

Включення служби 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 на всі комп'ютери.

Порада. Файл 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).

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 - ShadowExplorer.

висновок

Звичайно, тіньові копії VSS не є методом боротьби з вірусами-шифрувальник і не скасовують комплексного підходу в організації безпеки мережі від вірусів (антивіруси, блокування запуску виконуваних файлів за допомогою SRP або AppLocker політик, репутаційні фільтри SmartScreen і т.д.). Однак, простота і доступність механізму тіньових копій томів є, на мій погляд, великою перевагою цього простого способу відновлення зашифрованих даних, який дуже ймовірно стане в нагоді в разі проникнення зарази на комп'ютер користувача.