Download Presentación Forensica Digital

Document related concepts
no text concepts found
Transcript
Forénsica Digital
Francisco Pecorella
[email protected]
Algunas cosas que aprenderemos…
¿Qué es computación forense?
¿Qué es considerado evidencia?
¿Cuáles son los cuatro (4) principios forenses para el éxito?
¿Qué es el análisis de medios?
¿Cuál es el orden de volatilidad?
Respuestas…
Computación forense es la captura, preservación, análisis y
preservación de evidencia computacional.
Evidencia es “algo” que intenta probar o desaprobar un hecho.
Más respuestas…
Los cuatro principios forenses para el éxito:




Minimizar la pérdida de los datos
Almacenar y guardar todo
Analizar todos los datos recolectados
Reportar los hallazgos
El análisis de los medios es la investigación estática de la
evidencia del sistema que fue recolectada.
Más respuestas…
El orden de volatilidad de la evidencia es el orden en el cual la
evidencia es más susceptible al cambio:






Memoria
Swap Space o page file
Estados de la red y conexiones
Procesos corriendo
Discos duros
Discos removibles
¿Qué es computación forense?
3 componentes principales

Captura de la evidencia
–
Preservación de la evidencia

Investigación y análisis de la evidencia

Reporte de resultados
Terminología
Evidencia
Mejor evidencia
Cadena de custodia
Imágenes
Lista de palabras sucias
Análisis de los medios
Cuatro principio para el éxito
Minimizar la pérdida de los datos

Minimizar, _no_ erradicar
Almacenar y grabar todo

No utilizar video cámara
Analizar todos los datos recolectados

Algo muy pequeño podría esclarecer un hecho
Reportar los hallazgos

Una de las fases más importantes
Metodología forense
Es necesario ser consistente, es una metodología cíclica
Esta es una:
1.
2.
3.
4.
5.
6.
7.
8.
Verificación
Descripción del sistema
Recolección de la evidencia
Creación y análisis del timeline
Análisis específico del OS
Recuperación de datos
Búsqueda de cadenas
Reporte
Metodología forense (en profundidad)
Verificación
Descripción del sistema
Recolección de la evidencia
Creación y análisis del timeline
Metodología forense (en profundidad)
Análisis específico del SO
Recuperación de los datos
Búsqueda de cadenas
Reporte
Respuesta al incidente
Investigador vs equipo de respuesta
Evitar la parálisis
La verificación puede ser la parte más difícil del trabajo:

También puede ser la más facil (i.e. Defacement Web)
Primera acción: preservar la escena

2 escenarios, sistema vivo o muerto!
Verificación
Es necesario obtener información

Logs o Registros de Eventos (Firewalls, IDS’, Antivirus, entrevistas,
etc.)
Correlacionar, Correlacionar, Correlacionar,
3 situaciones posibles



Verificación sin tocar el sistema
Verificación con mínimo impacto al sistema
Verificación con análisis completo de un sistema vivo
Acciones de primera línea
¿Qué hacer cuando se está frente a un sistema vinculado con un
incidente?




Verificar el incidente
Obtener la evidencia
Encontrar pistas
¿Apagar el sistema, o dejarlo encendido?
Tener un plan premeditado

Documentación y algunos scripts
Orden de volatilidad de la evidencia
Orden en el cual la evidencia es más susceptible a cambios (de
más volátil a menos volátil)






Memoria (RAM)
Swap space/page file
Información de la red (estados, conexiones, etc.)
Procesos corriendo
Discos duros
Discos removibles (ZIP, floppy, USB drive)
Apliquemos análisis forense…
Network Forensics
Intercepción de comunicaciones



Básicamente, no debemos interceptar las comunicaciones de otros
Mucho menos publicar las intercepciones ilegales
Esto aplica a comunicaciones orales y electrónicas
Excepciones



Sistema de acceso público
Intercepciones autorizadas por la corte
Consentimiento de una o ambas partes
Sniffers
Aplicaciones legales


Magic Lantern
Carnivore
Públicos (gratuitos)



Tcpdump
Snort
Ethereal
Comerciales



EtherPeek
Observer
Iris
Wiretap
Consideraciones para hacer Wiretapping



Necesidad de más evidencia
El crimen no ha sido cometido aún
Necesidad de encontrar una fuente, o un sujeto
Pre-condiciones para un wiretapping exitoso

La escena del (potencial) crimen no debe ser distorsionada
Beneficios Wiretap
Determinar si más computadores en la red están afectados
Trazar al sujeto

Direcciones IP (La mayoría de los hackers tienen una o más)
Algunas veces es necesario ver qué está haciendo un sistema que fue
comprometido


Utilizar el servidor para atacar a otros
Robo de información
Ethereal
Ethereal es uno de las mejores aplicaciones sniffer/analyzer
disponibles en la actualidad:





Gratuito
Muestra y analiza el contenido completo de capturas de paquetes
hechas con tcpdump
Posibilidad de seguir específicas sesiones TCP utilizando la opción de
Follow TCP Stream
Acepta filtros para reducir y manipular datos capturados
Trabaja bajo ambiente Windows y Linux
Filtros Ethereal
Los filtros en Ethereal son muy utilizados, a continuación algunos
ejemplos:

