Saltar al contenido
← Volver al blog

Recuperar historial de navegador (URLs, cookies, autofill) desde pagefile.sys

20/5/2026 · 5 min de lectura

Los navegadores son las aplicaciones más ruidosas de un sistema Windows. Abren miles de pestañas a lo largo de una sesión, decodifican HTTPS a texto plano en memoria, mantienen cachés y datos de autocompletado de forma permanente mientras corren, y actualizan constantemente bases de datos SQLite. Cuando llega la presión de memoria, algo se pagina — y ese algo muy a menudo son datos del navegador.

Qué puedes recuperar

En orden aproximado de frecuencia en un pagefile típico de usuario:

  1. URLs visitadas — cadenas https://… desde la barra de direcciones, destinos de clic y cabeceras de petición HTTP.
  2. Búsquedashttps://www.google.com/search?q=…, https://duckduckgo.com/?q=…, Bing, etc. La consulta queda en la URL.
  3. Envíos de formulario — cuerpos application/x-www-form-urlencoded que sobreviven brevemente en el heap del renderer.
  4. Cookies — fragmentos de cabeceras HTTP Cookie: / Set-Cookie:.
  5. Valores de autocompletado — nombres de usuario, direcciones, números de tarjeta, números de teléfono (Chrome / Edge los guardan en el SQLite Web Data, descifrados en memoria al rellenar un formulario).
  6. Fragmentos de base de datos SQLite — páginas de History, Cookies, Login Data, Web Data.
  7. JWT y tokens de sesión en respuestas XHR / fetch cacheadas.

Layout de archivos del navegador

Un mapa rápido de dónde viven los datos del navegador en disco (útil para hacer cross-checking de lo que encuentres en el pagefile):

NavegadorRaíz del perfil
Chrome%LOCALAPPDATA%\Google\Chrome\User Data\Default\
Edge (Chromium)%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\
Brave%LOCALAPPDATA%\BraveSoftware\Brave-Browser\User Data\Default\
Firefox%APPDATA%\Mozilla\Firefox\Profiles\<profile>\
Opera%APPDATA%\Opera Software\Opera Stable\
Chrome (UWP/Modern)las trazas también caen en swapfile.sys — ver la comparación de archivos de paginación

Los archivos SQLite interesantes en cada uno (familia Chromium):

  • Historyurls, visits, keyword_search_terms, downloads.
  • Cookies — name, value, host, expiry, encrypted_value (DPAPI).
  • Login Data — tabla logins (contraseñas guardadas, cifradas con DPAPI).
  • Web Dataautofill, autofill_profile_*, tarjetas de crédito (cifradas con DPAPI).

Cuando alguno está abierto por el navegador vivo, sus páginas viven en la memoria del proceso renderer — y la forma descifrada de cookies, autofill y datos de login vive en memoria en el momento de uso. Ambos estados pueden acabar paginados.

Qué te da la pestaña Artifacts de esta herramienta

Suelta un pagefile en el parser. La pestaña Artifacts extrae automáticamente:

  • URLshttps?://[A-Za-z0-9\-._~:/?#\[\]@!$&'()*+,;=%]+ sobre cada cadena extraída. Incluye las cadenas de query completas de los buscadores.
  • Emails — comunes en autofill, flujos de recuperación de cuenta, páginas de contacto.
  • IPv4 / IPv6 — útiles cuando un parámetro de query o un X-Forwarded-For contenía una dirección.

La pestaña Page map etiqueta las páginas que empiezan por SQLite format 3\0 — esas son páginas de base SQLite, casi seguro de alguna de las BDs de navegador de arriba.

La pestaña Strings es a donde ir tras los IOCs:

  • Filtra por Cookie: para ver fragmentos de cookies HTTP.
  • Filtra por Set-Cookie: para encontrar cookies emitidas por el servidor (con nombres, dominios, paths).
  • Filtra por Authorization: para encontrar bearer tokens en llamadas a APIs.
  • Filtra por user-agent para pivotar a pestañas / sesiones concretas.
  • Filtra por searchTerm, q=, query= para búsquedas en sitios concretos.

Carving de SQLite

Cuando el page map marca SQLite format 3 (una página de cabecera de B-tree) o una página interior de B-tree, tienes un fragmento de una BD de navegador. Las páginas son de 4 KB por defecto (Chromium) o 32 KB (builds más recientes de Firefox).

Para extraer registros estructurados de una página SQLite carveada:

  1. Usa sqlite_carving o bring2lite — ambas hechas a propósito para carving de registros SQLite desde memoria en bruto.
  2. O abre los bytes en undark / sqlite-deleted-records para leer filas borradas.

Lo que se extrae habitualmente:

  • Filas URL + visit_time + title de History.urls / History.visits. Los últimos 90 días de navegación en una página, si tienes suerte.
  • Filas Cookie name/host/path/value de Cookies.
  • Filas autofill clave/valor de Web Data.autofill.

Firefox vs Chromium

Firefox guarda el historial en places.sqlite y los marcadores en la misma BD. El esquema es distinto pero el enfoque de carving es idéntico — solo busca cadenas places.sqlite cerca de páginas SQLite, y nombres de tabla moz_places, moz_bookmarks, moz_historyvisits.

Firefox también guarda datos de session restore en archivos JSON (sessionstore.jsonlz4) que están comprimidos con LZ4; no los verás como aciertos SQLite, pero el contenido descomprimido vive en memoria y puede paginarse como JSON plano. Filtra la pestaña Strings por "entries": y "lastAccessed":.

Modo IE de Edge y restos de Internet Explorer

Si el sistema tiene Edge en modo IE (aún común en empresa), verás también fragmentos de WebCacheV01.dat (la base de datos ESE de IE10+). Las páginas ESE empiezan con su propia cabecera (page header + tag array); no las recoge el catálogo de firmas actual, pero las cadenas internas aparecerán en la pestaña Strings — nombres de host, URLs, timestamps.

Consejos operativos

  • Captura cuanto antes. Cada minuto que el navegador siga ejecutándose, se reescriben páginas.
  • Empareja con el perfil vivo. Los datos carveados del pagefile son más útiles cuando puedes diferenciarlos contra el SQLite vivo — cualquier cosa en el pagefile que no esté en la BD viva es o bien recientemente sobrescrita, o una fila borrada, o tráfico InPrivate / Incognito.
  • Incognito / InPrivate no protegen del pagefile. El modo le dice al navegador que no persista a disco, pero la RAM sigue conteniendo las URLs y las cookies — y el Memory Manager no sabe qué renderer es privado. Las pestañas Incognito aparecen sin duda en los pagefiles.

Relacionado