Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 7

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

เราต่อเนื่องชุดบทความเกี่ยวกับมาตรการต่อต้าน Ransomware ครั้งที่แล้วเราพิจารณาวิธีป้องกันรูปแบบง่ายๆ สำหรับไฟล์เซิร์ฟเวอร์ Windows โดยใช้ FSRM วันนี้เราจะพูดถึงวิธีกู้คืนไฟล์อย่างง่าย หาก Ransomware ได้โจมตีเข้าเครื่องและเข้ารหัสเอกสารของผู้ใช้แล้ว

วิธีง่ายที่สุดในการกู้คืนไฟล์ต้นฉบับหลังโดน Ransomware เข้ารหัส คือกู้คืนจากสำรองข้อมูล (Backup) คุณสามารถจัดทำ Backup แบบรวมศูนย์บนไฟล์เซิร์ฟเวอร์ได้ แต่การ Backup ข้อมูลบนคอมพิวเตอร์ผู้ใช้งานนั้นยากกว่า โชคดีที่ Windows มีกลไกสำรองข้อมูล built-in คือ Shadow Copies ที่สร้างโดย Volume Shadow Copy Service (VSS)

เพื่อให้สามารถกู้คืนเวอร์ชันก่อนหน้าของไฟล์จาก VSS Snapshot ได้ ต้องมีเงื่อนไขดังนี้:

  • VSS ต้องเปิดใช้งานสำหรับโวล्यूमที่ต้องการป้องกัน
  • ต้องมีพื้นที่ว่างบนดิสก์เพียงพอสำหรับเก็บ Snapshot (อย่างน้อย 10-20%)
  • ผู้ใช้ไม่ควรมีสิทธิ์ Local Administrator บนคอมพิวเตอร์ (มัลแวร์เข้ารหัสสมัยใหม่เมื่อรันด้วยสิทธิ์สูงจะลบ VSS Snapshot ทั้งหมด) และ User Account Control (UAC) ต้องเปิดใช้งาน

มาพิจารณาเมคานิซึมที่ช่วยจัดการนโยบายการสร้าง Snapshot แบบรวมศูนย์ในสภาพแวดล้อม Active Directory และกู้คืนไฟล์ต้นฉบับหลังโจมตี Ransomware เข้ารหัสได้อย่างง่ายดาย

เนื้อหา:

  • วิธีเปิดใช้งาน VSS บนคอมพิวเตอร์ในโดเมนด้วย GPO
  • วิธีก็อปปี้ Vshadow.exe ไปยังคอมพิวเตอร์ผู้ใช้ด้วย GPO
  • PowerShell Script สร้าง Shadow Copies ของทุกโวลยูม
  • Scheduled Task สร้าง VSS Snapshots
  • วิธีกู้คืนไฟล์ต้นฉบับจาก VSS Snapshot
  • สรุป

วิธีเปิดใช้งาน VSS บนคอมพิวเตอร์ในโดเมนด้วย GPO

ขั้นแรก สร้าง Group Policy เพื่อเปิดใช้งาน Volume Shadow Copy (VSS) Service บนคอมพิวเตอร์ในโดเมน ในคอนโซล GPMC.msc สร้าง GPO ใหม่ชื่อ VSSPolicy และกำหนดให้ OU ที่มีคอมพิวเตอร์ผู้ใช้

ตอนนี้แก้ไข GPO ของคุณ ในรายการบริการใน Computer Configuration->Windows Settings->Security Settings->System Service หา Volume Shadow Copy และตั้งค่า Start type เป็น Automatic

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

วิธีก็อปปี้ Vshadow.exe ไปยังคอมพิวเตอร์ผู้ใช้ด้วย GPO

เพื่อสร้างและจัดการ Shadow Copies บนคอมพิวเตอร์ผู้ใช้ เราต้องการเครื่องมือ vshadow.exe จาก Windows SDK ในตัวอย่างนี้ เราจะใช้ vshadow จาก SDK สำหรับ Windows 7 x64 (ในกรณีของผม ทำงานถูกต้องทั้งใน Windows 7 และ Windows 10 x64) คัดลอก vshadow.exe ไปที่ %windir%\system32 บนคอมพิวเตอร์ทุกเครื่องโดยใช้ GPP

Tip. คุณสามารถดาวน์โหลด vshadow.exe ได้จากลิงก์นี้: vshadow_exe_win7x64.zip

