Python Forensics - Virtualización

Virtualizationes el proceso de emular sistemas de TI como servidores, estaciones de trabajo, redes y almacenamiento. No es más que la creación de una versión virtual en lugar de real de cualquier sistema operativo, un servidor, un dispositivo de almacenamiento o procesos de red.

El componente principal que ayuda en la emulación de hardware virtual se define como un hyper-visor.

La siguiente figura explica los dos tipos principales de virtualización de sistemas que se utilizan.

La virtualización se ha utilizado en la informática forense de varias formas. Ayuda al analista de tal manera que la estación de trabajo se puede utilizar en un estado validado para cada investigación. La recuperación de datos es posible adjuntando la imagen dd de una unidad como unidad secundaria en una máquina virtual en particular. La misma máquina se puede utilizar como software de recuperación para recopilar las evidencias.

El siguiente ejemplo ayuda a comprender la creación de una máquina virtual con la ayuda del lenguaje de programación Python.

Step 1 - Deje que la máquina virtual se llame 'dummy1'.

Cada máquina virtual debe tener 512 MB de memoria en capacidad mínima, expresada en bytes.

vm_memory = 512 * 1024 * 1024

Step 2 - La máquina virtual debe estar conectada al clúster predeterminado, que se ha calculado.

vm_cluster = api.clusters.get(name = "Default")

Step 3 - La máquina virtual debe arrancar desde la unidad de disco duro virtual.

vm_os = params.OperatingSystem(boot = [params.Boot(dev = "hd")])

Todas las opciones se combinan en un objeto de parámetro de máquina virtual, antes de usar el método de adición de la colección vms a la máquina virtual.

Ejemplo

A continuación se muestra la secuencia de comandos de Python completa para agregar una máquina virtual.

from ovirtsdk.api import API #importing API library
from ovirtsdk.xml import params

try: #Api credentials is required for virtual machine
   api = API(url = "https://HOST", 
      username = "Radhika", 
      password = "[email protected]", 
      ca_file = "ca.crt")
      
   vm_name = "dummy1"
   vm_memory = 512 * 1024 * 1024 #calculating the memory in bytes
   vm_cluster = api.clusters.get(name = "Default")
   vm_template = api.templates.get(name = "Blank")
   
   #assigning the parameters to operating system
   vm_os = params.OperatingSystem(boot = [params.Boot(dev = "hd")])
   
   vm_params = params.VM(name = vm_name,
      memory = vm_memory,
      cluster = vm_cluster,
      template = vm_template
      os = vm_os)

   try: 
      api.vms.add(vm = vm_params) 
      print "Virtual machine '%s' added." % vm_name #output if it is successful. 
   except Exception as ex: 
      print "Adding virtual machine '%s' failed: %s" % (vm_name, ex) 
      api.disconnect()
      
except Exception as ex: 
   print "Unexpected error: %s" % ex

Salida

Nuestro código producirá el siguiente resultado: