mi querido navegador web ¿qué sabe de mí?

34
Linenoise CON 2012 Daniel Medianero Mi querido navegador web ¿Qué sabes de mí?

Upload: linenoise

Post on 20-Jun-2015

774 views

Category:

Documents


3 download

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ón

TRANSCRIPT

Page 1: Mi querido navegador web ¿Qué sabe de mí?

Linenoise CON 2012Daniel Medianero

Mi querido navegador web ¿Qué sabes de mí?

Page 2: Mi querido navegador web ¿Qué sabe 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

Page 3: Mi querido navegador web ¿Qué sabe de mí?

Reflexión: ¿Me debe importar lo que sabe de mí el navegador?

Page 4: Mi querido navegador web ¿Qué sabe de mí?

¿Porqué nos debe importar?

Page 5: Mi querido navegador web ¿Qué sabe de mí?

No empecemos a …

¿Qué almacenan?

¿Cómo lo almacenan?

Lets go !!

Page 6: Mi querido navegador web ¿Qué sabe de mí?

Internet Explorer

Historial

Favoritos

Cookies

Caché

Algo más…??

Page 7: Mi querido navegador web ¿Qué sabe de mí?

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

Page 8: Mi querido navegador web ¿Qué sabe de mí?

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

Page 9: Mi querido navegador web ¿Qué sabe de mí?

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

Page 10: Mi querido navegador web ¿Qué sabe de mí?

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…

Page 11: Mi querido navegador web ¿Qué sabe de mí?

Mozilla Firefox

Historial

Favoritos

Cookies

Caché

Algo más…??

Page 12: Mi querido navegador web ¿Qué sabe de mí?

Historial y Bookmarks

places.sqlite

Page 13: Mi querido navegador web ¿Qué sabe de mí?

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;

Page 14: Mi querido navegador web ¿Qué sabe de mí?

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;

Page 15: Mi querido navegador web ¿Qué sabe de mí?

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

Page 16: Mi querido navegador web ¿Qué sabe de mí?

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;

Page 17: Mi querido navegador web ¿Qué sabe de mí?

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

Page 18: Mi querido navegador web ¿Qué sabe de mí?

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)

Page 19: Mi querido navegador web ¿Qué sabe de mí?

Opera

Historial

Favoritos

Cookies

Caché

Algo más…??

Page 20: Mi querido navegador web ¿Qué sabe de mí?

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

Page 21: Mi querido navegador web ¿Qué sabe de mí?

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

Page 22: Mi querido navegador web ¿Qué sabe de mí?

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

Page 23: Mi querido navegador web ¿Qué sabe de mí?

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

Page 24: Mi querido navegador web ¿Qué sabe de mí?

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 …

Page 25: Mi querido navegador web ¿Qué sabe de mí?

Google Chrome

Historial

Favoritos

Cookies

Caché

Algo más…??

Page 26: Mi querido navegador web ¿Qué sabe de mí?

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

Page 27: Mi querido navegador web ¿Qué sabe de mí?

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

Page 28: Mi querido navegador web ¿Qué sabe de mí?

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”

Page 29: Mi querido navegador web ¿Qué sabe de mí?

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

Page 30: Mi querido navegador web ¿Qué sabe de mí?

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”

Page 31: Mi querido navegador web ¿Qué sabe de mí?

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

Page 32: Mi querido navegador web ¿Qué sabe de mí?

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;

Page 33: Mi querido navegador web ¿Qué sabe de mí?

¿A quién le interesan los datos?

Page 34: Mi querido navegador web ¿Qué sabe de mí?

[dmedianero@linenoise ~]$ uptime

Recuerda: Usa el modo porno privado

Muchas gracias

@dmedianero