Técnicas Anti-forenses con VMWare Juan R. Anabalón R., Eric Donders O. jar@monkeyslab.com, edonders@live.cl Departamento de Ingeniería Informática, Universidad de Santiago de Chile Av. Ecuador 3659, Santiago, Chile. Palabras clave: Covering Tracks VMWare Anti-forensics Pentest Resumen: El uso de las máquinas virtuales tiene el doble propósito para los atacantes de proveer de un ambiente de preparación para los ataques como la facilidad de borrar las evidencias que pueden ser utilizadas para imputar delitos. En este artículo revisaremos algunas técnicas para ocultar huellas a través del uso de máquinas virtuales. 1. Introducción Los investigadores forenses hoy en día ven que los hacker están utilizando nuevas técnicas para perpetrar sus ataques y que esto influye simétricamente la forma en que se realiza el análisis forense digital. Ya no basta con desconectar el computador de su fuente de alimentación, tomar una imagen de disco protegida contra escritura, examinar la evidencia y entregar un informe en la Corte. Actualmente las máquinas virtuales se utilizan en el mundo corporativo para optimizar el uso de recursos físicos de un Data Center, sin embargo, estas mismas herramientas son utilizadas por los hackers para perpetrar ataques informáticos, obtener lo que se quería y borrar rápidamente la evidencia que pueda ser periciada por un perito forense en caso de ser investigado por una corte. En este paper se analizará la forma de encontrar evidencia de archivos sustraídos en máquinas virtuales por parte de un atacante y se darán recomendaciones de técnicas antiforenses para cubrir huellas. Universidad de Santiago de Chile Este documento está organizado como sigue: 2) breve descripción del proceso forense digital; 3) Un breve análisis sobre la recuperación de archivos borrados y el sistema de archivos Unix; 4) Contexto y justificación de la investigación; 5) Materiales utilizados; 6) Resultado del análisis y recomendaciones de técnicas antiforenses; 7) Conclusiones; 8) Referencias. 2. Proceso forense digital El proceso Forense Digital es una forma estructurada de manejar las investigaciones que contemplan sistemas de proceso de información, para minimizar errores que sean causal de desprecio en el proceso judicial. Este proceso consta de tres etapas bien definidas[1][2]. 2.1.Adquisición La fase de adquisición describe como los datos deben ser adquiridos desde distintas fuentes de información (computadores, teléfonos móviles, servidores redes etc.). Estos datos deben ser adquiridos de tal manera que se conserve la integridad y autenticidad Página 1 de estos. 2.2. Examen El proceso de examen de la evidencia tiene por finalidad explicar su origen. Se trata de dejar ver información oculta, ofuscada y documentación relevante. 2.3. Análisis Esta etapa observa el significado de la información obtenida producto del examen y su valor probatorio para el caso investigado. 2.4. Reporte En esta etapa se escribe un informe en la que se proporciona evidencia probatoria del caso y su debida interpretación. 3. Recuperación de archivos borrados La recuperación de archivos borrados puede ser necesaria cuando un atacante quiere borrar sus huellas, para que de esta manera la evidencia no pueda ser encontrada ni atribuida a su ilícito o crimen. Uno de los métodos para poder recuperar archivos borrados es duplicar los datos desde el dispositivo. De esta manera se puede trabajar con una copia fiel de los datos y se evita la manipulación de los datos originales, conservando de esta manera la integridad de estos. Para poder recuperar archivos borrados se debe conocer sobre el funcionamiento del sistema de archivos con el que se está trabajando. Un sistema de archivos es un traductor de protocolo: interpreta las solicitudes entrantes y las transforma en Universidad de Santiago de Chile una forma adecuada para almacenar y recuperar datos[3]. En Unix el sistema de archivos más utilizado es el Unix File System (UFS) que es un derivado del Berkeley Fast File System (FFS)[4] y es utilizado por FreeBSD, NetBSD, OpenBSD, NeXTStep, Solaris etc. Sin embargo, MAC OS X utilizaba una variante llamada Hierarchical File System (HFS) en las versiones previas a 8.1, actualmente utiliza una versión extendida HFS+ que optimiza las capacidades de almacenamiento en discos grandes[5]. Microsoft Windows por su parte utiliza New Technology File System (NTFS) que deriva del High Performance File System (HPFS). 4. Contexto Según EC-Council, existen 5 fases para hackear sistemas[6]: Reconnaissance (Reconocimiento): La fase de reconocimiento tiene por finalidad el descubrimiento de información útil para ser usada en un ataque. Por ejemplo, tipo de servidor web, sistema operativo utilizado etc. Esta información puede permitir a un hacker encontrar vulnerabilidades en esa versión y aprovechar esta vulnerabilidad para acceder posteriormente. Scanning (exploración): El scanning consiste en tomar la información descubierta durante el reconocimiento y usarlo para buscar información n la red objetivo como direcciones IP, cuentas de usuario etc.. En esta fase se puede utilizar distintas herramientas informáticas Página 2 como mapeadores de red, escáner de puertos etc. Gaining Access (Ganar Acceso): En esta fase es cuando la actividad de hacking ocurre. Las vulnerabilidades encontradas en las etapas anteriores son utilizadas. Maintaining Access (Mantener acceso): Una vez se ha accedido al sistema, un hacker se asegura de mantener el acceso a los sistemas vulnerados. Asimismo, los sistemas hackeados pueden ser utilizados para perpetrar ataques adicionales a otros sistemas. Covering Tracks (Borrado de huellas): Una vez que los hacker han asegurar el acceso, deben borrar sus huellas n el sistema para evitar ser descubiertos por los encargados de seguridad de los sistemas y evitar futuras acciones legales o represalias. Actualmente, muchos hacker utilizan máquinas virtuales para ejecutar ataques a sistemas externos, luego de haber conseguido sus objetivos, eliminan estas máquinas virtuales para evitar ser descubiertos mediante un eventual peritaje forense en sus equipos computacionales (Fase 5). Una Máquina virtual (VM) permite al usuario crear uno o más entornos separados con su propio sistema operativo y recursos (Hardware, software, memoria disco etc.) y que actúan completamente independientes como si de un equipo físico se trataran. Actualmente los sistemas de virtualización más conocidos son Microsoft Virtual PC, VMWare, y los productos Open Source QEMU, y VirtualBox. En esta experiencia se intenta rescatar un archivo comprimido en formato ZIP que eventualmente contiene información extraída ilegalmente de alguna fuente de información ajena. Centrándose especialmente en las etapas de adquisición, examen y análisis del proceso forense digital. 5. Materiales Para este experimento se utilizó: Un Computador Apple Mac Os X 10.6 Snow Leopard, Procesador Intel Core I7, 4GB memoria RAM, 500GB en disco con VMWare Fusion Versión 4.1.3 (730298) (Host Atacante). Figura 1. Fases de un ataque informático según EC-Council. Universidad de Santiago de Chile Máquina virtual OpenBSD 5.2 sobre VMWare Fusion 4.1.3 para MAC (Máquina atacante). Página 3 Servidor Web que aloja el archivo Fotos.zip, computador Dell cpx, procesador 500 Mhz, 128MB RAM. Sistema Operativo OpenBSD 5.2 con Apache 1.3, con SSL/TLS y soporte DSO (Servidor vulnerado). Computador Dell Windows 7, Core i5, 4GB de RAM para actividades forenses con FTK Imager. 6. Resultado En este experimento hemos asumido que la copia de la máquina física ha sido ya tomada de acuerdo a un estricto procedimiento forense digital y se cuenta con una copia fiel de la máquina. computador separado con el software FTK Imager. Forense Toolkit Imager (FTK Imager)[7] es un paquete de software comercial de imagen forense distribuido por AccessData. FTK Imager soporta discos o imágenes de disco en formato EnCase o de SMART, así como en formato raw (dd). Además, permite leer archivos VMWare .vmdk. Para empezar debemos tomar el clon de la máquina virtual extraída del computador analizado y montarla en FTK Imager: Para poder manipular la máquina virtual que se necesita investigar, lo primero que debemos hacer es tomar una copia fiel del archivo .vmwarevm que VMWare Fusion utiliza. Esta versión de VMWare para MAC no proporciona la opción de clonar sus máquinas virtuales por lo tanto tendremos que ir a la carpeta contenedora de las máquinas virtuales y hacer una copia manualmente: $cp -rvp OpenBSD52.vmwarevm clonOpenBSD52.vmwarevm [ENTER] La opción -r le dirá a cp que copie la carpetas (recursiva) La opción -v le dice a cp que muestre por pantalla los detalles de la operación mientras realiza el trabajo. La opción -p mantendrá los permisos existentes en los archivos o carpetas. Una vez obtenido el Clon de la máquina virtual la analizaremos en un Universidad de Santiago de Chile Figura 1. Lista de imágenes mapeadas por FTL Imager Una vez leída la imagen el software proporcionará información básica de la imagen: Drive: Identificación del dispositivo. Particiones: Estas corresponden a las particiones lógicas de la imagen de disco, Página 4 tamaño en Mega Bytes (MB) y sistema de archivos (FFS). Entre otras. Una vez cargada la imagen se puede recorrer las imágenes de disco virtual completo. partición del disco de arranque 'a' se convierte en su partición raíz automáticamente. En la Imagen investigada esta partición tiene un tamaño de 203MB. Swap: Memoria de intercambio, esta partición también se utiliza para almacenar volcados después de caídas del sistema. En la imagen investigada esta tiene un tamaño de 1019MB. /tmp: Esta es una partición de almacenamiento temporal de datos. Esta partición en la imagen investigada es de 502MB. Figura 3. Detalle de sistema de archivo OpenBSD en FTK Imager. Las particiones identificadas imagen son las siguientes[8]: en esta /: Partición root: Además de ser donde se montan los otros sistemas de archivos, el sistema de archivos root contiene todos los archivos necesarios para arrancar OpenBSD. Esto incluye el núcleo, además de las utilidades básicas /sbin /bin, los archivos de configuración en /etc, y el directorio del dispositivo, /dev, que se usan para abrir el sistema. El sistema de archivos root en OpenBSD puede ser tan pequeño como 60 M, 100 M a 200 M. La Universidad de Santiago de Chile /var: Esta es la partición donde se guardan todos los archivos de datos variables. Datos administrativos y de registro (logs), mails, www etc. /usr: Esta es la partición donde se instala la mayoría de los programas binarios del sistema. Bibliotecas, documentación, páginas del manual etc. /home: Esta es la partición donde se guardan todos los archivos de usuarios y es la partición donde probablemente se encuentre evidencia del archivo extraído sin permisos. Al revisar esta última partición mediante FTK Imager se puede encontrar inmediatamente el archivo buscado. Página 5 Figura 4. Archivo .zip identificado con FTK Imager. Para verificar si es realmente el archivo extraído ilegalmente del servidor vulnerado debemos hacer una verificación de integridad de este, extrayendo su resumen hash MD5 y SHA1 con FTK Imager. MD5: 367a10afe181c859865c2e7d5c695153 SHA1: 2845be74e2111e84eb32fe86e9f384f1e7b623b1 Figura 6. Se verifica contra el archivo original almacenado en servidor web. 7. Técnicas Anti forenses. Figura 5. Exportar hash de archivo en FTK Imager. Y los comparamos con los del archivo original del servidor vulnerado: Una vez que los hackers han perpetrado el ataque, cubren sus huellas para evitar su detección por parte del personal de seguridad informática, o para evitar ser descubiertos en caso de ser investigados y enfrentarse a acciones legales. Algunas técnicas para ocultar sus huellas es el borrado de logs necesarios, estaganografía, uso de redes seguras anónimas, borrado de registros etc. Una vez revisado los resultados de este análisis forense se puede determinar que utilizar simples máquinas virtuales Universidad de Santiago de Chile Página 6 para ocultar las huellas de ataques informáticos no es una técnica efectiva para este propósito. Pues con la utilización de software como FTK Imager se puede leer fácilmente la información contenida en estas máquinas virtuales, pudiendo explorar los archivos contenidos, imágenes, logs etc. Sin embargo, una forma efectiva de ocultar la información contenida en la partición de usuarios de los equipos virtualizados con OpenBSD y otros es cifrar el disco para ocultar su contenido. Otra forma es que una vez perpetrado el ataque, la máquina virtual utilizada sea eliminada de VMWare y de la papelera de reciclaje, Sin embargo, esta podría de igualmente recuperada con este software forense y otros como CAINE y EnCase. Para poder evitar el descubrimiento de estas máquinas virtuales eliminadas se debe utilizar en Apple MAC el borrado seguro. Pues el vaciado simple de la papelera de MAC solo le indica al sistema de archivos que puede volver a utilizar el espacio con otro archivo, pero este no es eliminado permanentemente del disco. Sin embargo, el uso intensivo de la nube parece ser la tendencia de moda para perpetrar ataques, debido a lo difícil que es llevar a cabo una investigación digital tradicional desde un punto de vista técnico. 8. Conclusiones Muchos hacker en la actualidad hacen del virtualizado una herramienta efectiva para actividades maliciosas en Internet, debido a que con estas Universidad de Santiago de Chile facilidades se puede generar escenarios de ataque, pruebas de código, simulaciones etc., fácil y económicamente. Sin embargo, el solo hecho de utilizar máquinas virtuales para perpetrar ataques reales y borrar registros de las actividades realizadas no asegura que con un análisis forense digital no se pueda extraer información valiosa que pueda ser utilizada en una corte. Para evitar ser descubierto se pude utilizar distintas técnicas para cubrir las huellas de ataques como la utilización de proxys onions, cifrado de los equipo virtualizados o el host completo, password robustas etc. del mismo modo como se haría con máquinas reales. Para eliminar completamente una máquina virtual con la que se ha realizado un ataque se debe utilizar el borrado seguro y preferentemente el cifrado de disco en la máquina host. 9. Referencias [1] E. K. Mabuto and H. S. Venter, “State of the art of Digital Forensic Techniques,” presented at the Information Security South Africa, 2011. [2] V. Baryamureeba and F. Tushabe, “The Enhanced Digital Investigation Process Model,” presented at the Proceedings of the 4th Annual Digital Forensic Research Workshop, Baltimore, MD., 2004. [3] M. K. McKusick, K. Bostic, M. J. Karels, and J. S. Quarterman, The Design and Implementation of the 4.4 BSD Operating System. AddisonWesley, 1996. Página 7 [4] M. K. McKusick, W. N. Joy, S. J. Leffler, and R. S. Fabry, “A Fast File System for UNIX,” ACM Transactions on Computer Systems, vol. 2, no. 3, pp. 181 – 197, 1984. [5] A. Inc., “Mac OS X Technology Overview.” 09-Jan-2012. [6] Kimberly Graves, CEHTM Official Certified Ethical Hacker Review Guide. Indianapolis, Indiana: Wiley Publishing, Inc., 2007. [7] Forensic Toolkit® (FTK®). AccessData, 2013. [8] M. W. Lucas, Absolute OpenBSD: UNIX for the Practical Paranoid. 2003. Juan Anabalón R. Es Chief Technology Officer en MonkeysLab, Ingeniero en informática, Licenciado en Ciencias de la Ingeniería, Estudiante de Magíster en Seguridad, Peritaje y Auditoría en Procesos Informáticos en la Universidad de Santiago de Chile. Eric Donders O. Es oficial de seguridad de la información, Ingeniero en computación e informática de la Universidad de Chile, Magíster en Seguridad de la Información de la Universidad Central y académico del Magíster en Seguridad, Peritaje y Auditoría en Procesos Informáticos en la Universidad de Santiago de Chile. Universidad de Santiago de Chile Página 8