Análisis forense de Volume Shadow Copy Service (Shadow Copy, VSS)

Hola,

Una de las cosas más interesantes que pude revisar en el reciente curso 508 de SANS es cómo tratar el Volume Shadow Copy Service (VSS), más comunmente conocido como Shadow Copy. Aprovechando que tengo aquí una licencia de Windows 7 Professional, me he decidido a explorar un poco este servicio y a relataros desde el punto de vista forense sus implicaciones.

Introducción

Volume Shadow Copy Service, en adelante VSS, es una tecnología de Microsoft que opera a nivel de bloque, es decir, en el sistema de ficheros. Por poner un ejemplo, mediante esta tecnología los usuarios, usando el botón derecho el ratón, pueden 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 copy determinada, 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 copias shadow

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

shadow copy forensics

Perdonad que el tamaño de las capturas invadan parte del contenido dinámico a la derecha, pero quizás de este modo se lean mejor los comandos. 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 copias shadow 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, tened 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. No perdáis esto de vista, y tratad siempre de extraer desde un volumen externo evitando alterar el sistema a analizar instalando herramientas. 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 perdáis 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.

Disyuntivas como estas sugieren que el tratamiento de VSS requiere un estudio particular para cada caso. En algunas ocasiones no habrá importancia en el hecho de ir dejando copias incrementales de todo lo que hacemos con el sistema, pero también es lógico pensar que algunos usuarios quizás prefieran no dejar esas trazas. Un debate abierto en el que es difícil alcanzar consenso, especialmente si añadimos el impacto a los recursos de almacenamiento que provocan las copias shadow y las más que obvias implicaciones en la privacidad, especialmente en entornos empresariales donde los usuarios empleen la máquina para almacenar efectos personales, como documentos, fotografías y claves, por poner alguos ejemplos.

Quiero imaginar que a medida que las organizaciones que actualmente operan en XP vayan migrando a Windows 7, este problema empezará a ser tratado con regularidad y los usuarios y administradores comenzarán a tener un conocimiento más preciso de lo que son las copias shadow, su utilización y los impactos en la privacidad y el rendimiento de los sistemas. Independientemente de lo que se termine realizando, la presencia de estas tecnologías en el sistema base debe conducir inexorablemente al análisis desde todos los puntos de vista, no sólo en cuanto a la funcionalidad técnica y a la seguridad, sino incluso a la legal que deriva de la realización de copias que podrían ser desconocidas para los usuarios, y que podrían contener información personal que el usuario cree haber eliminado.

Ni que decir tiene que las copias shadow se pueden desactivar. Consulta la documentación de tu sistema operativo si crees conveniente su eliminación.

Un saludo,

Premios Bitácoras 2010. Redescubriendo 15 blogs interesantes

Buenas,

