Microsoft Office (archivos recientes, documentos de confianza, configuración de macros)¶
Qué registra Office¶
Microsoft Office guarda, por usuario en NTUSER.DAT y por versión y aplicación:
- Archivos y ubicaciones recientes:
File MRU, los documentos que abrió una aplicación, yPlace MRU, las carpetas desde las que los abrió, cada elemento con la hora en que se abrió por última vez. Microsoft 365 también mantiene una lista por cada cuenta con sesión iniciada (User MRU\<account>). - Documentos de confianza: cuando un usuario hace clic en Habilitar edición (Enable
Editing) o Habilitar contenido (Enable Content) en un documento, Office lo recuerda en
TrustRecords: la ruta del documento, cuándo se consideró de confianza y si se habilitaron sus macros. - Configuración de macros:
VBAWarnings(qué macros se ejecutan),BlockContentExecutionFromInternet(si se bloquean las macros de archivos procedentes de Internet),AccessVBOM(si los programas pueden modificar proyectos VBA) y las ubicaciones de confianza, carpetas cuyos documentos ejecutan macros sin preguntar. La directiva de grupo puede establecer lo mismo enSoftware\Policies.
Un documento malicioso normalmente necesita que el usuario habilite sus macros: un registro de confianza con las macros habilitadas vincula el documento, el usuario y una hora.
Mejor conclusión: el usuario abrió este documento en esta aplicación (por última vez a esta hora); el usuario habilitó la edición o las macros de este documento a esta hora; Office estaba configurado para ejecutar macros de esta manera.
Ubicación¶
C:\Users\<user>\NTUSER.DAT
Software\Microsoft\Office\<version>\<application>\File MRU Item 1, Item 2, …
Software\Microsoft\Office\<version>\<application>\Place MRU
Software\Microsoft\Office\<version>\<application>\User MRU\<account>\File MRU
Software\Microsoft\Office\<version>\<application>\Security\Trusted Documents\TrustRecords
Software\Microsoft\Office\<version>\<application>\Security VBAWarnings, …
Software\Microsoft\Office\<version>\<application>\Security\Trusted Locations\LocationN
Software\Policies\Microsoft\Office\<version>\<application>\Security by policy
Versiones: 16.0 es Office 2016 y posteriores (2019, 2021, 2024, Microsoft 365), 15.0 Office
2013, 14.0 Office 2010 y 12.0 Office 2007.
Un elemento tiene el aspecto
[F00000000][T01D86AF6D3C287B0][O00000000]*C:\Users\alice\report.docx: T es la hora de la
última apertura (un FILETIME en hexadecimal) y la ruta sigue a *. Un registro de confianza ocupa
24 bytes: el FILETIME en que el documento se consideró de confianza y, a continuación, sus
indicadores en los últimos 4 bytes: 0x7FFFFFFF cuando se habilitaron sus macros y 0x00000001
cuando solo se habilitó su edición.
Precauciones para el analista¶
- Horas.
LastOpenedUTCes la hora propia de cada elemento.TrustedAtUTCes el momento en que el usuario confió en el documento, cuando hizo clic en Habilitar edición o Habilitar contenido, que puede ser anterior a la apertura más reciente. - Macros habilitadas, no ejecutadas.
MacrosEnabledindica que el usuario habilitó las macros del documento; no prueba que se ejecutara una macro ni lo que hizo. Correlacione con la creación de procesos, Prefetch, los registros de PowerShell y el propio documento. - Rutas tal como las almacena Office. Los registros de confianza designan el documento mediante
una ruta que puede usar
%USERPROFILE%, barras diagonales, una URLfile:///y codificación URL (%20). Los elementos MRU de documentos en la nube son URL. - Valores predeterminados y directiva efectiva. Office crea ubicaciones de confianza
predeterminadas (
Templates,XLSTART,STARTUP, …). ElDatede una ubicación es una pista útil, no una prueba de quién la creó: los administradores, los scripts, las directivas y las configuraciones del Registro copiadas también pueden rellenarla. La ausencia deVBAWarningspor sí sola no determina la directiva de macros efectiva. También influyen la versión de Office, el marcado de archivos procedentes de Internet y otras opciones de administración. Microsoft explica el bloqueo de macros de Internet. - Documentos eliminados. Las listas sobreviven a los documentos; un archivo que ya no existe puede seguir apareciendo aquí. Las listas son cortas y se vacían con la opción Borrar elementos no anclados (Clear unpinned items) de Office y con las herramientas de limpieza.
Análisis con Juntei¶
Usage: juntei parse-registry office <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Recursively find NTUSER.DAT hives
-f, --file <FILE> Parse one NTUSER.DAT
--log1/--log2 Supply transaction logs explicitly
--no-logs Do not replay logs
Output:
-o, --output <FILE> Save records
-t, --output-type <TYPE> csv, json, or jsonl
juntei parse-registry office -d evidence/ -o office.csv
juntei parse-registry office -f NTUSER.DAT -t jsonl | jq 'select(.MacrosEnabled == true)'
El resumen enumera los documentos cuyas macros se habilitaron, las opciones que permiten ejecutar
macros con más libertad (VBAWarnings 1, BlockContentExecutionFromInternet 0, AccessVBOM 1,
AllowNetworkLocations 1), las ubicaciones de confianza que añadieron los usuarios o que
estableció una directiva, y los últimos documentos abiertos.
Campos de salida¶
| Campo | Interpretación |
|---|---|
Host, User, UserSID, SourcePath |
Host, el propietario del perfil (a partir de la ruta o de las carpetas del shell), el SID del ProfileList del sistema y el hive. |
OfficeVersion, App |
La clave de la versión (16.0) y la aplicación (Word, Excel, …). |
List |
File MRU, Place MRU, TrustRecords, Security o Trusted Locations. |
Account |
La cuenta de Microsoft 365 de una lista User MRU. |
Policy |
Si la opción o la ubicación la establece una directiva. |
MRU-Position, IsMostRecent |
La posición de un elemento en su lista (Item 1 es 0, el más reciente). |
Path |
El documento o la carpeta; la ruta de un documento de confianza tal como se almacena; el Path de una ubicación de confianza. |
LastOpenedUTC |
Cuándo se abrió el elemento por última vez. |
TrustedAtUTC, MacrosEnabled, TrustFlags |
Cuándo se consideró de confianza el documento, si se habilitaron sus macros y los indicadores del registro. Los indicadores desconocidos dejan MacrosEnabled vacío y generan un diagnóstico. |
Setting, Value |
Una opción de macros y su valor con su significado (1 (all macros enabled)); la clave de una ubicación de confianza (Location3) y sus demás valores (AllowSubFolders=1; Date=…; Description=…). |
KeyPath, KeyLastWrittenUTC |
La clave y su última escritura. |
DataRaw |
Los bytes del valor (en hexadecimal) cuando no se decodifican. |
TransactionLogStatus, LogsApplied |
Contexto de la recuperación del Registro. |
Problems |
Elementos sin * o con una hora que no es válida, registros de confianza que no ocupan 24 bytes, ubicaciones sin Path y tipos incorrectos. |
Estrategia de investigación¶
- Empiece por
MacrosEnabledverdadero: los documentos, cuándo y quién. Localice los archivos ($MFT, Diario USN,Zone.Identifier), su origen (historial del navegador y del correo) y lo que se ejecutó a continuación. - Revise la configuración de macros y las ubicaciones de confianza: todas las macros habilitadas,
macros de Internet sin bloquear, acceso a proyectos VBA o una ubicación añadida por el usuario
(en
Downloads,Temp, un recurso compartido de red) debilitan los valores predeterminados. - Sitúe
LastOpenedUTCen la línea de tiempo junto con los archivos LNK, las Jump Lists y RecentDocs para las rutas de los documentos, incluidas las ubicaciones extraíbles y de red.