dfdatetime: Análisis Forense de Fechas
dfdatetime: Análisis Forense de Fechas
dfdatetime es una biblioteca de Python desarrollada por el equipo de Google (específicamente para el proyecto Log2Timeline/Plaso) que se utiliza para manejar formatos de fecha y hora en análisis forenses digitales.
En Kali Linux, esta herramienta es fundamental para normalizar marcas de tiempo de diferentes sistemas de archivos y registros (logs) que utilizan formatos no estándar.
¿Para qué sirve dfdatetime?
Cuando realizas un análisis forense, te encuentras con fechas guardadas de formas extrañas. dfdatetime traduce esos valores a algo que los humanos (y otros programas) puedan entender. Algunos ejemplos de lo que puede procesar:
Cocoa Time: Usado en dispositivos Apple (segundos desde el 1 de enero de 2001).
FAT Timestamps: El formato antiguo de Windows/DOS.
Filetime: El formato de precisión de 100 nanosegundos de Windows NT.
POSIX/Unix timestamps: Segundos desde 1970.
Cómo instalarlo en Kali Linux
Normalmente, si usas herramientas como Plaso, ya vendrá instalado. Si necesitas instalarlo manualmente para tus propios scripts de Python, usa:
sudo apt update
sudo apt install python3-dfdatetime
O mediante pip si prefieres un entorno virtual:
pip install dfdatetime
Ejemplo rápido de uso en Python
Si tienes un valor de tiempo de Windows (Filetime) y quieres convertirlo, el código se vería así:
from dfdatetime import filetime
# Un ejemplo de timestamp de Windows (64-bit FILETIME)
timestamp = 132539520000000000
filetime_object = filetime.Filetime(timestamp=timestamp)
print(filetime_object.CopyToDateTimeString())
¿Por qué es importante en Kali?
En el contexto de DFIR (Digital Forensics and Incident Response), la precisión es crítica. Una mala interpretación de un segundo puede arruinar una línea de tiempo criminal. dfdatetime asegura que:
No haya errores de redondeo.
Se manejen correctamente las precisiones de nanosegundos.
Se soporten fechas anteriores a 1970 o muy lejanas en el futuro.