mi querido navegador web ¿qué sabe de mí?
DESCRIPTION
La ponencia versará sobre qué guardan de nosotros los navegadores web más utilizados (Explorer, Firefox, Chrome, Opera, Safari) y los métodos que utilizan para almacenar dicha informaciónTRANSCRIPT
Linenoise CON 2012Daniel Medianero
Mi querido navegador web ¿Qué sabes de mí?
/home/~dmedianero/index.htm
Reflexión: ¿Me debe importar lo que sabe de mí el navegador?
¿Porqué?
¿Qué almacena?
¿Cómo lo almacena?
¿A quién le interesan los datos del navegador?
37,7% 34,6% 20,2% 2,5%
Fuente: Dic 2011 - http://www.w3schools.com/browsers/browsers_stats.asp
Reflexión: ¿Me debe importar lo que sabe de mí el navegador?
¿Porqué nos debe importar?
No empecemos a …
¿Qué almacenan?
¿Cómo lo almacenan?
Lets go !!
Internet Explorer
Historial
Favoritos
Cookies
Caché
Algo más…??
IE Historial y Caché: Index.dat
Archivo de referencia que Internet Explorer usa para buscar en la caché
• Fichero oculto del sistema
• Se encuentra en varias rutas distintas
• Guarda los listados aunque se haya borrado la caché
• Indexa no solo páginas web, sino navegación desde el escritorio (Internet Explorer está integrado en Windows)
Libmsiecf - http://sourceforge.net/projects/libmsiecf/
Windows File Analyzer - http://www.mitec.cz/wfa.html
Sistema Operativo Localización
Windows XP y anteriores C:\Document and Settings\<usuario>\Local Settings\TemporaryInternet Files\Content.IE5
Windows Vista/7 C:\Users\<usuario>\AppData\Local\Microsoft\Windows\TemporaryInternet Files\Content.IE5
Cookies
Permiten al servidor identificar al usuario
• <id_usuario>@<dominio>.txt
Limitaciones estructurales
• Número máximo 300, a partir de ahí se borran antiguas
• 20 cookies por servidor o dominio
• 4KBytes incluyendo nombre y valor
• Ningún equipo fuera del dominio puede leerla (Session Hijacking)
Herramientas para visualizarlas:
• McAfee Galleta (http://www.mcafee.com/us/downloads/free-tools/galleta.aspx)
Sistema Operativo Localización
Windows XP c:\Documents and Settings\%username%\Configuarciónlocal\Archivos temporales de Internet\
Windows Vista/7 C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Cookies
IE Favoritos y Autocompletado
Favoritos:
Autocompletado de Formularios:
• HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\Storage1
Autocompletado de contraseñas:
• HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\Storage2
Algo más??
Browser Helper Objects
• http://msdn.microsoft.com/en-us/library/ie/bb250436%28v=vs.85%29.aspx
ActiveX
• http://msdn.microsoft.com/en-us/library/aa751972%28VS.85%29.aspx
Y mucho más en el SO…
Mozilla Firefox
Historial
Favoritos
Cookies
Caché
Algo más…??
Historial y Bookmarks
places.sqlite
places.sqlite
Comando de interés:
SELECT datetime(moz_historyvisits.visit_date/1000000,'unixepoch'), moz_places.url FROM moz_places, moz_historyvisits WHERE moz_places.id = moz_historyvisits.place_id;
cookies.sqlite
Contiene información sobre las cookies
Schema:
CREATE TABLE moz_cookies (id INTEGER PRIMARY KEY, name TEXT, value TEXT, host TEXT, path TEXT,expiry INTEGER, lastAccessedINTEGER, isSecure INTEGER, isHttpOnly INTEGER, baseDomain TEXT, creationTime INTEGER);
Comando de interés:
SELECT * from moz_cookies;
Caché
Mozilla Firefox guarda una caché local para acelerar la navegación, dentro del perfil en la carpeta “Cache”
Son ficheros binarios del siguiente aspecto:
• _CACHE_MAP_
• _CACHE_001_
• _CACHE_003_
MozillaCacheView de NirSOFT -http://www.nirsoft.net/utils/mozilla_cache_viewer.html
Algo más: Autocompletado
Formhistory.sqlite
Contiene el historial de datos introducidos en formularios
Schema:
CREATE TABLE moz_formhistory (id INTEGER PRIMARY KEY, fieldname TEXT NOT NULL, value TEXT NOT NULL, timesUsed INTEGER, firstUsedINTEGER, lastUsed INTEGER, guid TEXT);
Comando de interés:
SELECT * from moz_formhistory;
Algo más: downloads.sqlite
Schema:
CREATE TABLE moz_downloads (id INTEGER PRIMARY KEY, name TEXT, source TEXT, target TEXT, tempPath TEXT, startTime INTEGER, endTime INTEGER, state INTEGER, referrer TEXT, entityID TEXT, currBytes INTEGER NOT NULL DEFAULT 0, maxBytes INTEGER NOT NULL DEFAULT -1, mimeType TEXT, preferredApplication TEXT, preferredAction INTEGER NOT NULL DEFAULT 0, autoResume INTEGER NOT NULL DEFAULT 0, DownbarShow INTEGER);
Comando de interés:
SELECT * from moz_downloads;
NOTA: Hay que tener en cuenta que algunos ficheros no se encuentran en el fichero porque son interpretados por plugings del navegador
Algo más: recuperación y Addons
Si la sesión termina de manera inesperada, es posible restaurar
• Sessionstore.js
– Javascript en formato JSON
– http://code.google.com/p/jsonviewer/
– https://addons.mozilla.org/en-US/firefox/addon/jsonview/
Las extensiones se instalan para cada perfil:
• Extensions.rdf
» Listado de extensiones instaladas: grep NS1\:name extensions.rdf
• Extensions.ini
• Extensions.log
• Extensions.sqlite
» Información de configuraciones en el perfil (extensiones deshabilitadas, fechas de instalación, de actualización, etc)
Opera
Historial
Favoritos
Cookies
Caché
Algo más…??
Historial
global_history.dat: Historial, con la siguiente estructura
• Título, URL y Fecha y Hora, en formato 32Bit POSIX o Unix Epoch
– Se convierte en Unix con el comando “date -d@00000000”
typed_history.xml: Páginas introducidas en la barra de direcciones
• Contenido
• Tipo
• Fecha
Cookies
Almacenadas en el fichero “cookies4.dat”
Estructura en texto plano
Utiliza caracteres ilegibles, para una mayor compreensión:
http://www.opera.com/docs/operafiles/#cookies
Caché y Bookmarks
Opera guarda la caché en tres directorios del perfil:
• Application caché, Cache y opcache
Opera Cache View -http://www.nirsoft.net/utils/opera_cache_view.html
Bookmarks. Fichero “bookmarks.adr”, en texto plano con estructura en base a marcas (#FOLDER y #URL) y los siguientes datos:
• Date –d@1327569201
Algo más: recuperación de sesión
Opera produce información suficiente para poder restablecer la sesión anterior, restaurando webs, tabs, etc
• $home/.opera/sessions/autosave.win & autosave.win.bak
– Formato de texto plano
Algo más??
download.dat: Ficheros descargados (timestamps)
notes.adr: Notas tomadas en el navegador (timestamp “created”)
pluginpath.ini: Listado de ruta a plugins
Mail. Opera tiene cliente de correo
Icons, Thumbnails, Widgets …
Google Chrome
Historial
Favoritos
Cookies
Caché
Algo más…??
Historial
Fichero sqlite “History”
Multitud de tablas, las más interesantes son las siguientes:
downloads
• Almacena el path local, URL origen, timestamps, bytes recibidos, total de bytes, si se abrió el documento desde el navegador,…
Urls
• Almacena entre otros datos la URL, el título, el número de visitas, el número de veces que se tecleó el sitio para entrar y fecha de la última visita.
Visits
• Almacena las transiciones entre las páginas, es decir, cómo se accede a una página
• http://code.google.com/chrome/extensions/history.html
Historial
Se almacenan ficheros adicionales sqlite “History Index 2011-XX”
Tabla pages_content
CREATE TABLE 'pages_content'(docid INTEGER PRIMARY KEY, 'c0url', 'c1title', 'c2body');
Se almacena contenido en texto de las webs que se visitan
Adicionalmente se almacena un archivo completo del historial en el fichero “Archived History”, en formato sqlite
Cookies
Fichero sqlite3 “Cookies”
Schema:
CREATE TABLE cookies (creation_utc INTEGER NOT NULL UNIQUE PRIMARY KEY,host_key TEXT NOT NULL,name TEXT NOT NULL,value TEXT NOT NULL,path TEXT NOT NULL,expires_utc INTEGER NOT NULL,secure INTEGER NOT NULL,httponly INTEGER NOT NULL,last_access_utc INTEGER NOT NULL);
CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY,value LONGVARCHAR);
Comando de interés:
SELECT datetime(cookies.creation_utc/1000000, 'unixepoch'), cookies.name, cookies.path, datetime(cookies.expires_utc/1000000,'unixepoch'), datetime(cookies.last_access_utc/1000000,'unixepoch'), cookies.secure, cookies.httponly from cookies;
Se guarda información similar en el fichero sqlite “Extension Cookies”
Caché y Bookmarks
Caché
• Se guarda información binaria relativa a la sesión actual (contenido, pestañas, etc) en los ficheros “Current Sesion y Current Tabs”
• La información de caché se almacena en el directorio “Application Data”
• Chrome Cache View - http://www.nirsoft.net/utils/chrome_cache_view.html
Bookmarks
• Fichero en texto plano
• timestamps de creación y modificación
Algo más: recuperación y Addons
Si la sesión termina de manera inesperada, es posible restaurar
• Fichero “Local State” en el perfil con dicha información:
– Javascript en formato JSON
– http://code.google.com/p/jsonviewer/
Las extensiones se instalan para cada perfil en el directorio “Extensions”
• Cada extensión tiene su propio directorio
• Fichero “manifest.json”
Algo más: Autocompletado
Web Data: Tablas donde se almacenan datos de autocompletado de formularios
En las tablas autofill* se almacenan datos aunque no se apliquen las opciones de autocompletado (fechas, emails, nombres, teléfonos, direcciones)
http://support.google.com/chrome/bin/answer.py?hl=en&answer=142893
Ojo a las extensiones
Por ejemplo, dada la extensión de Chrome “offline de gmail”, es posible acceder a direcciones a las que se les ha enviado un correo en copia oculta con la consulta:
select * from address_index where isBCC=1;
¿A quién le interesan los datos?
[dmedianero@linenoise ~]$ uptime
Recuerda: Usa el modo porno privado
Muchas gracias
@dmedianero