Skip to content

Cómo recopilar los registros unificados de macOS

Recopile los registros unificados de macOS con log collect, una copia de diagnostics y uuidtext, UAC, Velociraptor o mac_apt, sin lagunas.

Publicado el 3 min de lectura

En resumen. Recopile el almacén completo, no solo los archivos .tracev3: el texto de los mensajes está en uuidtext y dsc, y las marcas de tiempo necesitan timesync. En un Mac en vivo, sudo log collect lo reúne todo en un único .logarchive. Desde una imagen o con una herramienta de triaje, copie /private/var/db/diagnostics y /private/var/db/uuidtext respetando su estructura. Todos los métodos siguientes producen algo que Unified Log Parser abre directamente.

Qué debe obtener

NecesarioMotivo
diagnostics/Persist, Special, Signpost, HighVolumelas entradas (.tracev3)
diagnostics/timesyncconvierte las horas relativas al arranque a UTC
uuidtext/00…FFcadenas de formato de cada binario
uuidtext/dsccadenas de la caché compartida de dyld (la mayoría de los frameworks de Apple)

La ficha de los registros unificados en Mac Forensics resume las rutas y la retención; este artículo se centra en obtener una copia completa.

Opción 1: log collect (Mac en vivo, recomendada)

sudo log collect --output ~/Desktop/$(hostname -s).logarchive
ditto -c -k --keepParent ~/Desktop/$(hostname -s).logarchive ~/Desktop/$(hostname -s).logarchive.zip

log collect copia el almacén, los archivos de cadenas y timesync en un único paquete, además del búfer en memoria (logdata.LiveData.tracev3). --last 3d, --start y --size limitan la recopilación cuando el almacén completo es demasiado grande; también existe --predicate, pero, según la propia ayuda de Apple, penaliza el rendimiento y la memoria. Siempre que pueda, escriba en un soporte externo y anote el comando y la hora en UTC.

Un .logarchive es un paquete de macOS, es decir, una carpeta. Calcule el hash de los archivos que contiene, o comprímalo con ditto y calcule el hash del ZIP. Algunos selectores de archivos no permiten seleccionar un paquete; arrastrarlo a la página del analizador funciona, y el ZIP también.

Opción 2: copiar las carpetas en bruto

OUT=/Volumes/EVIDENCE/$(hostname -s)_ul
sudo mkdir -p "$OUT"
sudo ditto /private/var/db/diagnostics "$OUT/diagnostics"
sudo ditto /private/var/db/uuidtext "$OUT/uuidtext"

Así se conservan archivos que log collect podría omitir (archivos Special antiguos fuera de la ventana temporal) y no interviene ninguna herramienta de Apple, algo que algunos equipos prefieren. El almacén se sigue escribiendo mientras copia, por lo que el archivo más reciente puede quedar incompleto; el analizador señala los archivos dañados en lugar de fallar.

Opción 3: herramientas de triaje

UAC. El artefacto macos_unified_logs copia los archivos tracev3, la carpeta uuidtext y timesync, y el perfil ir_triage lo incluye:

sudo ./uac -a ./artifacts/files/logs/macos_unified_logs.yaml /Volumes/EVIDENCE

UAC genera un .tar.gz de forma predeterminada (-f zip para un ZIP). Arrástrelo tal cual: el analizador lee el archivo en flujo y conserva solo los archivos de los registros unificados.

Velociraptor. No incluye un artefacto específico para los registros unificados de macOS; use Generic.Collectors.File con Root / y los patrones private/var/db/diagnostics/** y private/var/db/uuidtext/**, en una búsqueda (hunt) o en un recolector sin conexión, y luego arrastre el ZIP de la recopilación.

Aftermath. Aftermath, de Jamf, no copia el almacén; guarda los resultados de un conjunto de predicados de log show. Consérvelos y obtenga además un .logarchive.

mac_apt. Desde una imagen, el complemento UNIFIEDLOGEXPORT exporta los archivos tracev3, uuidtext y dsc a Export/UNIFIEDLOGEXPORT.

Opción 4: desde una imagen de disco

Monte el volumen Data en solo lectura. En un Mac, log collect puede reconstruir un archivo a partir de un almacén sin conexión siempre que uuidtext esté junto a diagnostics:

sudo log collect --directory /Volumes/Image/private/var/db/diagnostics --output ~/case.logarchive

En Linux, copie ambas carpetas respetando su estructura, por ejemplo cd /mnt/mac/private/var/db && zip -r ~/case_ul.zip diagnostics uuidtext.

Errores habituales

  • Falta uuidtext: el error más frecuente. El analizador muestra las entradas, pero marca sus mensajes como no resueltos.
  • Recopilar tarde: el almacén rota por tamaño y sudo log erase lo elimina. Recopile antes de cualquier otra acción que genere muchos registros.
  • Solo texto de log show: una exportación sirve para un vistazo rápido, pero depende de las opciones utilizadas (--info, --debug, --signpost, --timezone). Consulte exportar y construir cronologías.
  • Rutas aplanadas: las herramientas que copian los archivos sin sus carpetas pierden el UUID codificado en la ruta de cada archivo uuidtext.

Una vez recopilado, siga el recorrido en el navegador o pase directamente a las consultas de triaje.

Artículos relacionados

Paso a paso: abra un .logarchive de macOS, una carpeta diagnostics o una exportación de log show en Unified Log Parser, revise hallazgos y exporte.
Qué registran los registros unificados de macOS, dónde están tracev3, uuidtext y timesync, qué pueden demostrar y cómo leerlos en una investigación.
Dentro de los archivos tracev3 de macOS: encabezado, catálogo, chunksets LZ4, firehose, oversize, statedump, simpledump, uuidtext, dsc y timesync.