Hardening de Firefox/Iceweasel y técnicas de ofuscación de fingerprint

Qué es demonios es el fingerprinting? (Panopticlick)

El “fingerprinting” es un método de seguimiento de navegadores web por la configuración y la información de configuración que hacen visible a los sitios web, en lugar de métodos de seguimiento tradicionales, como direcciones IP y cookies de rastreo.

Al cargar una página web, automáticamente difundirá cierta información sobre su navegador al sitio web que está visitando, así como a los seguidores incorporados en el sitio (como los de publicidad). El sitio que estás visitando puede elegir analizar tu navegador usando JavaScript, Flash y otros métodos. Puede buscar las fuentes tipográficas que ha instalado, el idioma del sistema, los complementos de el navegador y otros factores. El sitio puede crear un perfil de identidad, vinculado a este patrón de características asociado con su navegador, en lugar de una cookie de rastreo única.

La eliminación de las cookies no ayudará, ya que son las características únicas de la configuración del navegador las que se están analizando.

Ok como compruebo mi fingerprint?

Sencillamente entrando a la pagina oficial de Panopticlick y iniciando el test de rastreo, este fue el resultado en mi navegador antes de configurar, por motivos de privacidad “censure” información considerada sensible.

Realizando un ataque de JavaScript conocido como UA-FD (User agent fingerprint detection), un atacante puede encontrar vulnerabilidades en nuestro navegador dependiendo de la versión y los complementos instalados en este.

Notas y cosas a tener en cuenta antes de comenzar:

Esta es una recopilación, actualización y mejora de varios post que están en la red, los cuales son mencionados en la siguiente lista:

  • Debiangirl-GitHub (LINK).
  • VikingVPN (LINK).
  • DesdeLinux (LINK).

Algunos sitios web obsoletos suelen tener problemas con las configuraciones que se mencionaran en este tutorial, el propósito de este tutorial es asegurarse de reforzar la seguridad del navegador al máximo manteniendo una compatibilidad mas que aceptable, si se tiene algún problema con la compatibilidad, recomiendo que se publique en los comentarios para intentar resolverlo.

Método de configuración manual (like a pro):

Procedemos a hacer un respaldo de nuestra carpeta de usuario:

$ cp -R ~/.mozilla/ ~/.mozilla_res/

 

Procedemos a acceder a la pagina de configuración escribiendo lo siguiente en la barra de direcciones:

about:config

 

En la barra de configuración se deben buscar y modificar los siguientes valores:

Desactivar WebGL:
webgl.disabled ===> true

Desactivar WebRTC:
media.peerconnection.enabled ===> false
media.peerconnection.use_document_iceservers ===> false

Desactivar DNS proxy:
network.proxy.socks_remote_dns ===> true

Desactivar IPv6:
network.dns.disableIPv6 ===> true

Desactivar direcciones web compactas:
browser.urlbar.trimURLs ===> false

Desactivar envío de pings:
browser.send_pings ===> false
browser.send_pings.require_same_host ===> true

Activar protección anti rastreo:
privacy.donottrackheader.enabled ===> true
privacy.trackingprotection.enabled ===> true

Desactivar geolocación:
geo.enabled ===> false
browser.search.geoSpecificDefaults ===> false
geo.wifi.uri ===> (eliminar contenido)
browser.search.geoip.url ===> (eliminar contenido)
browser.search.geoSpecificDefaults.url ===> (eliminar contenido)

Eliminar rastreo de Google:
browser.safebrowsing.enabled ===> false
browser.safebrowsing.malware.enabled ===> false
browser.safebrowsing.downloads.enabled ===> false
browser.safebrowsing.downloads.remote.enabled ===> false

Desactivar reportes de incidencias:
breakpad.reportURL ===> (eliminar contenido)

Desactivar Telemetría:
toolkit.telemetry.enabled ===> false
extensions.getAddons.cache.enabled ===> false
toolkit.telemetry.server ===> (eliminar contenido)

Desactivar lector de PDF:
reader.parse-on-load.enabled ===> false

Desactivar modo lectura:
reader.parse-on-load.enabled ===> false

Desactivar Pocket:
extensions.pocket.enabled ===> false
extensions.pocket.site ===> (eliminar contenido)

