Hace ya tiempo se habló en Hacktimes de los beneficios e inconvenientes de lanzarse a virtualizar como un poseso embriagado por las múltiples ventajas que la tecnología ofrece (http://www.hacktimes.com/riesgos_de_la_virtualizaci_n/).
Desde el punto de vista del análisis forense, con el cambio de tecnología, es preciso modificar los hábitos ya que no es lo mismo analizar un servidor físico que uno virtual. Además, las herramientas a utilizar también son diferentes. Un problema añadido es que en numerosas ocasiones se ha visto como, después de una actividad sospechosa, se ha eliminado directamente la máquina virtual (VM) y se ha vuelto a un Snapshot previo.
En el caso de VMWare, que es el software de virtualización más utilizado actualmente, es importante repasar para qué sirve cada uno de los ficheros existentes en cualquier instalación:
- .VMX: fichero de texto con la configuración del hardware de la máquina virtual. Se puede editar para realizar cambios en la configuración pero siempre con cuidado.
- .VMSD: archivo de descripción (metadatos) del Snapshot de VMWare utilizado para la creación y mantenimiento de los Snapshots.
- .NVRAM: fichero binario de configuración de la BIOS de la VM.
- .VSWP: archivo de la memoria de intercambio (swap).
- .VMTM: fichero de configuración de los datos del Team.
- .VMXF: archivo de configuración complementario que controla las máquinas virtuales que pertenecen a un Team. Si una máquina virtual (VM) se ha eliminado del servidor, el fichero se mantiene.
- .VMDK: (Virtual Machine Disk) fichero del disco duro virtual que contiene el Sistema Operativo de la VM.
- .VMSN: fichero que guarda el estado del Snapshot de la VM.
- .VMSS: (VMware.SuspendState) archivo que controla el estado de suspensión de la VM, se guara el estado en el que se ha suspendido la VM al realizar una pausa.
- .VMEM: copia de la memoria de la VM.
- .LOG: como su extensión indica son los ficheros de LOG de VMWare que registran la actividad de cada máquina virtual. Se encuentran localizados en el mismo directorio que contiene el fichero de configuración de la màquina virtual (.vmx) y tienen el siguiente formato:
Jan 31 11:45:10.152: vmx| Log for VMware Workstation pid=4020 version=7.0.0 build=build-203739 option=Release
Jan 31 11:45:10.152: vmx| The process is 32-bit.
Jan 31 11:45:10.152: vmx| Host codepage=windows-1252 encoding=windows-1252
Jan 31 11:45:10.152: vmx| Hostname=hacktimes
Jan 31 11:45:10.157: vmx| IP=(Unknown)
Jan 31 11:45:10.158: vmx| IP=10.96.61.4
etc.
También es importante conocer qué procesos utiliza una instalación de VMware y qué puertos TCP necesita para su funcionamiento. Existen diferentes versiones de VMWare ya sea para entornos de escritorio (VMWare Workstation, Player, etc.) o de servidor (VMWare Server, ESX, etc.).
VMWare Player, por ejemplo, arranca los siguientes procesos: vmount2.exe, vmnat.exe, vmnetdhcp.exe y vmware-authd.exe y utiliza los puertos 8222 y 8307.
VMWare Server tiene un inferface web de administración basado en Apache Tomcat en los puertos 8005 y 8333, también utiliza los puertos 902 y 912 para el servicio de autorización y permitir iniciar sesión. El servidor web de ESX y ESXi ya funciona por defecto en los puertos 80 y 443.
HERRAMIENTAS
Es relativamente fácil copiar los datos en un entorno virtual para no alterar la información original y salvaguardar la misma para evitar manipular posibles evidencias. Una vez obtenida la copia de la máquina virtual que se va a analizar, es útil disponer de las siguientes herramientas:
1) Para comparar diferentes instantáneas de una máquina virtual y detectar cambios es muy interesante una sencilla herramienta creada hace unos años por Zairon denominada Compare Snapshots (http://www.box.net/shared/static/bn4gj83n49.zip).

2) Live View (http://liveview.sourceforge.net/) es una aplicación gráfica programada en Java que se utiliza para analizar la información de un disco duro, ya que permite crear una imagen VMware con dicho disco y lanzarla desde cualquier escritorio.
Live View es capaz de crear una imagen virtual VMware desde una imagen (dd) o, incluso, desde un disco físico. Se puede así arrancar la imagen o el disco y acceder al entorno tal y como era. Además, si es preciso introducir alguna alteración, ésta puede posteriormente revertirse y volver al estado inicial.
3) Otra herramienta muy útil es Memparser (http://sourceforge.net/projects/memparser/) que funciona bajo Windows y que permite analizar un fichero .VMEM para hacer un volcado de la memoria RAM de la VM y poder revisar qué procesos estaban en ejecución, conexiones activas, etc.
C:\Somedir>memparser hacktimes.vmem
Process List:
Proc# PPID PID InProcList Name: Threads: 10
0 0 0 Yes Idle
1 5 8 Yes System
2 9 120 Yes TrojanNotepad.EXE
3 110 134 Yes CSRSS.EXE
COMANDOS CLI DE VMWARE
También se puede obtener información directamente con los propios comandos de VMWare ESXi. Si lo que se necesita es revisar y analizar una máquina virtual concreta presente en un servidor ESXi, se puede conectar a la consola del servidor VMWare ESXi por SSH (Secure Shell) y ejecutar comandos tales como:
vim-cmd vmsvc/getallvms: para listar todas las máquinas virtuales ejecutándose en el servidor
vim-cmd vmsvc/destroy vmid: borra los discos duros virtuales .VMDK y los ficheros de configuración .VMX del servidor
chkconfig -l: muestra los servicios que están corriendo en el servidor ESXi y permite modificar la configuración
esxcfg-info: enumera gran cantidad de información sobre el host ESXi
esxcfg-nics-l: muestra información acerca de las tarjetas de red
esxtop: comando similar al "top" de los sistemas linux
vim-cmd solo/registervm /vmfs/vol/datastore/dir/hacktimes.vmx: registra la máquina virtual denominada hacktimes en el servidor ESXi
vim-cmd vmsvc/unregister vmid: anula el registro de una VM del servidor
El procedimiento para adquirir, de forma segura, la partición donde reside el sistema que se quiere analizar, sería similar al seguido para un entorno no virtualizado (generar una imagen sin ejecutar ningún comando ni modificar nada dentro de la VM, establecer integridad y fidelidad en los ficheros adquiridos y apoyar la cadena de custodia):
1) Se conecta vía SSH al host ESXi y se ejecuta desde la línea de comandos esxcfg-info y así se determina dónde se guardan los ficheros de la VM deseada.
2) A continuación, se capturan los archivos relevantes que se han visto anteriormente (.VMX, .VMSN y .VMDK). Es posible, incluso, generar un fichero hash para garantizar la integridad de esos archivos capturados porque VMWare ESXi dispone de una versión de OpenSSL instalada con la que generar dicho hash y asociarlo al archivo y así asegurar que los mismos no han sido alterados.
3) Por último, se comprueba que los ficheros adquiridos estén correctamente.


Comentarios
Añadir comentario