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

El entorno de desarrollo informático IntelliJ IDEA lanza su nueva versión 2017.2.6

El entorno de desarrollo informático IntelliJ IDEA lanza su nueva versión 2017.2.6 con 2 nuevas …

Deja una respuesta

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

Notificarme las
avatar
ZASS
Invitado

Muy buen post, el agente de usuario (UA) hay que instalarlo o solo se agrega creando el valor general.useragent.override en about:config? Porque en las ultimas versiones nuevas de firefox no esta creado ese valor.

memo
Invitado

Buen aporte, porque sigue apareciendo la IP y el domicilio de residencia en los TES de prueba para el agente de usuario (UA) pese haber tratado de seguir el tutorial tal como esta aquí en los TES de seguridad? El valor “useragent.override” no esta incluido en la configuración de firefox actual, el UA es lo mismo que el UAControl plugin de firefox que se instala conjuntamente User-Agent JS Fixer ?.

Daya
Invitado

tambien es posible hacer lo mismo con Chromium?

ZZAZZ
Invitado

La metodología es diferente, tanto Chrome como Chromium tienen serios problemas con la privacidad, si quieres puedo hacer un post dedicado para Chromium.

Off-topic: De casualidad no seras Daya-Rk (3x-D0v4rk) la chica que ha estado troleando en mi foro? ¬_¬

Armata De Strigoi
Invitado

No no es ella le quiero arrancar la cabeza a esa chica #_#

ZZAZZ
Invitado

Te comiste toda la bootnet XD, “Armata de DDOS” LOL

Armata De Strigoi
Invitado

ZZAZZ eres genial (Mensaje editado por Noel: ofensas no por favor)

ZZAZZ
Invitado

Jejeje te editaron el mensaje XD, si me quieres decir algo solo ponlo en la sección de amenazas de muerte de mi blog XD. ♡

Noel
Admin

Aquí no se censura, pero insultos, amenazas y mierdas así como que no xD

Noel
Admin

Si queréis una discusión de temas personales usad otro canal por favor, creo que el tema no incumbe al resto por lo que veo.

ZZAZZ
Invitado

Daya-Rk (3x-D0v4rk) Eres mi héroe XD.

wpDiscuz