Viendo que anda la comunidad algo revolucionada con la inminente entrega de los premios Bitácoras 2010 en la categoría de Seguridad Informática, voy a aprovechar la ocasión para hacer mis recomendaciones. La verdad, no he seguido mucho el proceso, pero ahora que hay una lista de 100 blogs, creo que es el momento oportuno, independientemente de a quien se haya votado (la votación está ya cerrada), de barrer la lista y hacer mis recomendaciones. En orden alfabético, por eso de huir un poco de las preferencias, yo me quedo con:

  1. 48bits. Aunque sus autores centran casi toda su actividad en Twitter, aquí tenemos a un sinfín de cracks tras el blog. Javier, Rubén, Juan, Joxean, Hugo … Me gustaría que publicaran más, y con más regularidad. Son definitivamente de lo mejor que tenemos en temas de seguridad, y si los pongo en la lista es principalmente con la idea de espolearles para que publiquen más :)
  2. Apuntes de seguridad de la información. No aparece en la lista de los premios, pero ni falta que le hace. Javier lleva muchos años al pie del cañón publicando contenidos regularmente, con originalidad, profesionalidad y cubriendo diversas temáticas de mi interés. Para mí, uno de los indispensables.
  3. Comunidad DragonJAR, publican muchos contenidos, muy variados, y la verdad es que es uno de esos sitios que siempre te sorprende por la cantidad de sus contenidos así como su calidad. Definitivamente, entre mis favoritos.
  4. Conexión inversa. Tuve ocasión de coincidir en Zaragoza, mucho tiempo atrás, con su autor. Os puedo decir que es de estas personas que levanta poco ruido en la red, pero atesora un conocimiento y una experiencia extremadamente amplios. Es una pena que no tenga tiempo para escribir más sobre todo lo que domina, que no es poco. Espero que durante 2011 Pedro tenga un poco más de tiempo para contarnos cosas.
  5. Daboblog. David es una de las personas a las que sigo con regularidad, y ya hace bastante tiempo de ello. Es una persona con amplios conocimientos en el mundo GNU/Linux y la seguridad, y me gusta como escribe. Muy recomendable. Además mantiene y participa en una comunidad mayor, Daboweb, y desde hace algún tiempo, graba interesantes podcasts.
  6. Fernando Acero. Otro coloso detrás del teclado. Fernando lleva años demostrando que es una persona con criterio, sabiduría y con una amplia experiencia, que por cierto nada tiene que ver con lo que hace lejos de los teclados. Es un placer leerle.
  7. Gurú de la informática. Otro de esos tantos blogs repletos de calidad que pasa apenas inadvertido. No aparece en la lista. Lo recomiendo.
  8. Pentester.es, el blog de los Joses (Holguin y Selvi). Dos auténticos cracks a los que da gusto leer. Eminentemente técnico, escrito con detalle y atención, nunca dejan de sorprenderme. También aconsejables ambos en Twitter, donde publican con regularidad enlaces interesantes.
  9. S21Sec Blog. Tienen a un innumerable equipo de expertos detrás, y la verdad, además de tratar temas interesantes y con regularidad, aportan al mundo de la seguridad y auditoría una visión desde el punto de vista empresarial que sigo con detenimiento. Especiamente interesante cuando hablan de SCADA y E-crime.
  10. Samurai Blanco. Otro de mis favoritos. Seguridad, auditoría, fraude, es un blog repleto de contenidos muy interesantes que definitivamente recomiendo a todos. Yo disfruto bastante con sus aportaciones.
  11. Security art Work. Definitivamente un blog profesional escrito por profesionales. Tienen un punto de vista de las cosas que a mí particularmente me encanta, con lo que los sigo con regularidad. Gente seria tratando temas serios.
  12. Security by Default. Creo que han aportado un concepto nuevo a este mundillo, crean noticias frescas y con regularidad, y barren temáticas técnicas y no técnicas. Tienen detrás a gente muy experimentada que sabe lo que dice y hace: Alejandro, José, Alberto, Lorenzo y Yago. Y además, saben escrbir para contentar a todos los públicos.
  13. Seguridad y Redes. El blog de Alfon. Otro de los que levanta poco ruido, pero que luego no deja de crear contenidos muy interesantes. Bastante relevante en lo que a contenido técnico se refiere. Indispensable.
  14. Seguridad y gestión. Escrito por Joseba Enjuto, me gustan las temáticas que trata y la profesionalidad con la que escribe. No aparece en la lista, pero definitivamente está entre mis favoritos.
  15. Un informático en el lado del mal. Aunque sectáreo como él solo, y continuamente empeñado en que los del lado oscuro sólo tenemos en mente conspiraciones diversas en contra de sus amigos de Redmond, Chema tiene un excelente conocimiento técnico y lo demuestra regularmente con contenidos abundantes y variados, generalmente técnicos.

Que nadie se sienta ofendido si no aparece en la lista. Son muchos más los blogs que leo, y aprovecharé otras ocasiones para mencionarlos :)

Un saludo,