Mostrar solo tráfico Web
–

Mostrar tráfico de y hacia una determinada IP
–

(tcp.port eq 80)
(ip.addr eq 10.1.1.1)
Mostrar tráfico no web de o hacia una determinada IP
–
(ip.addre eq 10.1.1.1) and (tcp.port ne 80)
Herramientas forenses fundamentales
Respuesta a incidentes

netstat, lsof, ps
Recolección de evidencias

dd, netcat y tcpdump
Proveer integridad

md5sum y sha1sum
netcat
Propósito forense


Conectar o conectarse a cualquier puerto TCP/IP
Puede enviar o recibir
Uso forense

Listen
–

#nc –l –p 31337 > hdd.img
Send
–
dd if=/dev/hdd | nc myhostname –p 31337
Verificación forense
Notar los hechos iniciales
Recolectar la evidencia más volátil primero
Examinar archivos y directorios



Evidencia en logs
Directorios y archivos no estándares
Generar un timeline
Verificación inicial en Linux
Comandos del sistema





who/finger
uptime
uname –a
date
fdisk –l
Logs del sistema

/var/log/*
Sistema de archivos
Anomalías de la distribución

/bin, /sbin, /dev, etc.
Anomalías del sistema

/usr/local/bin, /usr/local/etc, etc.
Entradas nuevas o modificadas en /etc/passwd
Archivos o directorios comenzando con ‘.’
Logs del sistema
Nuevos y archivos recientemente modificados
Equipo de respuesta
Insertar el kit de respuesta contenido en el CD-ROM y montar el
dispositivo



#mount /mnt/cdrom
#cd /mnt/cdrom/response_kit/linux_x86_static
#ls
Aquí se encuentran los binarios más comunes estáticamente
compilados para respuesta de incidentes y recolección de
evidencia
Buscando rootkits
lsof y netstat pueden mostrar la mayoría de la actividad
Listar los archivos abiertos y las conexiones de red

# /mnt/cdrom/response_kit/linux_x86_static/lsof –ni
Listar las conexiones de red y sockets abiertos

/mnt/cdrom/response_kit/linux_x86_static/netstat -nap
pcat
Guarda un proceso corriendo a un archivo
Incluido en TCT
Obtenemos el identificador del proceso usando

ps /netstat / lsof
Hacemos búsquedas de strings en el proceso
pcat
Otros archivos clave
Archivos alojados en /var/log (incluso modificados, pueden inducir
a cuándo fueron modificados)
Archivos .bash_history

#find / -name “.bash_history”
Creando un timeline
mac_daddy.pl fue diseñado para generar timelines durante la
respuesta a incidentes
Envía las salidas a std-out
Configuramos un servidor

#nc –l –p 31337 > /images/unixforensics
Generamos y enviamos la mac info


#cd mnt/cdrom/response_kit/linux_x86_static/
#perl mac_daddy.pl /| ./nc 192.168.2.1 31337
memdump
La memoria es la más volátil de todas las evidencias. En ella
podemos encontrar piezas de:



Sistema operativo
Procesos corriendo (y recientemente corriendo)
Archivos (inclusive eliminados)
#cd mnt/cdrom/response_kit/linux_x86_static/
./memdump
Chequeo de integridad
Las firmas hash proveen integridad de la evidencia
Pueden revelar cambios en la evidencia
md5 ha sido el estándar



#md5sum /dev/sda1
#md5sum /dev/hda2
#md5sum /etc/passwd
md5deep recursivamente calcula md5sum

#md5deep –r / | ./nc 192.168.1.2 31337
Recolección de evidencias en Linux
Los datos deben ser estériles
Crear hashes del sistema original
Hacer imágenes del sistema
Crear hashes de las imágenes
Analizar las imágenes
dd y ddclfdd
Una de las más importantes herramientas en forensics
Copia cada bit de una entrada a la salida
Puede copiar una porción de un archivo o imagen
Uso general: dd if=<input> of=<output>

#./dd if=/dev/hda1 of=/images/forensics/image.img
ddclfdd es un dd modificado



Puede mostrar progreso
Puede calcular un hash cuando los datos son recolectados
#./ddclfdd if=/dev/sda of=/dev/hdb hashwindow=0 hashlog=sda.md5
Extrayendo particiones de imágenes físicas
mmls puede extraer información de particiones de una imagen o
dispositivo
Debe especificarse –t <type> de la partición

#mmls –t dos /images/forensics/sda.img
Utilizamos dd para extraer la partición de la imagen física

#./dd if=/images/forensics/sda.img of=sda1.img bs=512 skip=63
count=1028097
Montando las imágenes
El comando mount es muy empleado para montar imágenes para
su análisis
Utilizar –o loop para imágenes y debemos asegurarnos de
preservar la data (ro)

#./mount –o ro, loop,nodev,noatime,noexec
/images/forensics/vmware.img /mnt/hack/image
Análisis de evidencias
Helix






Colección de herramientas comunes open source
Buena detección de hardware con kudzu
Basado en Knoppix
Análisis en vivo o post-mortem
Operaciones seguras por defecto
Disponible en: http://www.e-fense.com/helix
Gracias