Shadow copy y seguridad forense

Introducción

Volume Shadow Copy Service, VSS, es una herramienta de Control de versiones que forma parte de Microsoft Visual Studio. Por ejemplo,es posible recuperar versiones anteriores de un determinado fichero con extrema comodidad. Desde el punto de vista del usuario, VSS es como una pequeña máquina del tiempo integrada en el sistema que permite retroceder y obtener información generada en el pasado.

shadow copy forensics

Esto es posible ya que VSS ejecuta copias en un determinado volumen, en un momento específico del tiempo a intervalos regulares, permitiendo que el usuario restaure versiones previas con suma comodidad. Aunque, desde el punto de vista forense, VSS podría ser mirado con otros ojos: el analista forense, en caso de querer recuperar material, no necesita realizar carving del espacio no asignado, ni reconstrucciones específicas de bloques del sistema de ficheros, ni nada parecido. Podría bastarle con acceder a una shadow copydeterminada, y recuperar allí cómodamente lo que se anda buscando.

Estos servicios se implementaron originalmente en Windows XP SP2, si bien en aquel entonces el concepto era totalmente distinto, habida cuenta que las copias que se producen en dicho sistema no son persistentes. Las primeras funcionalidades de copia persistente, es decir, la que no desaparece aunque se reinicie el sistema, se remontan a Windows 2003, y desde entonces todas las versiones, Vista, Windows 7 y 2008 han ido añadiendo soporte a los servicios VSS no persistentes, con ligeras variaciones. Windows 7 es el primer sistema que además de incorporar servicios nativos VSS, dispone de un interfaz gráfico para su gestión.

Determinación del proveedor de servicio VSS y presencia de copiasshadow

Para identificar la presencia de VSS recurrimos al comando vssadmin, que permite enumerar los proveedores existentes:

shadow copy forensics

Como se puede apreciar, esta máquina dispone de servicios VSS, con lo que el siguiente paso sería determinar si VSS ha generado copias, para lo cual también usaremos vssadmin:

shadow copy forensics

En la última captura, el sistema me informa de la existencia de dos copiasshadow en mi sistema. Existirá siempre una traducción entre el volumen original y la shadow copy correspondiente, en este caso, el volumen original es (C:)\\?\Volume{b072baad-d0ae-11df-ae4c-806e6f6e6963}\ y dicho volumen tiene asociadas dos copias, \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1 y \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2

Extracción forense de las copias shadow

Para ilustrar cómo se analizan las copias vamos a ejecutar la extracción en el sistema en ejecución. Por favor, hay que tener  en cuenta que cuando se hace una adquisición en un sistema que está en ejecución, cualquier cosa que ejecutemos provocará cambios en el sistema, especialmente si traemos herramientas externas al sistema. . En este caso, para simplificar el proceso, emplearemos dd.exe para Windows desde el propio sistema, aunque esta operación es posible realizarla por ejemplo, desde una máquina Unix de análisis forense conectada en red con la máquina a analizar. Al ser volúmenes, desde un punto de vista de dd, es posible realizar una copia bit a bit de dichos volúmenes al igual que las haríamos en otro volumen convencional. El único requisito que tenemos que tener presente es que las copias sólo son accesibles con el sistema en ejecución, es decir, los volúmenes no pueden ser consultados si el sistema que las genera no está cargado.

Para realizar la copia, necesitaremos recordar la nomenclatura de los dispositivos que hemos identificado anteriormente. Tampoco perder de vista que al extraer una copia shadow, obtendremos una imagen del sistema a analizar, independientemente de que el método de conservación se base en detecciones incrementales de cambios, con lo que es de esperar un tamaño elevado, especialmente en las versiones modernas de Windows, que suelen tener un tamaño base importante. Y tamaño elevado siempre implica tiempo elevado, especialmente en unidades de disco que no son de estado sólido:

C:\forensics>dd if=\\.\HarddiskVolumeShadowCopy2 of=c:\forensics\shadow.dd

Esta copia puede ser después montada en la estación forense para realizar las tareas habituales, tales como generación de una línea temporal, búsqueda de cadenas, y carving de ficheros eliminados. Una vez extraída no sufriremos la dependencia del sistema operativo que las ha generado, y podemos aplicar las técnicas de análisis que estimemos oportunas.

Examen mediante enlaces simbólicos

Es posible realizar un examen en el sistema en ejecución mediante enlaces simbólicos. Este método puede ser útil si lo que se desea es acceder a los contenidos de la copia shadow para una inspección visual rápida. Para esta operativa se emplea el comando nativo mklink con la opción -d que indica que queremos realizar un enlace mediante un directorio:

C:\windows\system32>mklink /d c:\copiashadow \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\
symbolic link created for c:\copiashadow < <===>> \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\

No olvidés cerrar el volumen con \, de lo contrario, no podréis acceder a los contenidos. Una vez creado el enlace se puede analizar cómodamente. Aquí se muestra un ejemplo de la segunda copia shadow, que además, incluye otros enlaces simbólicos creados anteriormente. Este directorio es totalmente navegable, y por defecto, montado en sólo lectura.
shadow copy forensics

Implicaciones forenses

Las implicaciones prácticas de las shadow copies son inmediatas. Puedo eliminar un fichero del sistema, e instantáneamente, recuperarlo de la copia. En este ejemplo eliminamos el fichero Thumbs.db en el volumen anfitrión, pero ese fichero está disponible en la shadow copy que hemos enlazado:

shadow copy forensics

Planteamientos como la extremadamente fácil recuperación forense de información en volúmenes de este tipo, cabe preguntarse si merece la pena emplearlos o no. Desde el punto de vista del usuario en la mayoría de las ocasiones sólo se apreciará lo cómodo que es recuperar un fichero borrado o sobreescrito accidentalmente, pero no todo el mundo es consciente de la cantidad de trazas que están dejando tras de sí, lo que pone en bandeja al analista forense la recuperación de información. Ni que decir tiene que ese analista forense podría ser también un usuario malicioso con acceso al disco.

Anuncios