You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10 KiB

title date draft image categories tags
Informática forense 2023-02-08T18:50:12+01:00 false featured.png
documentación
Seguridad y Alta Disponibilidad
Forense
Autopsy

Enunciado

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.

Apartado A. Máquina Windows

Volcado de memoria

Para realizar el volcado de memoria he usado la herramienta FTK Imager, que permite realizar volcados de disco y memoria. Para ello hago lo siguiente. Utilizo las siguientes opciones:

ftk4

Ahora, para analizar los datos, utilizo Volatility en mi máquina debian; para ello, especifico el fichero que he creado con FTK Imager al utilizar los comandos.

1. Procesos en ejecución

Uso el comando pslist para ver los procesos en ejecución:

python vol.py -f "/media/roberto/usb/memdump.mem" windows.pslist.PsList

vol1

2. Servicios en ejecución

Uso el comando getservicesids para ver los servicios en ejecución:

python vol.py -f "/media/roberto/usb/memdump.mem" windows.getservicesids.GetServiceSIDs

vol2

3. Puertos abiertos

Uso el comando netstat para ver los puertos abiertos:

python vol.py -f "/media/roberto/usb/memdump.mem" windows.netstat.NetStat 

vol3

4. Conexiones establecidas por la máquina

Uso el comando netscan para ver las conexiones establecidas por la máquina:

python vol.py -f "/media/roberto/usb/memdump.mem" windows.netscan.NetScan

vol4

5. Sesiones de usuario establecidas remotamente

Uso el comando sessions para ver las sesiones de usuario establecidas remotamente:

python vol.py -f "/media/roberto/usb/memdump.mem" windows.sessions.Sessions 

vol5

6. Ficheros transferidos recientemente por NetBios

7. Contenido de la caché DNS

8. Variables de entorno

Para ver las variables de entorno, uso el comando envars:

python vol.py -f "/media/roberto/usb/memdump.mem"  windows.envars.Envars

vol6

Volcado del registro

Para realizar el volcado de registro he usado también la herramienta FTK Imager. Utilizo la opción Obtain system files:

ftk5

Una vez finalizado el volcado, utilizo el programa Registry Viewer para analizar los datos obtenidos.

10. Redes wifi utilizadas recientemente

Para ver las redes wifi usadas recientemente, abro el archivo software, y ahí sigo la siguiente ruta: Microsoft/Windows NT/CurrentVersion/NetworkList/Profiles:

reg1

11. Configuración del firewall de nodo

Para ver la configuración del firewall de nodo, abro el archivo system, y ahí sigo la siguiente ruta: ControlSet001/Services/SharedAccess/Parameters/FirewallPolicy/FirewallRules:

reg2

12. Programas que se ejecutan en el Inicio

Para ver los programas que se ejecutan en el inicio, abro el archivo software, y ahí sigo la siguiente ruta: Microsoft/Windows/CurrentVersion/Run:

reg3

13. Asociación de extensiones de ficheros y aplicaciones

No he podido encontrar en la aplicación Registry Viewer los registros, pero usando regedit en la máquina, se encuentran en la siguiente localización: Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts:

reg4

Volcado de disco

Para realizar el volcado de disco he usado la herramienta FTK Imager también:

ftk1

Selecciono RAW como tipo de imagen:

ftk2

Y, como indica la ayuda, en Fragment size pongo 0, además de indicar la ruta y el nombre del fichero:

ftk3

El resto de los pasos del proceso los dejo con los valores por defecto.

Ahora, para analizar los datos, utilizo Autopsy; para ello, abro el fichero que he creado con FTK Imager, indicamos el direcorio del fichero , y en tipo, selecciono Disk image or VM file:

autopsy1

Tras finalizar la configuración, empezará a analizar el volcado de disco. Este proceso tarda bastante tiempo en completarse. Una vez acabado podemos analizar los datos obtenidos.

9. Dispositivos USB conectados

Para ver los dispositivos USB conectados, utilizo la opción USB Device Attached:

autopsy8

14. Aplicaciones usadas recientemente