Desactivar porquerías sociales (Bloatware):
social.remote-install.enabled ===> false
social.toast-notifications.enabled ===> false
social.whitelist ===> (eliminar contenido)
social.directories ===> (eliminar contenido)
social.shareDirectory ===> (eliminar contenido)
browser.aboutHomeSnippets.updateUrl ===> (eliminar contenido)

Desactivar el cache del navegador:
browser.cache.disk.enable ===> false
browser.cache.disk_cache_ssl ===> false
browser.cache.offline.enable ===> false

Desactivar el relleno automático de formularios:
signon.autofillForms ===> false
signon.rememberSignons ===> false
browser.formfill.enable ===> false
services.sync.prefs.sync.signon.rememberSignons ===> false

Limpieza del navegador al salir:
privacy.cpd.cache ===> true
privacy.cpd.cookies ===> true
privacy.cpd.history ===> true
privacy.cpd.formdata ===> true
privacy.cpd.sessions ===> true
privacy.cpd.passwords ===> true
privacy.cpd.downloads ===> true
privacy.cpd.offlineApps ===> true
privacy.cpd.siteSettings ===> true
privacy.cpd.siteSettings ===> true
privacy.clearOnShutdown.cache ===> true
privacy.clearOnShutdown.cookies ===> true
privacy.clearOnShutdown.history ===> true
privacy.clearOnShutdown.sessions ===> true
privacy.clearOnShutdown.formdata ===> true
privacy.clearOnShutdown.downloads ===> true
privacy.clearOnShutdown.passwords ===> true
privacy.clearOnShutdown.offlineApps ===> true
privacy.sanitize.sanitizeOnShutdown ===> true
privacy.clearOnShutdown.siteSettings ===> true

Desactivar envío de referencia y eliminación de cookies:
network.cookie.lifetimePolicy ===>  2
network.http.sendRefererHeader ===>  0
network.http.referer.XOriginPolicy ===>  1
network.http.referer.trimmingPolicy ===>  1

Método de configuración alternativo (noob):

Este método consiste en copiar un archivo de configuración, en este caso yo tengo preparado uno que les dejo aquí:

Hardening-de-firefox.7z (MEGA)

Análisis de Virustotal

MD5: 5190bacafe8a524b7b2e3b7865bc0fc6

SHA1: 02ef71c47030b3dd7419bf862740badcca16392d

SHA256: 56b4a275300ac5703501e7caeca7f3de523194e1775aa7fcc2ff828f0c996465

Una vez descargado el archivo se debe de descomprimir, dentro de la carpeta se encontraran 3 archivos:

  • LEER-PRIMERO.conf (contiene las indicaciones que se mostraran mas adelante).
  • Configuracion-manual.txt (contiene los valores mencionados anteriormente).
  • prefs.js (Es el archivo de configuración, se puede abrir con cualquier editor de texto).

Indicaciones:

  1. Leer el archivo LEER-PRIMERO.conf que contiene las sumas de verificación de los demás archivos.
  2. Leer el archivo Configuracion-manual.txt que contiene todos los cambios que se van a realizar.
  3. Iniciar el navegador web y cerrar.
  4. Dirigirse a /home/USUARIO/.mozilla/firefox/XXX.default/ (el valor XXX varia en cada sistema).
  5. Respaldar el archivo prefs.js y copiar el que se descargo.
  6. Listo.

Complementos del navegador recomendados:

Falseo del agente de usuario:

Este paso lo pongo aparte, porque varia según las preferencias de el usuario.

En este caso el agente de usuario abreviado como (UA) a partir de este momento, que sera utilizado sera el siguiente:

Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0

Pero que tiene de especial este UA?

Pues el el UA de el navegador TOR en su versión estable actual (6.0.8) y por lo tanto el mas genérico y compatible, es por eso que se sugiere encarecidamente que sea el que se seleccione.

Indicaciones:

  1. Acceder la pagina de configuración del navegador escribiendo: about:config  en la barra de direcciones.
  2. Buscar el siguiente valor: general.useragent.override
  3. Modificar por el UA elegido: Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0
  4. Listo.

Prueba de la correcta configuración:

