Como usar em WindowsVolume Shadow Copy com Python

Olá! temos falado frequentemente sobre o VSS (Windows volume shadow copy) e as vantagens e riscos que ele implica. Desta vez vamos falar sobre como fazer o backup de qualquer ficheiro do windows, tanto do sistema como dos ficheiros dos utilizadores. Há muitos ficheiros que não podem ser lidos e escritos como estão em áreas protegidas do sistema, com o VSS (Windows volume shadow copy) este problema não existe uma vez que os ficheiros não estão localizados na área restrita do sistema e a protecção está desactivada para eles.

import win32com.client
import os
from shutil import copyfile
def vssList():
   wcd=win32com.client.Dispatch("WbemScripting.SWbemLocator")
   wmi=wcd.ConnectServer(".","root\cimv2")
   obj=wmi.ExecQuery("SELECT * FROM win32_ShadowCopy")
   return [x.DeviceObject for x in obj]
   
def vssCreate():
   wmi=win32com.client.GetObject("winmgmts:\\\\.\\root\cimv2:Win32_ShadowCopy")
   createmethod = wmi.Methods_("Create")
   createparams = createmethod.InParameters
   createparams.Properties_[1].value="c:\\"
   results = wmi.ExecMethod_("Create",createparams)
   return results.Properties_[1].value

if __name__ == "__main__":
   print(vssCreate())
   list = vssList()
   copyfile("{0}\\Windows\\System32\\drivers\\etc\hosts".format(list[0]), "c:\\nuevo")
   

 

Este método pode ser utilizado para implementar um sistema de backup a partir de VSSs do Windows. Pode também servir como uma forma de se tornar persistente num sistema depois de o explorar, já que muitos anti-vírus não incluem o SAV nas suas varreduras de sistema por defeito. Isto pode ser utilizado da seguinte forma, após a exploração do sistema:

  1. O sistema é comprometido e o binário é copiado para o local final.
  2. Lançamento da criação de VSS (cópia de sombra de volume do Windows).

Desta forma, já temos uma cópia “segura” do binário malicioso no sistema.

Isto também é utilizado por ransomware, o que eles fazem é lançar uma cópia VSS e encriptar os ficheiros a partir dela, apagando os originais do disco. Assim, é por vezes possível recuperar ficheiros destes SAV se fomos infectados por um destes malwares e estes malwares não apagam o SAV após encriptar os ficheiros.

É importante que se um sistema foi infectado e vai ser “limpo” e utilizado novamente (não sou a favor disso, sou a favor da reinstalação) que o SAV seja purgado para evitar que o problema volte a aparecer.

Deixe um comentário