Para ver las aplicaciones usadas recientemente, utilizo la opción User Activity del disco duro:

autopsy9

15. Ficheros abiertos recientemente

autopsy9

16. Software Instalado

Para ver el software instalado, utilizo la opción Installed Programs:

autopsy10

18. Cuentas de Usuario

Para ver las cuentas de usuario, utilizo la opción OS Accounts:

autopsy11

19. Historial de navegación y descargas, cookies

Para ver el historial de navegación, utilizo la opción Web History:

autopsy12

Para ver las cookies utilizo la opción Web Cookies:

autopsy13

Para ver el historial de descargas, utilizo la opción Web Downloads:

autopsy14

21. Archivos con extensión cambiada

Los archivos con extensión cambiada aparecen en la sección Analysis Results/Extension Mismatch Detected:

autopsy2

22. Archivos eliminados

Los archivos eliminados aparecen en la sección Recycle Bin:

autopsy3

23. Archivos Ocultos

En la opción para explorar el sistema de archivos, se pueden distinguir los archivos ocultos porque en los metadatos, aparece la etiqueta: Hidden:

autopsy4

24. Archivos que contienen una cadena determinada

Para buscar archivos que contengan una cadena determinada, utilizo la opción Keyword Search:

autopsy5

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

Para buscar imágenes por ubicación, utilizo la opción Geolocation:

autopsy6

26. Búsqueda de archivos por autor

Para buscar archivos por autor, utilizo la opción Metadata:

autopsy7

Apartado B) Máquina Linux

Intenta realizar las mismas operaciones en una máquina Linux para aquellos apartados que tengan sentido y no se realicen de manera idéntica a Windows.

Volcado de memoria

He realizado el volcado de memoria con Lime, que es una herramienta que se utiliza para realizar volcados de memoria en Linux. Para ello, he usado el comando de la siguiente manera (he instalado Lime meadiante su repositorio en github):

insmod lime-4.19.0-23-amd64.ko "path=/mnt/linux/memorialinux.mem format=lime"

Es importante que para realizar el volcado, hay que iniciar el sistema de forma insegura, ya que si no, no permite utilizar el comando.

No he sido capaz de realizar el análisis utilizando volatility, ya que es necesario instalar plugins para interpretar el volcado de memoria, y no los reconoce, por lo que voy a usar los comandos en lugar de trabajar sobre el volcado.

1. Procesos en ejecución

Para ver los procesos en ejecución, utilizo el comando ps aux:

ps1

2. Servicios en ejecución

Para ver los servicios en ejecución, utilizo el comando systemctl:

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

systemctl1

3. Puertos abiertos

Para ver los puertos abiertos, utilizo el comando netstat, que se encuentra en el paquete net-tools:

apt install net-tools
netstat -tulpn

netstat1

4. Conexiones establecidas por la máquina

Las sesiones se pueden observar en el comando netstat utilizado anteriormente.

5. Sesiones de usuario establecidas remotamente

Para ver las sesiones de usuario establecidas remotamente, utilizo el comando who:

who -a

who1

7. Contenido de la caché DNS

En debian, la caché dns está deshabilitada por defecto. Para habilitarla, voy a instalar el paquete nscd (demonio de caché para servicio de nombres), y leer el fichero que genera. El fichero tiene un formato binario, por lo que voy a usar el comando strings para ver su contenido:

strings /var/cache/nscd/hosts

nscd1

8. Variables de entorno

Para ver las variables de entorno, utilizo el comando env:

env1

Volcado de disco

El volcado de disco en linux lo he realizado con el comando dd, que se utiliza para copiar archivos y volúmenes. Para ello, he usado el comando de la siguiente manera:

dd if=/dev/vda2 of=/mnt/linux/volcado_linux.001 bs=64K

dd1

Es imporate que, durante el análisis de la imagen en Autopsy, el tiempo es mucho mayor, y que es de hecho la última fase, cuando ya se encuentra al 100% la que toma más tiempo.

Los apartados rellativos al análisis usando autopsy, o se realizan exactamente igual que en Windows, o no tienen sentido en Linux, por lo que no los están documentados aquí.