29 abr 2015

Herramientas forense para ser un buen CSI. Parte LV: Línea temporal de PDF

Buenas a todos, tras varios meses volvemos a recuperar la mítica cadena de Herramientas forense para ser un buen CSI, con el post 55, que dedicaremos a la línea temporal

Dentro de los procesos de análisis forense digital, uno de los puntos clave es la línea temporal. Su objetivo es el de intentar determinar el orden en el que se han ido ejecutando los distintos acontecimientos sucedidos en los sistemas afectados, normalmente, por una intrusión maliciosa.

La línea temporal comprende una gran cantidad de análisis, en los que se deben revisar decenas y decenas de logs de servidores web, historiales de navegación, envíos de correos electrónicos, logs de auditoría de objetos del sistema, metadatos de documentos que fueron creados, eliminados o modificados, y un largo etcétera.

Para toda esta labor, yo suelo utilizar scripts propios, desarrollados en bash, batch, python, etc. que me extraigan la información que necesite en cada investigación, la filtren y me la devuelvan de una forma ordenada y fácilmente entendible. En el post de hoy, como ejemplo, os enseñaré a listar todos los documentos de tipo PDF que se encuentran en un equipo Windows, para a continuación, analizar todos sus metadatos y generar la línea temporal de creación/modificación documental.

El primero de los programas que generaremos será linea-temporal-pdf.bat. Su objetivo en primer lugar será el de listar todos los documentos PDF del disco duro, y almacenarlos en un fichero de texto (que luego podremos hashear). Esto lo conseguiremos con una instrucción como la siguiente:

dir C:\ /s /B | find ".pdf" > PDF-documents.txt

Dónde podrá sustuirse "C:\", por la ruta donde se encuentre el pendrive, disco duro o partición de la cual queremos calcular la línea temporal de los documentos PDF.

A continuación llamaremos a un segundo programa, esta vez desarrollado en Python, que se encargará de, dado un documento PDF, extraer sus metadatos. Para ello, recurriremos de nuevo al Bat, que con un bucle FOR, leerá los documentos listados en el fichero PDF-documents.txt antes generado, y extraerá sus metadatos:

FOR /F "tokens=*" %%A IN (PDF-documents.txt) DO python.exe forensic-pdf.py -F %%A

¿Sencillo, no? El código final del BAT sería algo como esto:

Código de linea-temporal-pdf.bat:

dir C:\ /s /B | find ".pdf" > PDF-documents.txt
@ECHO OFF
FOR /F "tokens=*" %%A IN (PDF-documents.txt) DO python.exe forensic-pdf.py -F %%A
Ahora solo nos quedaría desarrollar el programa forensic-pdf.py, que os mostraremos en el próximo post de la cadena.

Saludos!

No hay comentarios:

Publicar un comentario