Skip to content

Cómo analizar knowledgeC.db y Biome en el navegador

Paso a paso: cargue knowledgeC.db con su -wal y los flujos SEGB de Biome en un parser gratuito en el navegador, fije un rango, revise sesiones y exporte.

Publicado el 7 min de lectura

Resumen. Recolecte knowledgeC.db con su -wal y la carpeta streams de Biome, suéltelos (o un ZIP) en KnowledgeC Parser, revise la pestaña Fuentes, lea los Hallazgos, fije un rango horario y recorra Sesiones, Cronología, Apps, Web y Biome. Exporte CSV, CSV para Timesketch o JSON. El análisis se ejecuta en WebAssembly dentro de un Web Worker en su navegador; los archivos nunca se suben.

Este es el complemento práctico de la guía de análisis forense de knowledgeC.db. Para el razonamiento que hay detrás del análisis de sesiones, lea quién usaba el Mac. Los ejemplos usan el ejemplo integrado, que es sintético y ficticio: se generó para esta herramienta y no procede de un caso real. Las etiquetas de la interfaz pueden cambiar ligeramente con el tiempo; los pasos siguen siendo los mismos.

Antes de empezar

NecesitaPor qué
knowledgeC.db + -wal (+ -shm), del sistema y del usuarioLos eventos recientes a menudo solo están en el WAL
La carpeta streams de Biome, con la estructura intactaEl nombre del flujo, local / remote y tombstone salen de la ruta
La parte Users/<name>/ de la rutaLa herramienta atribuye los archivos a esa cuenta
Un navegador de escritorio actualEl análisis se ejecuta como WebAssembly en un Web Worker

Paso 1: Recolectar los archivos

La base de datos del usuario (~/Library/Application Support/Knowledge/knowledgeC.db) y los flujos de usuario de Biome están protegidos por TCC: el proceso que recolecta necesita «Acceso total al disco». La base de datos del sistema (/private/var/db/CoreDuet/Knowledge/knowledgeC.db) está restringida por SIP; una imagen de disco suele ser la vía más limpia. Copie los archivos -wal y -shm con cada base de datos, y calcule el hash de todo.

Los comandos, las opciones de UAC y Velociraptor y sus carencias se tratan en knowledgeC.db y Biome: ubicaciones y adquisición y en la guía de recolección de la página de inicio.

Paso 2: Cargar los archivos

Abra la página de inicio de la herramienta y suelte:

  • archivos sueltos (knowledgeC.db, knowledgeC.db-wal, archivos SEGB);
  • una carpeta, por ejemplo una copia de Library;
  • un ZIP de una recolección.

Para aprender primero la interfaz, pulse Probar un ejemplo. El espacio de trabajo pasa a pantalla completa; pulse Esc para salir.

El ejemplo es un MacBook ficticio, FIN-MBP-03, usuaria dana.whitlock: una knowledgeC.db del sistema y otra del usuario, cada una con su -wal, y archivos de Biome de App.InFocus (incluido un archivo tombstone más antiguo y un flujo sincronizado desde un iPhone), App.WebUsage, Notification.Usage, Device.Metadata y App.MenuItem, tanto en SEGB v1 como en v2.

Paso 3: Revisar la pestaña Fuentes

Antes de leer ningún evento, confirme qué se analizó:

  • Cada knowledgeC.db emparejada con su -wal. La herramienta lee la base de datos como lo haría SQLite tras aplicar el WAL, y la compara con el archivo principal solo. Se marcan las filas que existen únicamente en el WAL y las filas que el WAL eliminó. En el ejemplo, todas las filas del sistema posteriores a las 10:00 UTC del 2026-09-14 existen solo en el WAL, y el WAL elimina una fila antigua. Vea recuperación del WAL de knowledgeC.
  • Ámbito: base de datos del sistema o del usuario, según la ruta.
  • Archivos de Biome: nombre del flujo, versión de SEGB, local, remote/<device UUID> o tombstone, número de registros por estado y fallos de CRC.
  • Problemas: un archivo que empieza por ceros (probablemente copiado mientras estaba bloqueado), un archivo SEGB truncado o un archivo SEGB cuyo nombre de flujo se desconoce porque se perdió la estructura de carpetas. El archivo -shm aparece en la lista, pero no es necesario.

Paso 4: Leer los Hallazgos

