Extraer todos los Metadatos de Archivos LNK desde una Imagen Forense utilizando lnk

  • Posted on: 20 May 2015
  • By: ReYDeS

lnk.sh es un script escrito en bash, el cual permite buscar todos los archivos recientes de extensión LNK dentro de una imagen forense, para un nombre de usuario específico. Los archivos conteniendo los resultados obtenidos se copiarán hacia un directorio de salida.

Los archivos LNK son artefactos relativamente simples pero valiosos para un investigador forense. Son archivos de atajo o “acceso directo” los cuales enlazan hacia una aplicación o archivo comúnmente encontrados en el escritorio del usuario o través del sistema, y finalizan con la extensión .LNK. Estos archivo pueden ser creados por el usuario o automáticamente por el sistema operativo Windows. Tienen su propio valor y significado. Los archivos LNK creados son generados cuando un usuario abre un archivo local o remoto, proporcionando a los investigadores información valiosa sobre una actividad sospechosa.

Para la siguiente demostración se utiliza el script incluido en CAINE de nombre “lnk.sh”, ubicado en el directorio de nombre “/usr/share/caine/pacchetti/scripts/”

Al ejecutar el script sin parámetros se muestra la ayuda.

Como se indica en uno de los parámetros del script, se requiere conocer el desplazamiento u offset tal como se obtiene al utilizar el comando “mmls”. Razón por la cual se procede a utilizar este comando contra la imagen forense en análisis.

$ mmls DiscoWindows7.001

Otro dato requerido para ejecutar el script es un archivo conteniendo el listado de los archivos LNK presentes en la partición a analizar, lo cual se genera con el siguiente comando.

$ sudo fls -prF -f ntfs -o 206848 /tmp/imagenes/Windows7/DiscoWindows7.001 | grep lnk$ > /tmp/lnk_list.txt

Al ejecutar el script se presenta un mensaje de error, el cual versa sobre la imposibilidad de ubicar el comando “lnk-parse”.

$ sudo bash lnk.sh /tmp/imagenes/Windows7/DiscoWindows7.001 ntfs 206848 /tmp/lnk_list.txt “Eugenio Dervez”.

Una solución es crear un enlace simbólico con el nombre pertinente y modificar el script para utilizar el nuevo nombre definido. Luego se procede nuevamente a ejecutar el script.

La ejecución del script ha culminado. El mensaje expuesto indica el directorio de salida conteniendo la información de los archivos recientes.

El directorio de salida por defecto tiene el nombre “/recent_files/” ubicado en el directorio actual. En este directorio se encuentra el archivo de nombre “recent_allocated.txt” conteniendo la información de los archivos LNK encontrados. En el directorio de nombre “/file/” se encuentran los archivos LNK originales extraídos desde la imagen forense, y en el directorio de nombre “/meta/” se encuentran archivos conteniendo los metadatos para cada uno de los archivos LNK extraídos desde la imagen forense.

Como ejemplo se muestran los metadatos obtenidos desde uno de los archivos LNK. Anotar la extracción tanto de los metadatos del archivo LNK, como también de los metadatos a nivel del sistema de archivos.

Anotación: Los comandos de nombres “mmls” y “fls” son parte de The Sleuth Kit.

Fuentes:

http://www.caine-live.net/page11/page11.html
http://www.reydes.com/d/?q=Forense_al_Archivo_de_Acceso_Directo_en_Windows
http://forensicswiki.org/wiki/LNK
http://www.magnetforensics.com/forensic-analysis-of-lnk-files/
http://www.sleuthkit.org/sleuthkit/

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
WhatsApp: https://wa.me/51949304030
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
Youtube: https://www.youtube.com/c/AlonsoCaballero
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/