Download Presentación Forensica Digital
Document related concepts
no text concepts found
Transcript
Forénsica Digital Francisco Pecorella fpecor@cantv.net 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