Técnicas anti-forenses con VMWare

Anuncio
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
Descargar