← Volver al blog

Datos residentes: pequeños archivos que viven dentro del MFT

· 2 min de lectura

Cada archivo NTFS tiene un atributo $DATA que contiene su contenido. En la mayoría de los archivos, $DATA es no residente — apunta a una lista de cluster runs en otra parte del volumen. Pero cuando un archivo es suficientemente pequeño, sus bytes viven dentro del propio registro MFT.

¿Cuán pequeño es suficiente?

Un registro MFT ocupa 1024 bytes. Resta la cabecera del registro, $STANDARD_INFORMATION, al menos un $FILE_NAME y otros metadatos, y quedan aproximadamente 700 bytes de espacio utilizable para $DATA.

Los archivos más pequeños que eso — fragmentos de configuración, valores de registro, destinos de accesos directos, scripts batch, ciertas líneas de log — suelen vivir por completo dentro del MFT.

Por qué importa

Un atributo $DATA residente puede recuperarse sin leer el resto del disco. Si tienes una copia del $MFT, ya tienes:

  • El contenido íntegro de los archivos de texto pequeños
  • Gran cantidad de datos $INDEX_ROOT de carpetas
  • Flujos de datos alternativos cortos
  • Puntos de reparse y destinos de enlaces simbólicos

Es una cantidad sorprendente de evidencia en un único extracto de 200 MB.

Residente no significa estable

Cuando un archivo residente crece más allá del espacio libre del registro, NTFS lo convierte en no residente — los datos se trasladan a clusters y $DATA se convierte en runlist. También puede ocurrir lo contrario: un archivo reducido por debajo del umbral puede volver a ser residente, aunque Windows lo hace pocas veces de forma espontánea.

En triaje, un archivo que antes era grande y ahora es residente es inusual. Merece una mirada más detenida.

Recursos externos