Cada registro MFT guarda cuatro timestamps en dos atributos distintos — $STANDARD_INFORMATION y $FILE_NAME. Ambos registran los mismos cuatro momentos:
- Creación — primera escritura del archivo en el volumen
- Modificación — última vez que cambió el contenido
- Acceso — última lectura del archivo
- Modificación MFT — última actualización del propio registro
Eso da ocho valores por registro. No siempre están sincronizados.
Por qué existen dos conjuntos
$STANDARD_INFORMATION (SI) se actualiza con cada operación de archivo rutinaria. $FILE_NAME (FN) se añadió originalmente para compatibilidad POSIX y se actualiza mucho menos a menudo — normalmente solo al crear, renombrar o mover entre carpetas.
En la práctica, los timestamps SI cambian constantemente mientras los FN se mantienen estables.
El timestomping deja huella
Las herramientas que alteran timestamps suelen llamar a la API de Windows SetFileTime. Esta escribe en SI. No toca FN.
Tras un timestomping, SI muestra lo que el atacante eligió — a menudo retrocedido años — mientras FN sigue reflejando la fecha real de creación, a veces con una diferencia considerable.
Dos patrones a observar en un triaje:
- Creación SI anterior a creación FN. Un archivo no puede existir antes de ser nombrado: imposible de forma natural.
- SI y FN modificación difieren en más de unos segundos para un archivo que claramente no se ha renombrado ni movido.
Cualquiera de los dos es un indicio fuerte de manipulación de metadatos.
La granularidad dice aún más
NTFS guarda los timestamps con resolución de 100 nanosegundos, pero muchas herramientas de timestomping redondean al segundo. Un timestamp terminado en .0000000 UTC es sospechoso — la actividad natural de Windows suele dejar intacta la precisión por debajo del segundo.