Clase 5
Clase 5
Clase 5
data-rotate: 270
class: destacado
Recordando:
La semana pasada vimos:
• 1- Recolección/Adquisición
• 2- Examinación.
• 3- Análisis.
• 4- Reporte.
• Valoración de la evidencia
• Duplicadores por hard y soft offline
Imágenes en vivo
• Los anteriores son mecanismos para utilizados para obtener información de discos que están fuera
de línea, es decir que no están formando parte de ningún equipo que este funcional.
• Pero apagar y/o desconectar los equipos fuentes no siempre es posible, ya sea por razones
técnicas o del negocio.
• El tema de obtener las imágenes en vivo es que no siempre se puede preveer el escenario que el
investigador se encuentra al llegar, pero debe estar preparado para todo.
• No todas las suites de cifrado son soportadas por las herramientas de forensia
• Si apagamos un disco y se cierre el volumen cifrado, tal vez nunca recuperemos la clave
para acceder a la información y el brute forcing puede ser muys costoso o incluso
imposible
• Ver incidente FBI - Apple
• La nube
Live en Windows
• Hay varias herramientas, el investigador tiene que probar y encontrar la que mejor le ajuste.
• Entre las más renombradas:
• dd para Windows
• FTK imager
dd para Windows
• Es un port para Windows de la herramienta de Linux que vimos
• Se puede correr modificando el parmetro if con if=\.PhysicalDrive0 para copiar el primer disco del
equipo
• A diferencia de dd será dd.exe el ejecutable a invocar
• Nota: Tiene que ejecutarse como administrador
FTK imager
• Aplicación desarrollada por la compañía AccesData, pero de uso gratuito.
• Viene con GUI para el usuario
• Puede generar imágenes a dispositivos externos o a shares de la red.
• Se integra con writeblocker
• Tiene una variedad de salidas: en crudo/raw (como dd), Encase o AFF.
• Link: FTK
Imágenes inteligentes:
Recolectando memoria
• No sólo el dump completo de la memoria
• Es interesante recolectar:
Note
• Fecha y hora del sistema operativo para luego compararlo con el real
• Lista de procesos en ejecución: sirve para identificar luego los procesos no autorizados o
maliciosos que pudieran estar ejecutándose en el sistema
• Lista drivers y módulos cargados: sirve para identificar luego los procesos no autorizados o
maliciosos que pudieran haberse cargado como un driver o módulo por un proceso no válido
• Lista de los módulos cargados por cada proceso: sirve para identificar luego los procesos no
autorizados o maliciosos que pudieran haberse cargado como un driver o módulo por un
proceso valido
• Lista de sockets abiertos y conexiones de red activas por proceso: para saber si hay
conexiones o sockets no autorizados
• Configuración de la red: para entender comportamientos erroneos y para identificar el rol que
juega el equipo en la red
• Lista de archivos y registros validados por proceso: para saber con que esta conectado un
arvhivo malicioso
• Lista de usuarios autenticados: para saber si hay alguna autenticacion no autorizada en el
sistema
Ejemplo de procedimiento
• Inicialmente se toman notas y fotografías del estado del equipo como se mencionó
• Hay que autenticarse en la consola usando un usuario con privilegios de administrador que serán
necesarios para ejecutar algunos comandos.
• Una vez autenticado hay que verificar que no haya un proceso destructivo obvio
• Utilizando un toolkit de herramientas "limpias" preparadas de manera que realizen la menor cantidad
de llamadas a las librerías del sistema posibles, por ejemplo un CD.
• Ejecutar una consola limpia desde el toolkit
• Cambiar los paths por defecto para que las llamadas entre librerías se hagan al CD
Ejemplo de procedimiento 2
• Insertar un medio (por ejemplo un USB) donde se va a "dumpear la memoria"
• Tomar la hora del sistema y compararla con una fuente confiable anotando cualquier diferencia.
• Ejecutar el script que:
Memoria en Linux
# Descomprimiendo
root@kali:~#unzip master.zip
#Comprobando lo generado
root@kali:~# ls -lah /usb/mem_kali.bin
-rw-r--r-- 1 root root 4,0G ago 16 15:31 /usb/mem_kali.bin
Memoria en Windows
• Hay varias herramientas, algunas tienen limitaciones, por ejemplo por el tamaño de la memoria o
por el sistema operativo que se está corriendo.
• En la mayoría de los casos las licencias no son completamente libres sino que son freeware con
licencias pagas para la versión Pro.
• Ejemplos:
• DumpIt (http://www.moonsols.com/wp-content/uploads/downloads/2011/07/DumpIt.zip)
• Memorize https://www.fireeye.com/services/freeware/memoryze.html
• Belkasoft Live RAM Capturer http://belkasoft.com/
• WinPmem de Rekall Forensic Framework - http://www.rekall-forensic.com/
• FTK Imager
• Es una herramienta pequeña y poderosa para Windows XP, Windows 7, Windows 8, Windows
2003, Windows 2008, y otros.
• Hay versiones de 32 y 64 bits libres para bajar desde http://belkasoft.com/en/ram/download.asp
DumpIt
• Presenta menos opciones, para utilizar de línea de comando
• Sirve para generar physical memory dump de máquinas Windows.
• Funciona en x86 (32-bits) y en x64 (64-bits).
• Aunque funciona mejor hasta 4G.
• El dump se generará en el mismo directorio donde esta el ejecutable
Memorize
• Es instalable, pero se puede generar el portable tanto para 32 y 64bits: msiexec /a
MemoryzeSetup.msi /qb TARGETDIR=e:
• Es una herramienta más completa, tiene más funciones que sólo adquirir la imagen, viene
con una serie de bat ya creados:
Memorize
• Nota: Recordar que requiere ser ejecutado como administrador
Rekall
• Rekall es un framework de Análisis de memoria.
• Contiene herramientas que cubren todo el ciclo, desde la adquisición hasta la extracción de
artefactos y el análisis.
• Es software libre
• Puede tomar imágenes por lo menos de:
FTK Imager
• DEMO con una virtual en Windows y el soft!
Demo Virtualbox
• Capturando:
• objdump -h /tmp/test.elf
• Extrayendo la parte que nos interesa:
Demo Virtualbox
Muchos dispositivos
• Hay infinidad de dispositivos como los mencionados en la Unidad anterior, los nuevos que
van apareciendo día a día y muchos que van dejando de usarse, por ejemplo:
• Audio recorders.
• GPS accessories.
• Answering machines.
• Computer chips.
• Pagers.
• Cordless landline telephones.
• Copy machines.
• Cellular telephones.
• Hard drive duplicators.
• Facsimile (fax) machines.
Y Más
• Printers.
• Multifunction machines (printer, scanner, copier, and fax).
• Wireless access points.
• Laptop power supplies and accessories.
• Smart cards.
• Videocassette recorders (VCRs).
• Scanners.
• Telephone caller ID units.
• Personal Computer Memory Card International Association (PCMCIA) cards.
• PDAs.
• Este tipo de dispositivos muchas veces requieren ser manipulados por especialistas ya que cada
uno de ellos tiene sus particularidades
• Cuando se colectan estos equipos es importante rescatar también todos los cables y fuentes de
alimentación, y en general todos los cables, adaptadores y manuales que se encuentren.
class: destacado
Verificación de la evidencia
• Una vez realizada la copia debemos verificar que el origen y el destino sean idénticos.
• Para ello utilizaremos una función de resumen o hash
• Este comprobación nos garantiza integridad de los datos
Según wikipedia: "Una función hash H es una función computable mediante un algoritmo, que tiene como
entrada un conjunto de elementos, que suelen ser cadenas, y los convierte (mapea) en un rango de
salida finito, normalmente cadenas de longitud fija."
Funciones de Resumen
Tipos de Hash
• Las funciones más comunes en forensia son:
• MD5
• SHA1
• Se recomienda además de estas comenzar a utilizar algunas más fuertes, ya que estas dos se
consideran débiles actualmente
Verificación - MD5
$ md5sum Lihuen-Lxde-2016.iso
f893fa5f454ad3bda5066c647fd49556 Lihuen-Lxde-2016.iso
Verificación - SHA1
$ sha1sum Lihuen-Lxde-2016.iso
bfc6dd67bfb110edb2205cbd9407ed0e953278f1 Lihuen-Lxde-2016.iso
Otras consideraciones:
• En tareas forenses donde lo que se está haciendo es una forensia no por cuestiones legales,
sino por interés del dueño o responsable de los recursos hay que tener en cuenta el impacto en
el negocio para realizar algún apagado del equipo, a veces simplemente no es una opción.
• Es recomendable antes de comenzar las tareas que el cliente este informado sobre las
necesidades y se libere por escrito de responsabilidad al investigador en el
contrato/acuerdo.
• Recordar GRR.
Algunas definiciones:
• ARTICULO 2
• El responsable y las personas que intervengan en cualquier fase del tratamiento de datos
personales están obligados al secreto profesional respecto de los mismos. Tal obligación
subsistirá aun después de finalizada su relación con el titular del archivo de datos.
• El obligado podrá ser relevado del deber de secreto por resolución judicial y cuando
medien razones fundadas relativas a la seguridad pública, la defensa nacional o la salud
pública.
El software de clonado
• De entre las herramientas libres disponibles las que se suelen usar son:
Ejemplos de clonación:
• LOCAL:
$fdisk -l
$dd if=/dev/sda of=/dev/sdb conv=sync,notrunc,noerror bs=4K
Sobre dd
• Tiene varias opciones, entre las más comunes:
• --if= input file, el disco/particion origen
• --of= output file, adonde lo vamos a escribir
• --bs= tamaño del bloque
• --count= cuantos bloques (opcional)
• --conv=noerror,sync (opciones)
A saber:
• Sobre el tamaño del bloque:
• Usar uno más grande es más eficiente, pero si se usa uno demasiado grande, por ejemplo
de 1MB y hay un error en el primer sector del bloque entonces al estar combinado con la
opción de sync (que llena todo de ceros) perderemos 1MB que no servirá luego, por eso
se recomienda usar el menor posible.
• Aunque en Linux si vamos bajo los 4KB de tamaño de bloque podemos tener problemas
de performance. Puede llegar a ser 10 veces mas lento usar el tamaño por defecto de 512
byte que usar bloques de 4KB.
A saber (2):
• Sin noerror and sync, casi que no tenemos una imagen forense.
• Contras:
• dd no produce hash
• dd no nos dice que esta haciendo, no es demasiado comunicativa.
Más info: http://www.forensicswiki.org/wiki/Dd
Ejemplos de clonación:
• REMOTA enviando la imagen del disco vía red:
• Lo que hacemos con esa instrucción es duplicar el disco sata en la primer bahía y enviar el
resultado a la dirección 192.168.1.10 al puerto tcp 9999
• En el servidor de destino deberemos recibir información en el puerto 9999 y mapearlo a un archivo
local, para ello usamos:
• Otra cosa adicional interesante es que proveen una barra de progreso que nos
permite "matar" la ansiedad, con dd no sabemos si está avanzando o no.
Contenido de suma.log
Contenido de suma.log.asc
Comprobar la firma