La pestaña Hallazgos resume lo que destaca. Trate cada elemento como una pista: ábralo, compruebe los registros subyacentes y decida si tiene cabida en el informe. El ejemplo se construyó de modo que las pistas que merece la pena seguir son una sesión desbloqueada durante la pausa para comer, una primera aparición de Terminal, registros web de Biome eliminados y un breve desbloqueo en plena noche.

Paso 5: Fijar el rango horario

Un rango personalizado mantiene todas las pestañas centradas en la misma ventana:

ControlUso
Desde / HastaAjuste al segundo, por ejemplo del 2026-09-14 10:00:00 a 10:55:00 UTC
Ajustes rápidosRangos rápidos
Alrededor de este eventoCentra el rango en un evento seleccionado
Franja de densidadMuestra dónde se concentran los eventos, para detectar ráfagas y huecos

El rango se guarda en el hash de la URL, de modo que un colega que abra el mismo enlace con los mismos archivos ve la misma ventana, y se escribe en los nombres de los archivos exportados.

Paso 6: Revisar las sesiones y la cronología

La pestaña Sesiones responde a "quién estaba ante el teclado" hasta donde los datos lo permiten: intervalos desbloqueados construidos a partir de /device/isLocked, para leerlos junto con la retroiluminación, la alimentación y el foco de apps. En el ejemplo, la sesión de 10:04:31 a 10:49:38 UTC (12:04 a 12:49 hora local) cae durante la pausa para comer de Dana. La sesión muestra actividad bajo su cuenta, no quién tecleaba; el artículo sobre el método explica los límites.

La pestaña Cronología combina los eventos de knowledgeC y de Biome. Las horas se guardan en UTC; para las filas de knowledgeC, ZSECONDSFROMGMT da el desfase local (+02:00 en el ejemplo). Los registros "en primer plano" y "fuera de primer plano" de Biome App.InFocus se emparejan en intervalos por app.

Paso 7: Revisar Apps, Web y los detalles de Biome

  • Apps: foco y uso por bundle ID. En el ejemplo, com.apple.Terminal solo aparece dentro de la sesión del incidente.
  • Web: URL y dominios de /app/webUsage, /safari/history y App.WebUsage, incluidos files.example y transfer.example.
  • Biome: una línea por flujo, almacén y origen (local, remote con el UUID del dispositivo, tombstone), con la versión de SEGB, el número de registros, los registros eliminados y los fallos de CRC. Haga clic en un flujo para listar sus registros; el detalle de cada uno muestra su estado, el resultado del CRC y los campos protobuf decodificados. Los flujos sin un mapa de campos público, como App.MenuItem, se decodifican sin esquema y conservan los números de campo en bruto (formato SEGB).

Los registros sincronizados desde el iPhone (remote/<UUID> en Biome, otro ZDEVICEID en knowledgeC) se marcan como tales. Manténgalos fuera de la actividad del Mac.

Paso 8: Exportar los resultados

ExportaciónContenido
CSV: cronologíaEventos del rango actual
CSV: appsTotales por app
CSV: sesionesSesiones desbloqueadas
CSV para TimesketchEventos en un formato que Timesketch puede importar
JSONLos eventos analizados, para scripts y otras herramientas

Guarde las exportaciones junto con los hashes de los archivos de origen. El rango incluido en cada nombre de archivo indica qué ventana cubre la exportación.

Límites que conviene tener presentes

  • El significado de los campos de los payloads de Biome procede de mac_apt y de iLEAPP, no de Apple. Los campos no decodificados se quedan en bruto.
  • Los registros muestran actividad bajo una cuenta en un dispositivo, no identidad.
  • La retención es limitada (unas cuatro semanas en knowledgeC, alrededor de 28 días para la mayoría de los flujos de Biome según la investigación sobre iOS); mídala en cada flujo.
  • Para los registros importantes, contraste con APOLLO, mac_apt o ccl-segb.

KnowledgeC Parser es un proyecto independiente, no afiliado a Apple ni respaldado por ella.

Artículos relacionados

Artículos relacionados

Qué registra knowledgeC.db en macOS, dónde está, cómo funcionan ZOBJECT y sus flujos, cómo convertir sus marcas de tiempo y qué no demuestran los datos.
¿knowledgeC.db o Biome? En qué se diferencian los dos almacenes de actividad de macOS, qué flujo de Biome equivale a cada flujo de knowledgeC y qué esperar hoy.
Reconstruya las sesiones desbloqueadas de un Mac con los registros de bloqueo, pantalla, alimentación y apps de knowledgeC.db y Biome, y sepa qué no prueban.