Banner Diaspora LiGNUx
Banner foro LiGNUx

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.

Banner Diaspora LiGNUx
Banner foro LiGNUx

Acerca de ZZAZZ

Entidad cibernética demoníaca extra-dimensional, paranoico, crypto-punk, apasionado por la seguridad informática, hacktivista de medio tiempo y usuario de GNU/Linux y OpenBSD.

Visita también

Tutorial para instalar la versión de mantenimiento del kernel Linux 4.9.4

Ayer mismo se publico la tercera versión de mantenimiento del kernel 4.9, siendo esta la …

27 Comentarios

  1. tambien es posible hacer lo mismo con Chromium?

    • 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

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

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

          • Armata De Strigoi

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

            • 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. ♡

              • Armata De Strigoi

                ZZAZZ, pensaba en no responderte, pero alguien te lo tenia que decir algún día, eres una mala persona, te quejas de quienes hacemos campañas de ransomware cuando tu vendes, desarrollas y promueves el uso de este software, te pones la mascara de buena persona en estos blogs cuando en realidad tu nunca has echo ni un E-kit con licencia que no sea BSD, si creaste y mantienes el desarrollo de SDBS, pero solo liberas la base y ofuscas todo el código y lo vendes, entiendo que nadie vive de aire y se necesitan tener ingresos.
                Eres una mala persona porque te aprovechas y extorsionas a quien usa tu software sin pagar, presumes en tu blog de todos los citatorios legales, que envían a tu pagina, te burlas de las personas que te piden ayuda y las ayudas solo para quedarte el fruto de sus trabajos, te robas las bases de datos y prometes que solo las vas a “auditar” cuando en realidad solo usas el contenido para extorsionar, a quien las obtuvo ladrón que roba a ladrón.
                Te quejas de todos y solos los usas para engrosar las filas de tu equipo de hackers “éticos” que en realidad no son mas que criminales a los que chantajeaste para que te ayuden con tus actos destructivos, porque si no te interesa ser reconocido ni ganar ingresos con tus ataques, lo que tu quieres es simplemente destruir, hacer daño, ya me lo has echo destruiste todo mi esfuerzo, me robaste información y ahora que? la vas a publicar para que me amenazan todos tal y como lo hiciste con Cr1z7x, su nombre real era Antonio Vasco y le cagaste la vida.

                • Querida Armanta o mas bien debería decirte Isabella, aun recuerdo hace tres años que te uniste a mi foro con ganas de aprender, eras muy lista y aprendías rápido, el tiempo paso y decidiste emprender tu propio camino, creciste me robaste código y me tomaste por un tonto, pero dime que se siente haber sido todo este tiempo una simple herramienta?, una que ya no me es útil, todos somos desechables incluso yo.

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

            • 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.

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

  2. No más "hoyganes"

    Un complemento muy útil para impostar el AU:
    https://addons.mozilla.org/es/firefox/addon/random-agent-spoofer/

    Hay una pega en falsear el AU del todo, es decir, no solo falsear el navegador sino el SO, y es que contribuimos a que se siga pensando que nadie usa Linux, así que yo tengo desactivadas la mayoría de configuraciones falsas que el complemento ofrece, para que la mayoría de las veces, aunque falsee el navegador, por lo menos salga que uso Linux o BSD. Sé que reduzco mi intrazabilidad, pero como sólo busco un poco e privacidad, es un precio que estoy dispuesto a pagar a cambio de que en las estadísticas de las webs salga una visita linuxera más.
    También recomiendo poner en las opciones el idioma español, porque muchas páginas salen en ingles si no.

  3. Hola, excelente esta entrada pero una duda, realizé todos los pasos que mencionas y aun así el test en fingerprinting me sigue marcando el resultado como “no” estoy en manjaro con firefox, ¿Qué puede estar pasando? saludos.

  4. Un detalle que estaría bien añadir es que ciertos valores no están creados por defecto, por ejemplo, en mi caso no me aparecía la variable del UA, busque un poco pensando que yo en concreto había tocado algún ajuste que lo deshabilitaba o alguna historia rara y resulta que simplemente hay que crear la variable (eso sí, con el nombre exacto para que ffox la reconozca sin problemas) y una vez creada ponerle el valor que queramos, esta vez sería el que tú pusiste en esta entrada 😉
    Tutorial time!: Para crear la variable hay que ir a about:config, si pregunta, decir que estás seguro de lo que haces y una vez que tengas a lista delante hacer click secundario con el ratón y clickar en New, después hay que decidir el tipo de valor que necesita tomar la variable, en el caso del user agent es tipo String (busca el tipo de valor para la variable que necesites crear si no estás seguro) y después pega o escribe el valor en el cuadro que aparece. Listo.

    • Mas razón no se puede tener, esta es una de las pequeñas pero notables diferencias entre Firefox Y Iceweasel, este tutorial lo hice con Iceweasel, hace 2 años que no utilizo el Firefox común.
      Gracias por el aporte. 🙂

  5. Yo me identifico con ese UA de Opera, muestra una versión vieja y linux 64. Pero el navegador falsea esos datos, pues estoy en un teléfono. Los usuarios de Opera en móviles somos muchos.

    • Gracias por comentar, tienes razón Opera esta mas difundido en el ámbito mobil que en el escritorio, pero lo que no me gusta es que sea de código privativo, yo odio los celulares y siempre trato de no usar el que tengo, pero cuando tengo que navegar para buscar algo yo uso Lightning que es de licencia MPL-2.0.

  6. Enhorabuena por el post, gran trabajo que pondré en práctica.

    Saludos

  7. Muy interesante los posts que publicas, gracias 🙂

  8. Muy bueno y completo, gracias 😉

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

  10. 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)

    • 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.

Deja un comentario

Tu dirección de correo electrónico no será publicada.