Beruflich Dokumente
Kultur Dokumente
reinaldo.mayol@upb.edu.co
Conceptos Iniciales
Parte 1
Qu es el Anlisis Forense?
Es un proceso, metodolgicamente guiado, que involucra los siguientes elementos, referidos a los datos de un sistema computacional:
Preservacin
Identificacin
Extraccin Documentacin Interpretacin
Transparencia
RFC3227
Como archivar una evidencia
Pasos de la recoleccin
Cadena de custodia
Orden de Jerarqua
Registros y contenidos de la cach. Contenidos de la memoria. Estado de las conexiones de red, tablas de rutas. Estado de los procesos en ejecucin. Contenido del sistema de archivos y de los discos duros.
Recoleccin de la Evidencia
Manipulacin de la Evidencia
Si no se toman las medidas adecuadas para la manipulacin de la evidencia esta puede perderse o resultar inaceptable como prueba.
Manipulacin de la Evidencia
Uno de los elementos que se utilizan son las Cadenas de Custodia Una adecuada Cadena de Confianza debe responder, para cada evidencia, las siguientes interrogantes:
Quin colect la evidencia? Cmo y donde fue colectada? Quines tuvieron posesin y acceso a la evidencia? Cmo fue almacenada y protegida? Quin la ha manipulado?
8
Autentificacin de la Evidencia
El objetivo de este paso es proveer un mecanismo que garantice la evidencia colectada no pueda ser modificada o sustituida sin que el investigador pueda notarlo. Por lo general, se recomienda utilizar algoritmos de HASH (SHA2!!!!!) capaces de crear un hash de la evidencia que garantice su integridad. Se puede firmar digitalmente el hash de cada evidencia garantizando de esta forma que la misma no pueda ser sustituida.
Si alguien intenta destruir las evidencias, podemos tener copias igual de vlidas lejos del alcance del criminal. El proceso de autenticacin siempre siembra dudas sobre la veracidad de la prueba. Adquirir una copia de la evidencia puede ser un proceso difcil y delicado.
10
No solo hay que validar las copias sino incluso el momento en que se realizan. La autentificacin de la evidencia requiere mecanismos externos como: certificados digitales, autoridades de certificacin y cadenas de certificacin acordes a las leyes de un pas o incluso de una organizacin.
11
12
Hasta Donde ?
Es posible definir con exactitud el 80 % de lo que ha hecho un sospechoso el20% del TIEMPO
13
En esta prctica utilizaremos el comando dd de Linux para la creacin de una imagen del disco duro de la estacin. Inicie Backtrack ( tambin se puede realizar prcticamente con cualquier distribucin sin instalar software adicional) Abra un Shell y como root ejecute el siguiente comando # dc3dd if=/dev/sdb of=imag.dat Es un buen momento para tomar caf. El proceso demorar en funcin del tamao de la imagen a crear. Este proceso crea una imagen bit a bit de la particin o volumen declarado en la opcin if la imagen creada se obtiene segn lo declarado en la opcin of.
14
15
16
Datos
Sistema de Archivos Fsico
Particiones D.O.S
Comenzamos Revisando como se guarda la configuracin del DISCO
Imagen tomada de: Carrier B. F.S Forensic Analysis, 2005. modificada por R.Mayol
Particiones DOS
Las particiones tipo DOS se utilizan en la mayora de los sistemas operativos, incluyendo Linux.
19
Slo 4 entradas
Con 4 entradas solamente no es posible cubrir las necesidades de los sistemas modernos. Una particin extendida contiene una segunda tabla de particiones y puede describir 2 particiones. ( una para el F. S y otra para otra E.P)
ExtendedPartition Table
Reinaldo Mayol Arnao por R.Mayol 20
Tabla de Particiones
Posicin 0 1 2 Longitud en Contenido Bytes 1 1 2 Estado de la particin 00h no activa, 80h activa Comienzo de la particin ( cabezal) Sector y Cilindro donde comienza la particin
4 5 6 8
1 1 2 4
Tipo de Particin Cabezal donde la particin termina Sector y Cilindro donde la particin termina Distancia, en sectores (por omisin 512B/sector) desde la tabla de particiones al primer sector de la particin
Longitud ( en sectores) de la particin
Reinaldo Mayol Arnao
12
21
Byte 446
22
Continuacin
Particin activa
Sector 1, Cilindro 0
0C 83 82
07 a8
24
Slack Space
La unidad mnima de direccionamiento son los clusters. El S.O slo puede direccionar clusters. Si un archivo es menor que el tamao del cluster el espacio sobrante se pierde. Este espacio es interesante, desde el punto de vista forense, ya que normalmente puede contener datos de otros archivos que utilizaron anteriormente el cluster.
25
Prctica 2 MBR
Inicie la mquina virtual Backtrack y localice la imagen del disco creado en la prctica anterior. Utilice el comando hexedit para visualizar el contenido el archivo de imgenes. root@bt:~# hexedit imag2.dat Localice la Tabla de Particiones (note que las posiciones estn en hexadecimal) A partir de la tabla de particiones describa la estructura de las mismas.
26
Prctica 2 Cont
Utilice el comendo mmls para ver la tabla de particiones. Esta informacin puede ser til. A continuacin se muestra un ejemplo. Sus resultados pueden ser diferentes.
root@bt:~# mmls /dev/sda -t dos DOS Partition Table Offset Sector: 0 Units are in 512-byte sectors Slot Start End Length Description 00: Meta 0000000000 0000000000 0000000001 Primary Table (#0) 01: ----- 0000000000 0000002047 0000002048 Unallocated 02: 00:00 0000002048 0040105983 0040103936 Linux (0x83) 03: ----- 0040105984 0040108031 0000002048 Unallocated 04: Meta 0040108030 0041940991 0001832962 DOS Extended (0x05) 05: Meta 0040108030 0040108030 0000000001 Extended Table (#1) 06: 01:00 0040108032 0041940991 0001832960 Linux Reinaldo Swap / Solaris x86 Mayol 27 (0x82) Arnao 07: ----- 0041940992 0041943039 0000002048 Unallocated
Ahora que ya conocemos la estructura del disco nos interesan las particiones
NTFS
New Technologies File System
Durante la creacin del volumen es creado el Master File Table (MFT), adems de otros archivos de control. Existe una entrada de 1KB en la MFT por cada archivo o directorio en el volumen. El archivo $MFT contiene la MFT. Existe una copia llamada $MFTMirr Una entrada MFT tiene una pequea cabecera fija (42 bytes, 12 campos) y el resto son atributos no previamente definidos.
Metadata
Todos los sistemas de archivos dedican algunos archivos a contener informacin que describe a otros archivos.
Metadata
Los archivos de Metadatos contienen informacin como:
MAC times,
permisos, propietarios, tamao de los archivos, localizacin, etc.
Reinaldo Mayol Arnao 31
Metadata FILES
32
Archivos de Metadata
ndice
Descripcin
$MFT 0 1 2 3 4 $MFT $MFTmirr $LogFile $Volume $AttrDef MFT Archivo de Respaldo del MFT Registro de las transacciones de metadata Informacin sobre el volumen Informacin sobre atributos
5
6
$Root
$Bitmap
7
8 9 10 11
$Boot
$BadClus $Secure $Upcase $Extend
Boot Sector
Mapa con clusters que contienen sectores daados Informacin de Seguridad Versin de cada carcterMayol Unicode
Arnao Reinaldo 33
La localizacin del MFT est definido en el Boot Sector del F.S Un MFT almacena los atributos de los archivos y subdirectorios incluyendo el nombre, MAC, permisos, flags de estado, entre otros. Si un archivo no puede contener todos sus atributos en una sla entrada utiliza entradas consecutivas. Adicionalmente el MFT almacena parte ( o su totalidad) de la data (dependiendo del tamao del archivo, menor a 1500Bytes)
34
Cada entrada al MFT es direccionada usando un valor de 48 bits, comenzando por 0. Formalmente las primeras 16 entradas ( en la prctica 24) son para localizar los archivos de metadata del F. S Los archivos de metadata se encuentran en la raz del F. S y comienzan por $
35
Entradas MFT
Cada entrada es secuencialmente numerada usando un valor de 48 bits. Cada entrada tiene adems un nmero de Secuencia de 16 bits que es incrementado cuando la entrada es localizada. Ambos valores se combinan para formar un valor de 64 bits que se utiliza como referenciador de los archivos.
36
Atribute Header
Espacio no utilizado
Header MFT
$STANDARD_INFORMATION STANDARD_INFORMATION
$FILE_NAME
$DATA
37
https://www.dropbox.com/s/dk8fh5orau524np/Alternative DS.txt
38
Para un archivo:
Para un subdirectorio:
Header
$INDEX_ROOT
$INDEX_ALLOCATION
Informacin general, tales como flags, MAC Times, ID del propietario Nombre del Archivo en Unicode,MAC TIME del nombre Contenido del Archivo
SFILE_NAME
$DATA:
$INDEX_ROOT
$INDEX_ALLOCATION
$BITMAT
Boot Sector
41
Boot Sector
Byte Offset Hex (Dec) 0 (0) 3 (3) 0B(11) 0D(13) 0E (14) 10 (16) 13 (19) 15 (21) 16 (22) 18 (24) 1 A (26) 1 C (28) 20 (32) 28 (40) Longitud (bytes) 3 8 2 1 2 3 2 1 2 2 2 4 8 8 Significado Instruccin Jump Identificacin en ASCII del formato del Disco Bytes por Sector ( 512,1024,2048, 4096) Sectores/clusters ( potencias de 2 hasta 32KB) Tamao en Sectores del rea reservada Siempre en 00 No usado por NTFS Media Type . 0xf8 discos fijos. 0xf0 removibles Siempre en 00 Sectores por Pista Nmero de Cabezales Sectores Ocultos No usado por NTFS Mayol
Arnao Reinaldo 42
Longitud (bytes)
8
Significado
Nmero de Cluster lgico para el archivo $MFT
38 (56)
40 (64) 44 (68) 48(72) 50(80)
8
4 4 8 4
Prctica 4
https://www.dropbox.com/s/4bp0x3ny8v3gy8u/NTFSBOOT SEC.txt
44
https://www.dropbox.com/s/fd35v09xg1qa836/NTFS.txt
45
46
Ext
El F.S comienza con un rea reservada y el resto est dividido en sectores llamados grupos de bloques. Todos los grupos de bloques, excepto el ltimo contienen la misma cantidad de bloques. Un bloque es un conjunto de sectores consecutivos (1024,2048,4096 bytes) La informacin de la estructura del F.S es almacenada en una estructura llamada SuperBlock la cual se encuentra localizada el inicio del F.S Los metadatos de cada archivo o directorio son almacenados en estructuras llamadas inodos
Reinaldo Mayol Arnao 47
Ext cont
Los inodos tienen tamao fijo, por omisin 128 bytes ( 1024 bits) Existe un inodo por cada archivo o directorio existente Existe una tabla de inodos para cada grupo de bloques. Los primeros 10 inodos tienen funciones fijas y estn siempre localizados. El inodo 11 se utiliza para el subd lost +found Los nombres de archivos son almacenados en las entradas de los directorios que los contienen. Esas entradas de directorio son estructuras simples que contienen el nombre de los archivos y un puntero al inodo correspondiente.
Reinaldo Mayol Arnao 48
Inodos
Los tiempos son almacenados en la cantidad de segundos desde 1ro Enero 1970.
Los tiempos son almacenados en la cantidad de segundos 49 desde 1ro Enero 1970.
Entradas de Directorio
Inodos
Bloques de Contenido
50
Inodos
Cada inodo puede almacenar las direcciones de los primeros 12 bloques de un archivo. (bloques directos) Si un archivo requiere mas de 12 bloques se localiza un bloque para almacenar los punteros a otros bloques( bloques indirectos)
51
Inodos
52
Ext cont
Ext tiene un grupo de opciones organizadas en 3 categoras basadas en que debe hacer el sistema operativo si alguna de ellas no es soportada.
Las opciones compatibles son aquellas que pueden ser ignoradas por el S.O que monta un F. S incluso si no las soporta. EJ. Journals Las opciones incompatibles si no son soportadas el F. S no ser montado. Ej. Cifrado
Las compatibles de solo lectura implican que el F. S ser montado pero solo en modo Read-Only. Ej. Estructuras en arbol en lugar de listas.
53
El Superblock es localizado al inicio del F. S ocupando los primeros 1024 bytes ( aunque utiliza slo unos pocos) Contiene la estructura del F. S ( similar al BootSector en NTFS) y de configuracin. Copias de respaldo pueden ser encontradas en el primer bloque de cada grupo de bloques. Informacin contenida:
Tamao de los bloques Nmero total de bloques por grupo de bloques Nmero de bloques reservados antes del primer grupo de bloques.
Reinaldo Mayol Arnao 54
55
En Linux una opcin llamada Sparse Superblock est siempre habilitada y hace que slo algunos grupos de bloques contengan copias del Superblock. El Superblock tiene una firma ( 0xef53) en los bytes 56 y 57, desafortunadamente es demasiado pequea y buscarla conduce a gran cantidad de falsos positivos
56
Buscando la firma..
root@bt:~# sigfind -o 56 -l ef53 /dev/sda1 Block size: 512 Offset: 56 Signature: 53EF Primera aparicin de la firma Block: 2 (-) Block: 262144 (+262142) Otras apariciones Block: 346505 (+84361)
57
Comnmente existe copias de tabla en los bloques de grupo ( ver figura inferior)
Un F.S en linux tiene igual nmero de bloques por grupo que bits en un block. Por lo tanto el BlockBitmap requiere un bloque.
Backup SuperB.
Block
Bitmap
Datos
58
Datos
Nmero de inodos disponibles ( no usados) Bloque donde el Grupo de Bloques 0 comienza Tamao del bloque ( nmero de lugares para desplazar 1024 a la izquierda) Ej: 0-1024, 24096
Nmero de bloques en cada grupo de bloques Nmero de inodos en cada grupo de bloques Fecha del ltimo montaje Fecha de la ltima escritura
Reinaldo Mayol Arnao 59
104109
136199
ID del Volumen
Subdirectorio donde fue montado por ltima vez
Recuerde que esta no es la tabla entera de los campos del Superblock. Puede ver la descripcin entera en: Daniel Robbins (2001-12-01). Advannced filesystem implementor's guide, Part 8.
60
1- Recuerde que los primeros 1024B est reservados al BootCode, por lo tanto el SB debe comenzar en el bit 1024 (0x400). 2-Los bytes 0-3 informan el nmero de inodos 0000EB00=60160 inodos 3-Los bytes del 4-7 informan el nmero de bloques=240254 bloques 4- Los bytes 56-57 (0x38) contienen la firma 0xef53
61
https://www.dropbox.com/s/vzjevg541h8js9z/ext.txt
62
Tiene una entrada por cada grupo de bloques existente en el F. S Comienza en el segundo bloque byte 0-3 Descripcin Direccin de inicio del bloque del bitmap del bloque
4-7
8-11 12-13
El SO debe utilizar un inodo para el nuevo archivo. Trata de hacerlo en el mismo grupo de bloques del directorio que contiene el archivo
64
Se trata de localizar en un grupo que no haya sido utilizado mucho ( equilibrando el uso del disco)( mucho es cantidad de inodos ocupados no veces!) Para encontrarlo el S.O puede obtener del superblock el nmero de inodos y bloques libres. Con este valor se comienza a buscar por los grupos de bloques hasta encontrar a uno que tenga un valor por debajo del valor promedio de utilizacin.
65
Cuando un inodo es localizado toda su informacin anterior es borrada. Un atributo llamado link count es puesto a 1 ( en caso de archivos) y 2 para directorios Cuando se borra un archivo el contador es decrementado, si llega a 0 el inodo es considerado libre. Si un archivo es borrado y alguna aplicacin lo tiene todava abierto pasa a ser considerado un orphan file y es inscrito en una lista en el superblock. Cuando la aplicacin cierra el archivo o cuando el sistema se reinicia el inodo es liberado.
Reinaldo Mayol Arnao 66
Y sobre todo:
LAS HERRAMIENTAS SON IMPORTANTES PERO NO SUSTITUYEN A LOS RESULTADOS OBTENIDOS POR UN INVESTIGADOR: -ENTRENADO -PACIENTE -DISCIPLINADO -CREATIVO
67 Reinaldo Mayol Arnao
/var/run/utmp
/var/log/btmp
Permisos UNIX
R: Lectura W: Escritura X: Ejecucin
Archivos Ocultos
# ls a
.home
.stach .gnome$
SUID y SGID
_rwsr_xr_x 1 root root 37593 Apr 4 16:00 /usr/bin/at
SUID
SGID
Servicios Disponibles
Revisar todo el rbol /etc/ rc* Ejecutar (si es posible) alguna herramienta de bsqueda de puertos abiertos.
Tener en cuenta que muchos servicios pueden ser manejados por Superdemonios (inetd)
Cuentas de Usuarios
Revisar /etc/passwd
Si existe /etc/shadow
Trabajos temporizados
Y en Windows??
Algunos sitios donde buscar informacin adicional en Windows
Reinaldo Mayol Arnao
77
Index.dat
Index.dat
Anlisis de Temporales
Anlisis de Atajos
El registro
NTUSER.DAT.
Un auditor forense debe hacer copias de los archivos del registro y visualizarlos en otro editor.
Logs
Los archivos Log de una mquina, son una fuente de informacin importantsima en un anlisis forense.
SecEvent.Evt. AppEvent.Evt. Registra los Registra los sucesos sucesos relativos a la relativos a seguridad aplicaciones
Reinaldo Mayol Arnao
SERVICE_NAME: AudioSrv DISPLAY_NAME: Audio de Windows TYPE : 20 WIN32_SHARE_PROCESS STATE : 4 RUNNING (STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0
Conexiones Establecidas
C:\>netstat
Conexiones activas
Proto Direccin local TCP TCP TCP TCP TCP TCP mefisto:2852 mefisto:2855 mefisto:2856 mefisto:2876 mefisto:2879 mefisto:2890
Direccin remota
Estado
bd07f3d2.virtua.com.br:https ESTABLISHED wr-in-f189.google.com:http ESTABLISHED by1msg3275906.phx.gbl:1863 ESTABLISHED eo-in-f147.google.com:http CLOSE_WAIT by1msg5082501.phx.gbl:1863 ESTABLISHED wx-in-f83.google.com:http CLOSE_WAIT
Reinaldo Mayol Arnao
Imgenes ( esteganografa )
Reto Final
El profesor le entregar un reto final. Se anima a encontrar las evidencias ( si las hay) de un caso de prostitucin y trfico de drogas?
92
93
Y mucho mas
Prof. Reinaldo Mayol Arnao