Para probar la correcta configuración de nuestro navegador procederemos a ir de nuevo a la pagina de Panopticlick y ejecutar nuevamente el test del navegador y nos debe de dar algo similar a los siguientes resultados:

Como se puede observar se mejoro sustancialmente la seguridad y se redujo considerablemente el fingerprint de nuestro navegador.

Comparaciones de UA:

Mi UA falso, así es como me detectan las paginas WEB aunque mi sistema no sea Winbug-7 y mi versión del navegador sea la mas reciente.

Ejemplo de otros usuarios de LiGNUx que mantienen el UA original del navegador:

Por motivo de seguridad los usuarios fueron recortados de las capturas y solo se muestra el UA.

Aquí podemos observar la versión de Android que esta usando y algunos detalles como la Build de su dispositivo:

Peligros:

  • Se muestra la versión de Android que ejecuta.
  • Se puede deducir por medio de investigación marca y modelo del dispositivo.
  • Con el numero de Build se deduce el nivel del parche de seguridad y su ultima actualización.

Aquí se observa exactamente lo mismo que el anterior, solo cambia el dispositivo.

Aquí podemos observar la versión de Chrome y del sistema que ejecuta:

Peligros:

  • Es Winbug 8.1 ☣☠☣.
  • Es Chrome, alguien dijo perdida de privacidad?
  • Conociendo la versión del navegador es posible mandar un JavaScript que detecte sus complementos.
  • Código fuente privativo.

Aquí podemos observar que este usuario usa GNU/Linux con el navegador Opera.

Peligros:

  • Quien diablos usa Opera en estos días?
  • Versión ligeramente des-actualizada, peligroso si no se instalan de manera automática las actualizaciones.
  • Código fuente privativo.

 

Aquí podemos observar a un user pro con el navegador de Texto W3M en Debian.

Peligros:

  • Fácil rastreo, debido a que es un navegador poco usual, se rastrea a kilometros.
  • Antiguo, la ultima versión estable de este navegador fue lanzada el 15 Enero del año 2011 WTF? muchas cosas pueden pasar en 5 años.
  • Susceptible a los trakers.

Conclusiones finales:

Los métodos de rastreo mejoran a una velocidad que antes era impensable vulnerando nuestra privacidad y exponiendo nuestra identidad cuando se quiere ser anónimo, por ese motivo es de vital importancia contar con un navegador libre, actual, configurable, fácil de usar y compatible.

Actualmente en donde vivo estamos a -28℃ a la hora de escribir esto y se me congelan los Put#$ dedos, espero que lo aprecien XD.

Nos leemos.

Acerca de cr58j3sP2X rF3H44wvB3

r.9-$P/)sP(Z2e3VTsq"Tu>x[Q!]SS?D>~z2Ty"Q-"U'*v27@$C\C:(_%wMoPJVvD*Vk$N<"v(Di(Ko]{KXt=Z(Z+Qc3Q zzazz-machina@protonmail.ch

Visita también

Clonar particiones con partclone

A menudo nos podemos encontrar con la necesidad de respaldar nuestros datos en un disco …

Deja una respuesta

27 Comentarios En "Hardening de Firefox/Iceweasel y técnicas de ofuscación de fingerprint"

Notificarme las
avatar
jony127
Miembro

Muy bueno y completo, gracias 😉

nasciiboy
Invitado

ni idea de para que servian todas las casillas de configuracion, a modificar un poco!

Jinkros
Miembro

Vaya curro compañero, felicitaciones por la pedazo de entrada y gracias jeje
Probaré las extensiones que citaste y te dejo dos que también uso, quizás te interesen: BluHell firewall y ghostery, ambas disponibles en ffox y quizás esta última ya la conozcas.
(Por cierto, te falta una L en la descripción de tu gravatar)

ZZAZZ
Invitado

Gracias por comentar, hablando de las extensiones de navegador, uBlock es mas completo pero mas pesado que BluHell firewall y ghostery hace casi lo mismo que Privacy Badger, pero yo prefiero este ultimo porque es desarrollado por la EFF.
Por cierto gracias por lo de la “L” que yo soy mas de Open-BDS que de inux XD.

wpDiscuz