Skip to main content

Informática Forense

La informática forense es el conjunto de técnicas que nos permite obtener la máxima información posible tras un incidente o delito informático.

En esta práctica, realizarás la fase de toma de evidencias y análisis de las mismas sobre una máquina Linux y otra Windows. Supondremos que pillamos al delincuente in fraganti y las máquinas se encontraban encendidas. Opcionalmente, podéis realizar el análisis de un dispositivo Android.

Sobre cada una de las máquinas debes realizar un volcado de memoria y otro de disco duro, tomando las medidas necesarias para certificar posteriormente la cadena de custodia. Para garantizar la cadena de custodia de las evidencias recolectadas del volcado de memoria o del volcado de disco, se deben seguir los siguientes pasos:

  • Asegurar la integridad de las evidencias creando una imagen encriptada
  • Documentación del proceso
  • Identificación y etiquetado de evidencias
  • Almacenamiento de las evidencias con acceso restringido
  • Monitorear y controlar el acceso a las evidencias teniendo un registro con fecha y usuario que lo haya usado

Apartado A - Máquina Windows

Volcado de memoria

Para esto tenemos una máquina Linux con Volatility instalado y una máquina Windows con el fichero de volcado de memoria. Para realizar el volcado de memoria descargamos FTK Imager en la máquina windows y hacemos una captura de la memoria. Una vez hecho esto, copiamos el fichero de volcado de memoria a la máquina Linux y lo analizamos con Volatility. Así se vería el proceso de volcado de memoria con FTK Imager:

forense

Por comandos

  1. Procesos en ejecución.

    python3 vol.py -f "/home/usuario/memdump.mem" windows.pslist

forense

  1. Servicios en ejecución.

    python3 vol.py -f "/home/usuario/memdump.mem" windows.getservicesids

forense

  1. Puertos abiertos.

    python3 vol.py -f /home/usuario/memdump.mem windows.netscan o python3 vol.py -f /home/usuario/memdump.mem windows.netstat

forense forense

  1. Conexiones establecidas por la máquina.

    python3 vol.py -f /home/usuario/memdump.mem windows.netscan

  2. Sesiones de usuario establecidas remotamente.

    python3 vol.py -f /home/usuario/memdump.mem windows.sessions

forense

  1. Ficheros transferidos recientemente por NetBios.

    python3 vol.py -f /home/usuario/memdump.mem windows.netscan

  2. Contenido de la caché DNS.

    python3 vol.py -f /home/usuario/memdump.mem windows.dns_cache >> dns_cache.txt

  3. Variables de entorno.

    python3 vol.py -f /home/usuario/memdump.mem windows.envars

forense

Volcado de registro

Con ftk imager hacemos una captura del registro de windows usando obtain system files:

forense

Descargamos Registry Viewer y abrimos el registro de windows:

IMAGEN

  1. Redes wifi utilizadas recientemente.

  2. Configuración del firewall de nodo.

  3. Programas que se ejecutan en el Inicio.

  4. Asociación de extensiones de ficheros y aplicaciones.

Volcado de disco

En la maquina windows usando la aplicación FTK Imager, hacemos una captura del disco duro:

forense forense forense forense forense

Con autopsy analizamos el disco duro:

  • Primero creamos un nuevo caso.

  • Seleccionamos el tipo en este caso disco:

forense

  • Así se ve cuando termina de analizar el disco:

forense

  • Por último, podemos ver los archivos que se han encontrado:

forense

Analizando el Registro de Windows

  1. Dispositivos USB conectados

data artifacts > usb device attached

forense

  1. Aplicaciones usadas recientemente.

disco volcado > summary > user activity

forense

  1. Ficheros abiertos recientemente.

data artifacts > recent documents

forense

  1. Software Instalado.

data artifacts > installed programs

forense

  1. Contraseñas guardadas.

  2. Cuentas de Usuario

Tanto 17. como 18. se pueden ver en el apartado de usuarios:

os accounts

forense

Con Aplicaciones de terceros

  1. Historial de navegación y descargas. Cookies.

data artifacts > web history

forense

data artifacts > web cookies

forense

data artifacts > web downloads

forense

  1. Volúmenes cifrados

analysis results > encryption suspected

forense

Sobre la imagen del disco

  1. Archivos con extensión cambiada.

analysis results > extension mismatch detected

forense

  1. Archivos eliminados.

file views > deleted files

forense

  1. Archivos Ocultos.

Esto se puede ver en el archivo entrando en file metadata donde veremos la opción de hidden.

  1. Archivos que contienen una cadena determinada.

Usando el buscador de ficheros:

forense

  1. Búsqueda de imágenes por ubicación.

Usando la opción geolocation.

  1. Búsqueda de archivos por autor.

data artifacts > metadata

forense

Apartado B - Máquina Linux

Volcado de memoria

Para esto he descargado Lime desde el repositorio git clone https://github.com/504ensicsLabs/LiME.git y he seguido los siguientes pasos:

uname -r # Para saber la versión del kernel ya que Lime tiene que ser de la misma versión y nos la pedirá más adelante
sudo apt-get install make build-essential linux-headers
cd LiME/src
make
sudo insmod lime-5.10.0-22-amd64.ko "path=/home/usuario/memdumplinux format=lime"

Si al hacer la compilación de Lime nos da de error:

usuario@debian:~/LiME/src$ make
make -C /lib/modules/5.10.0-22-amd64/build M="/home/usuario/LiME/src" modules
make[1]: *** /lib/modules/5.10.0-22-amd64/build: No existe el fichero o el directorio. Alto.
make: *** [Makefile:35: default] Error 2

Tenemos que instalar los headers del kernel:

sudo apt-get install linux-headers-5.10.0-22-amd64

Una vez hecho esto, volvemos a hacer la compilación de Lime y ya no nos dará error.

  1. Procesos en ejecución.

    ps -aux

  2. Servicios en ejecución.

    systemctl list-units --type=service --state=running

  3. Puertos abiertos.

    apt install net-tools netstat -tulpn

  4. Conexiones establecidas por la máquina.

    netstat -tulpn

  5. Sesiones de usuario establecidas remotamente.

    who -a

  6. Ficheros transferidos recientemente por NetBios.

    apt install samba -y smbstatus o sudo apt-get install smbclient -y smbclient -L localhost o smbclient //hostname/sharename -U username -c 'recurse; ls'

  1. Contenido de la caché DNS.

    strings /var/cache/nscd/hosts

  2. Variables de entorno.

    env

Volcado de disco

usuario@debian:~$ sudo mkdir /mnt/linux
usuario@debian:~$ sudo dd if=/dev/vda1 of=/mnt/linux/volcado_linux2.001 bs=64K
65111+0 registros leídos
65110+0 registros escritos
4267061248 bytes (4,3 GB, 4,0 GiB) copied, 36,8376 s, 116 MB/s

Con autopsy analizamos el disco duro y dará resultados similares a los de la máquina windows.

Para analizarlo con esta aplicación lo pase por scp a mi máquina windows y ahi lo realice. PAra que lo acepte hay que indicarle que es una imagen Unallocated Space Image File