จากนั้นใน Computer Configuration -> Preferences -> Windows Settings -> Files สร้าง Policy ใหม่ที่คัดลอก vshadow.exe จาก \\domain.loc\SYSVOL\domain.loc\scripts\vshadow.exe (ไฟล์ต้องถูกคัดลอกมาที่นี่ก่อนหน้า) ไปยัง %windir%\system32\vshadow.exe. Policy นี้สามารถตั้งค่าให้ทำงานเพียงครั้งเดียว (Apply once and do not reapply)

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

PowerShell Script สร้าง Shadow Copies ของทุกโวลยูม

ต่อมา เราต้องการสคริปต์เพื่อตรวจจับรายการไดรฟ์ในระบบ เปิดใช้งาน Shadow และสร้าง VSS Snapshot ใหม่ ผมได้สคริปต์ดังนี้:

$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
}

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

บรรทัดแรกช่วยหาไดรฟ์ทั้งหมดในระบบ และ vshadow จะเปิดใช้งาน shadow สำหรับแต่ละดิสก์และสร้าง Copy ใหม่ Copies ควรใช้พื้นที่น้อยกว่า 10%

บันทึกสคริปต์นี้เป็นไฟล์ vss-script.ps1 และคัดลอกไปยังคอมพิวเตอร์ผู้ใช้ด้วย GPP เช่นกัน

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

Scheduled Task สร้าง VSS Snapshots

สิ่งสุดท้ายคือสร้าง Scheduled Task บนคอมพิวเตอร์ทุกเครื่องเพื่อรัน vss-script.ps1 เป็นประจำและสร้าง Snapshot ใหม่สำหรับทุกไดรฟ์ ง่ายกว่าคือสร้าง Task นี้ด้วย GPP ในส่วน Computer Configuration -> Preferences -> Scheduled Tasks สร้าง Scheduled Task ใหม่ (New-> Scheduled Task (at least Windows 7)) ชื่อ create vssnapshot ซึ่งต้องรันด้วยสิทธิ์สูงเป็น NT AUTHORITY\System.

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

สมมติ Task ต้องรันทุกวันเวลา 13:20 (คุณต้องตัดสินใจว่าต้องการสร้าง Snapshot บ่อยแค่ไหน)

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

สคริปต์ที่จะรัน: %windir%\System32\WindowsPowerShell\v1.0\powershell.exe

พร้อมอาร์กิวเมนต์ %windir%\system32\vss-script.ps1

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

Tip. นอกจากนี้ คุณต้องจัดทำ Scheduled Task รายสัปดาห์เพื่อลบ VSS Snapshot เก่าๆ ด้วย สร้าง Scheduled Task ใหม่ที่รันสคริปต์คล้ายกันที่มีโค้ดดังนี้:

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

วิธีกู้คืนไฟล์ต้นฉบับจาก VSS Snapshot

หากคอมพิวเตอร์ของผู้ใช้ถูก Ransomware โจมตี ผู้ดูแลระบบหรือทีมเทคนิคสามารถกู้คืนเอกสารที่ถูกเข้ารหัสจาก Snapshot ได้

รายการ Snapshot ที่พร้อมใช้งานทั้งหมด แสดงได้ด้วยคำสั่ง:

vssadmin.exe list shadows

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

ในตัวอย่าง Snapshot ล่าสุดถูกสร้างเมื่อ 10/6/2016 1:33:35 AM และมี Shadow Copy ID = {6db666ac-4d42-4734-8fbb-fad64825c66c}

Mount Snapshot นี้ในโหมด Read-only เป็นไดรฟ์ระบบแยกต่างหากด้วย ID:

vshadow -el={6db666ac-4d42-4734-8fbb-fad64825c66c},Z:

กู้คืนไฟล์ที่ถูกเข้ารหัสจาก VSS Snapshot หลังโดน Ransomware

ตอนนี้ ใช้ File Explorer หรือ File Manager อื่นๆ คัดลอกไฟล์ต้นฉบับจากไดรฟ์ Z:

เพื่อยกเลิกการ Mount ไดรฟ์ที่มี Snapshot:

mountvol Z:\ /D

สรุป

แน่นอน VSS ไม่ใช่การป้องกัน Ransomware และไม่ยกเลิกแนวทางรักษาความปลอดภัยที่ครอบคลุม (ซอฟต์แวร์แอนตี้ไวรัส นโยบาย SRP / AppLocker ตัวกรองความน่าเชื่อถือ SmartScreen เป็นต้น) อย่างไรก็ตาม ตามความคิดของผม простота และความพร้อมใช้งานของการคัดลอก Shadow Volume เป็นข้อได้เปรียบมหัศจรรย์ของวิธีกู้คืนข้อมูลที่ถูกเข้ารหัสนี้ ซึ่งน่าจะมีประโยชน์หากมัลแวร์เจาะเข้าเครื่องของผู้ใช้