Proceso de Adquisición de Evidencias Forenses
Proceso de Adquisición de Evidencias Forenses
I. Introducción y objetivos
IV. Comandos
V. Herramientas
XI. Glosario
XII. Bibliografía
Lección 1 de 12
I. Introducción y objetivos
1. Introducción de la unidad
La unidad hará una revisión de los posibles escenarios que el analista podrá encontrar previos al proceso
de adquisición: el equipo en modo encendido, en modo apagado, la virtualización y el modo cloud para
presentar los principales comandos que el analista forense debe conocer en sistemas operativos
Windows y Linux.
Se dedicará una sección específica al sistema encendido, y a la especial volatilidad de la memoria RAM,
dada la criticidad de la información que se puede extraer de una adquisición satisfactoria de esta, y que
con su análisis posterior podrá permitir al analista responder las principales preguntas de la
investigación.
C O NT I NU A R
2. Objetivos de la unidad
5 Lograr una visión general de las principales herramientas utilizadas para la adquisición de
evidencias.
6 Proveer de las nociones básicas sobre las distribuciones forenses más habituales.
Lección 2 de 12
PR O C E S O DE A DQ UI S I C I Ó N
El proceso de adquisición es uno de los más críticos en todo el proceso forense, y debe comenzar por
recoger las evidencias volátiles mediante una herramienta y documentar todos y cada uno de los pasos
ejecutados, incluyendo los errores, para poder analizar pormenorizadamente esta adquisición y redactar el
informe de conclusiones final, adquiriendo todas las evidencias posibles.
Se recomienda comenzar por tomar una fotografía de la escena, una captura de pantalla (siempre que esté
encendido el equipo) en la que salgan la fecha y la hora, para continuar con las evidencias volátiles:
conexiones de red, procesos, los usuarios logados y adquisición de memoria RAM, y se continúa con los no
volátiles, es decir, el disco, y, por último, evidencias como CD, pendrives, logs…
Sistema encendido
–
Como ya se apuntó en la Unidad 2, uno de los puntos esenciales antes de la adquisición de evidencias es
asegurar la escena. Para ello, si el sistema se encuentra encendido, este no se apagará. Y se procederá a
la recogida de evidencias volátiles.
Sistema apagado
–
De igual manera, si se encuentra el sistema apagado, este no se encenderá y se procederá al clonado.
Sistema virtualizado
–
Para ello, el administrador deberá clonar el sistema virtual. Haciendo esto se podrán obtener las evidencias
volátiles, y, a continuación, ya sí se podrá apagar el equipo y trasladarlo al laboratorio forense.
Sistema en la nube
–
En caso de que los sistemas atacados se alojen en la nube, antes de proceder al análisis forense o incluso
a la adquisición de evidencias, habrá que estar al contrato que regule la relación entre la organización y el
proveedor cloud, ya que es frecuente que los sistemas se compartan con terceros, lo que inhabilitaría la
posibilidad de realizar el forense.
Una vez conocidos los tipos de escenarios que se pueden dar, se presentan aquí una serie de
recomendaciones y buenas prácticas que el analista o perito debe tener en cuenta a la hora de proceder con
la adquisición de evidencias y que posibilitan tanto el propio proceso de obtención de datos como su
posterior preservación, análisis y presentación en un informe final de conclusiones. Como ya se apuntó en la
Unidad 2, seguir una metodología facilita todo el análisis forense y cada una de sus fases.
C O NT I NU A R
Buscar en dicho entorno todo tipo de notas asociadas a las contraseñas y al pin de acceso a
los equipos o ficheros.
Etiquetar convenientemente todos los dispositivos y el cableado asociado con las evidencias
de interés.
Localizar todos los equipos inalámbricos instalados, tanto los visibles como los ocultos,
determinando los modos de comunicación que usan. Si la escena lo recomienda, deben
activarse equipos que la inhiban de interferencias radioeléctricas externas.
Adquirir tantas evidencias como sea posible para tener la posibilidad de saber qué sistema se
ha visto comprometido, así como aquellos con los que ha podido actuar. Será mejor descartar
aquellas que no son útiles, que se rompan, a que falte información.
Los datos en un sistema encendido tienen un determinado orden de volatilidad que determina la
permanencia de esta información disponible para su adquisición. Por este motivo, este proceso se debe
iniciar con aquellos datos que vayan a permanecer disponibles en los equipos el menor tiempo, es decir, los
más volátiles.
Se debería tener especial cuidado ante la presencia de discos cifrados o ficheros que exijan contraseñas
para su software de acceso, así como ante el estudio de software dañino o malicioso (malware) diverso.
En este caso, unos correctos procedimientos forenses para la adquisición de la memoria volátil son
fundamentales para obtener, según los casos, el software y la información almacenados en ellos, o para
averiguar de qué tipo de malware se trata.
Cuando se enciende el ordenador, el microprocesador lee las primeras instrucciones desde un tipo de
memoria no volátil llamada ROM, que es de solo lectura. Por lo que la adquisición de esta memoria solo
podrá realizarse en sistema encendido.
A la hora de la adquisición de la memoria RAM, la primera instrucción que ejecuta se llama POST —
Power-on self-test (autoprueba de encendido)—, y le ordena que compruebe el funcionamiento de los
componentes más importantes del sistema.
Una vez se asegura que la memoria se encuentra en perfecto estado, se carga el BIOS (Basic Input
Output System) o UEFI (Unified Extensible Firmware Interface, a partir de Windows 8 en adelante), que
provee información acerca de los dispositivos de almacenamiento con que cuenta el ordenador.
Posteriormente, inicia el sistema operativo y se copia a la memoria, lo que determina que es un elemento
muy importante para analizar.
Conexiones activas.
Datos de texto.
Contraseñas.
Elementos ocultos.
Direcciones web.
Correos electrónicos.
Lección 4 de 12
IV. Comandos
4.1. Windows
Utiliza NetBIOS sobre TCP/IP para mostrar las estadísticas de las conexiones actuales de TCP/IP y del
protocolo.
I F C O N F I G E T H0 G A I N I N G I N S I G HT WHO - U PS - E F
I F C O N F I G E T H0 G A I N I N G I N S I G HT WHO - U PS - E F
I F C O N F I G E T H0 G A I N I N G I N S I G HT WHO - U PS - E F
Una vez vistos los ejemplos anteriores, se procederá a explicar los comandos necesarios para la adquisición
de evidencias, primando el orden de volatilidad.
Lección 5 de 12
V. Herramientas
Una vez ejecutada, se creará un fichero “[Link]” con el contenido de toda la memoria RAM.
C O NT I NU A R
Raw Copy se proporciona en código fuente desarrollado en un lenguaje parecido a Basic que se compone de
un framework llamado AutoScript.
C O NT I NU A R
5.4. WinAudit
WinAudit es un software gratuito, de código abierto, que puede ser usado o distribuido por cualquier persona,
y que permite realizar un análisis completo de cualquier equipo que funcione bajo el sistema operativo
Windows.
“[Link]”: “/r=gsoPxuTUeERNtnzDaIbMpmidcSArCOHG/f=“c:\users\pesanchez\Desktop\[Link]”.
C O NT I NU A R
5.5. PsTools
Consiste en una serie de herramientas en línea de comandos que ayudan a administrar sus sistemas
Windows. Permiten gestionar los sistemas remotos, así como en local. Es una de las herramientas más
famosas y utilizadas por los equipos de IT.
PsFile: los archivos abiertos de forma remota se muestran con esta herramienta.
PS LI S T T C PV I E W PS LO G E E DO N
PS LI S T T C PV I E W PS LO G E E DO N
Figura 21. Funcionamiento en modo gráfico de la herramienta PsTools con TCPView.
Fuente: elaboración propia.
PS LI S T T C PV I E W PS LO G E E DO N
WMI (Windows Management Instrumental) es un conjunto de librerías y funciones que permiten obtener
información y gestionar y administrar de forma local o remota el sistema.
Las opciones de administración son las siguientes
–
Configurar el registro de errores. Se puede activar o desactivar el registro de errores, y si está activo,
se puede configurar para registrar solo los errores (opción predeterminada) o todas las acciones
(registro detallado).
Copia de seguridad del repositorio. WMIC permite administrar equipos locales y remotos, y, además,
se podría ejecutar todo un conjunto de tareas tales como iniciar, detener u obtener información de
servicios o procesos cambiando las configuraciones del equipo al que se esté accediendo.
WMI viene instalado por defecto en todas las versiones de Windows, con lo cual no hay que descargarlo
desde internet. Normalmente funciona en modo comando.
WMIC BIOS.
6.1. OSForensics
Es un sistema basado en Linux y utilizado para la investigación digital y la adquisición de evidencias. Entre
las herramientas incluidas en OSForensics se encuentran: Autopsy, Sleuth Kit, Log2timeline, Xplico, y
Wireshark. El sistema funciona bajo Linux, Windows y Mac OS. Es un producto comercial.
6.2. CAINE
Se trata de una distribución Linux desarrollada para desempeñar investigaciones forenses digitales. En ella
se dispone de un entorno forense completo y fácil de usar, debido a que presenta GUI. Resulta de gran
utilidad para la realización de imágenes de discos debido a que puede ser ejecutada desde un dispositivo
USB configurado en modo de arranque.
Para un correcto funcionamiento, las aplicaciones deberían estar en un disco duro externo con dos
particiones, una en modo lectura para las propias aplicaciones y el script que las automatiza, y la otra
partición, en modo escritura, para almacenar los datos del resultado de la ejecución del script.
T R I A JE
El término triaje implica la adquisición de evidencias sin llegar a realizar el clonado del disco.
Este tipo de herramientas cogen los elementos fundamentales desde el punto de vista forense y hacen
una adquisición y los guardan en una carpeta para un posterior análisis de esa carpeta. ¿Qué va a
contener esta carpeta? Información del sistema, procesos, servicios y del registro de Windows, va a
hacer una adquisición de la RAM, los logs del sistema de Windows, las copias de seguridad…, es decir,
los elementos fundamentales.
WINDOWS LINUX
BAT/CMD.
WMI. Bash.
Powershell (nativo desde W7, W8, W10 y C/C++.
servidores).VBS (Visual Basic Script) y JS Python/Perl.
(JavaScript).
C O NT I NU A R
6.4.1. Script en CMD
Se encuentra en todas las versiones de Windows y es una de las más recomendadas por su
interoperabilidad y compatibilidad. Aunque su lenguaje no es potente, permite cumplir al 100 % con el
cometido de la adquisición de evidencias volátiles.
@echo off
mkdir c:\evidencias
mkdir c:\evidencias\logs
FOR /R C:\\ %%a in (*.log) DO COPY "%%a" c:\\evidencias\\logs
A continuación, se muestra un script más elaborado. Este script utiliza variables del sistema que permiten
crear carpetas con el nombre del usuario y el equipo.
Figura 34. Ejemplo de script para crear carpetas.
Fuente: elaboración propia.
Las siguientes líneas ejecutan los comandos del sistema operativo y guardan su resultado en las carpetas
anteriormente creadas por las variables.
Figura 35. Ejemplo de script para ejecutar los comandos y guardar el resultado de
estos en carpetas..
Fuente: elaboración propia.
A continuación, un ejemplo todavía más elaborado que los anteriores, dado que, además de ejecutarse, crea
un archivo donde va guardando los comandos que va ejecutando. El fichero donde se guarda se llama
“_Processing_Details.txt”.
Figura 36. Ejemplo de script para ejecutar los comandos y guardar estos y su
resultado en carpetas..
Fuente: elaboración propia.
C O NT I NU A R
Evidentemente, este lenguaje se puede optimizar y desarrollar mucho más para la adquisición de evidencias.
En el ejemplo siguiente se definen las variables y las consultas que se han de realizar (listar procesos).
C O NT I NU A R
Se muestra aquí un script básico de adquisición de evidencias volátiles en el que se ve el log de seguridad
de Windows desde hace un día.
A continuación, un script en Powershell muy elaborado que permite realizar la adquisición de evidencias con
solo ejecutarlo.
C O NT I NU A R
Bash es un intérprete de comandos que, por lo general, se ejecuta en una ventana de texto y puede leer y
ejecutar órdenes desde un archivo. Está basado en la shell de Unix y es el intérprete de comandos por
defecto en la mayoría de las distribuciones de Linux.
Desde Bash se pueden hacer scripts para casi todo y permite la gestión del sistema automatizando
procesos rutinarios, como copias de seguridad o gestión de servidores.
En el siguiente script se puede crear un menú interactivo que vaya preguntando las acciones que se van a
realizar.
Figura 46. Script para la creación de un menú interactivo en Bash de Linux.
Fuente: elaboración propia.
Esta es su ejecución:
Figura 47. Ejecución del script anterior.
Fuente: elaboración propia.
Además, el alumno ha podido conocer los principales comandos utilizados tanto en Windows como en
Linux para la obtención de datos volátiles, para, a continuación, adentrarse en el conocimiento de las
herramientas más utilizadas a la hora de adquirir evidencias, y la utilidad de cada una de ellas: Ram
Capturer, Raw Copy, Last Activity View, WinAudit, PsTools y Windows Management Instrumental.
Para concluir, se ha mostrado una compilación de las distribuciones forenses más utilizadas en la
práctica de la adquisición de evidencias: OSForensics, CAINE y SIFT Workstation, así como toda una
recopilación de scripts para realizar triaje sin necesidad de clonar el disco, lo que permiten los scripts en
CMD, en VBS, en PowerShell y en Bash, en el caso de equipos con sistemas operativos Linux.
Lección 8 de 12
ENUNCIADO
Para la correcta compresión de toda la información estudiada en la unidad se presentan una serie de
preguntas para responder por el alumno. Dichas preguntas serán enfocadas sobre las evidencias
adquiridas por una herramienta de scripting llamada Windows Live Response.
La idea de este caso práctico es que el estudiante ejecute la herramienta en su propio PC y responda a
algunas preguntas acerca de la información que Windows Live Response ha extraído y sobre cómo ha
sido extraída.
FICHEROS Y HERRAMIENTAS
Fichero: “XXNOMBRE-EQUIPOXX_aaaammdd_hhmmss.zip”.
Este archivo se generará tras la ejecución de la herramienta Windows Live Response en el mismo
directorio en que se encuentre.
SE PIDE
¿Cuál ha sido el comando que Windows Live Response ha ejecutado para obtener las tareas
programadas?
¿Dónde guarda Windows Live Response información relativa a los eventos del sistema?
Bonus. ¿Cómo consigue Windows Live Response preservar las evidencias encontradas y mantener, así,
la cadena de custodia? Comenta todo el proceso. Apóyate en la pregunta anterior, hashes generados…
VER SOLUCIÓN
Solución
1
Figura 1.
Fuente: elaboración propia.
Windows almacena las contraseñas de los usuarios en formato hash en una base de datos
guardada en un archivo de registro llamado “SAM”. WLR almacena este archivo en forma de
hash en la ruta “WLR_OutPut\LiveResponseData\CopiedFiles\registry\SAM”. Dicho archivo es
generado utilizando la herramienta md5deep por WLR.
2
Figura 2.
Fuente: elaboración propia.
Figura 3.
Fuente: elaboración propia.
Figura 4.
Fuente: elaboración propia.
Figura 5.
Fuente: elaboración propia.
¿Cuál ha sido el comando que Windows Live Response ha ejecutado para obtener las tareas
programadas?
WLR ha ejecutado el comando schtasks /query /fo LIST /v. Navegando por el archivo
“WLR_OutPut\##PCNAME##_aaaammdd_hhmmss_Procesing_Details.txt” se puede encontrar
este comando. Schtaks es un comando que se utiliza cuando hay que crear, modificar, eliminar,
etc., una tarea programada.
6
Figura 6.
Fuente: elaboración propia.
¿Dónde guarda Windows Live Response información relativa a los eventos del sistema?
Figura 7.
Fuente: elaboración propia.
Figura 8.
Fuente: elaboración propia.
¿Existe algún método (hash, por ejemplo) para verificar que la información de los eventos es
esa y no otra que se ha falsificado? En caso afirmativo, indica dónde se almacenan los hashes
de los eventos del sistema que diagnosticar, no de los archivos creados por Windows Live
Response.
Sí. WLR genera hash de todos los archivos de la máquina que se desea analizar. Por ejemplo, esos
hashes se pueden encontrar en el archivo “Hashes_md5_System32_AllFiles_and_Dates.txt”. Se
puede observar cómo realiza un hash de todos los archivos .EVTX y más archivos que se van a
analizar.
9
Figura 9.
Fuente: elaboración propia.
10
Figura 10.
Fuente: elaboración propia.
Figura 11.
Fuente: elaboración propia.
Bonus. ¿Cómo consigue Windows Live Response preservar las evidencias encontradas y
mantener, así, la cadena de custodia? Comenta todo el proceso. Apóyate en la pregunta
anterior, hashes generados…
Para no romper la cadena de custodia, además de guardar detalles del proceso en al archivo
“WLR_OutPut\##PCNAME##_aaaammdd_hhmmss_Procesing_Details.txt”, genera hashes de
todos los archivos creados por la aplicación. También genera hashes de todos los archivos más
relevantes desde el punto de vista forense, incluyendo archivos temporales.
También es necesario destacar que se generan varios hashes de los archivos de la carpeta
“C:\WINDOWS” del equipo que se analiza. Estos hashes se almacenan en el archivo
“forecopy_handy.log” en la ruta
“WLR_OutPut\##PCNAME##_aaaammdd_hhmmss_File_Hashes.txt”.
12
Figura 12.
Fuente: elaboración propia.
13
Figura 13.
Fuente: elaboración propia.
14
Figura 14.
Fuente: elaboración propia.
Lección 9 de 12
Carvey, Harlan. Digital Forensics with Open Source Tools: Using Open Source Platform Tools for
Performing Computer Forensics on Target Systems: Windows, Mac, Linux, Unix. Syngress; 2001.
Martínez Retenaga, Asier. Guía de toma de evidencias en entornos Windows. Instituto Nacional de
Ciberseguridad; 2014.
Lección 10 de 12
X. Enlaces de interés
Autopsy
Awesome Forensics
CAINE
PSTools
RAM Capturer
Raw Copy
WinAudit
Wireshark
WMI
Lección 11 de 12
XI. Glosario
CAINE
–
Es una distribución Linux desarrollada para desempeñar investigaciones forenses digitales.
Datos volátiles
–
Datos que tienen carácter temporal y cuyo contenido se pierde al interrumpirse el flujo eléctrico o al
reiniciarse el sistema. Ejemplo: memoria RAM.
DEFT
–
Distribución basada en Linux que permite la adquisición de evidencias.
Malware
–
Virus o gusano que típicamente afecta a múltiples dispositivos corporativos y que puede parar o ralentizar
el servicio.
Memoria RAM (Random Access Memory)
–
Memoria de acceso aleatorio que se utiliza como la memoria de trabajo para los equipos, la mayor parte
del software y sistemas operativos.
OSForensics
–
Sistema basado en Linux y utilizado para la investigación digital y la adquisición de evidencias.
Raw Copy
–
Contiene un arsenal de programas orientados a la respuesta ante incidentes y avanzadas técnicas
forenses digitales.
SIFT Workstation
–
Contiene un arsenal de programas orientados a la respuesta ante incidentes y avanzadas técnicas
forenses digitales.
Triaje (script)
–
Concepto que proviene de Estados Unidos y que permite la adquisición de evidencias de un ordenador o
dispositivo de forma automatizada.
WinAudit
–
Utilidad de inventario para ordenadores Windows.
WMI (Windows Management Instrumental)
–
Conjunto de librerías y funciones que permiten obtener información y gestionar y administrar de forma local
o remota el sistema.
Lección 12 de 12
XII. Bibliografía
Altheide, Cory; Carvey, Harlan. Digital Forensics with Open Source Tools: Using Open Source
Platform Tools for Performing. Syngress; 2011.
Association of Chief Police Officers. Good Practice Guide for Computer-Based Electronic
Evidence. 2018.
Hale, Michael. Memory, Mac; The Art of Memory Forensics: Detecting Malware and Threats in
Windows, Linux, and Mac Memory. Wiley; 2014.
Ramshankar, Ramprasad. A Forensic Analysis of the Encrypting File System. SANS Institute;
2021.