viernes, 2 de septiembre de 2016

El mercado y el mercadeo del typosquatting (1)

Typosquatting

Últimamente hemos hablado aquí de la campaña de phishing a Carrefour y de como los phishers usaban typosquatting para utilizar nombres de dominio medianamente creíbles para sus sitios web fraudulentos.

Nada nuevo bajo el sol, pero éste es uno de esos temas que me preocupan. Algo parecido a cuando veo que se usan técnicas ilegítimas o ilegales para el posicionamiento en buscadores y que ciertos personajes ensucian el nombre de una actividad en la que hay otros que se ganan la vida de forma honesta.

Con el typosquatting nos encontramos con prácticas inapropiadas muy parecidas. En algunos casos, coincidentes. Para empezar, se toma un dominio popular. Uno que reciba muchas visitas. Después se buscan nombres que puedan confundirse con aquel. Quizá cambiando una "n" por una "m" o quitando alguna letra o poniendo tres "r" donde en el legítimo aparecen sólo dos. La idea es que cuando la gente cometa un error al escribir la dirección pueda terminar visitando tu sitio.

¿Y ahora qué?

Ganar dinero

Dudo que haya demasiada gente que se dedique al typosquatting por hobby. Más bien creo que será por dinero. Y hay varias formas en que un dominio como estos de los que hablamos puede ser aprovechado.

Por poner un ejemplo, se me ocurrió ver qué pasaba si cambiaba la "y" de PayPal.es por una "i". Ignoro si la pesona que registró el dominio resultante pensaba en esto, pero a mí fue lo primero que se me ocurrió. Y lo que me salió fue:

¡Uf! Que me instale un complemento en el navegador para que no se sepa dónde me he estado metiendo.

Confieso que, tras leerme los términos y condiciones, mi primer idea fue no hacerlo. Pero entonces alguien dijo: "no hay cohones". Y, ya sabes,...

Eso sí, alguna protección tomé.

Un plugin desfasado

La página de la imagen anterior me aparecía independientemente del navegador que utilizara. Eso sí, si utilizaba Internet Explorer me salía un mensaje indicando que mi navegador no era compatible y me redirigía a la página de descarga de Chrome.

Con Chrome, sin embargo, tuve el primer problema. El plugin, que se promocionaba como una forma de descargar anónimamente desde distintos sitios, parece haber sido eliminado de la Chrome Web Store:
Probé, pues, con Firefox. En particular, con su versión 43, lo que más adelante se revelará como relevante. La ventana de instrucciones era distinta pero la cosa tampoco iba a ser fácil:
Tras hacer clic en "Permitir" para decirle al navegador que instalara el plugin ne salió otro mensaje indicándome que éste no viene firmado y que por tanto Firefox se niega a instalarlo.Como yo iba ya en plan kamikaze, entré en "about:config" y (niños: no hagáis esto en casa) modifiqué el valor del parámetro "xpinstall.signatures.required", como se indica en la documentación de Mozilla.

Al final... ¡lo conseguí! Ahora puedo visitar el dominio que elegí y...

... Ahora resulta que el dominio está aparcado y en venta. O sea, que su propietario no lo usa y lo "alquila" para que otros le busquen rentabilidad. En este caso ponen enlaces a páginas de PayPal pero entre ellos salpican algunos a distintos dominios no tan conocidos. Lo de siempre: enlaces y visitas.

En todo caso, como podemos ver, se trata de un plugin desfasado. Parece que lo intentaron en la Chrome Web Store pero les dieron de baja. Y aún no se adaptaron a la forma en que funcionan las nuevas versiones de Firefox. Dudo que un usuario normal se meta en camisas de once varas, como yo hice, para instalarse este plugin.

Además, tras actualizar a la versión 48 de Firefox, ya no funciona eso del "xpinstall.signatures.required". Como dice la documentación: "
  • Firefox 40-42: Firefox warns about signatures but doesn't enforce them.
  • Firefox 43: Firefox enforces the use of signatures by default, but has a preference that allows signature enforcement to be disabled (xpinstall.signatures.required in about:config).
  • Firefox 48: (Pushed from Firefox 46). Release and Beta versions of Firefox for Desktop will not allow unsigned extensions to be installed, with no override. Firefox for Android will enforce add-on signing, and will retain a preference — which will be removed in a future release — to allow the user to disable signing enforcement."
¿Adivinas? A mí se me actualizó mientras hacía las pruebas. Y tuve que "desactualizar" a mano.

Pero en su día sí era más fácil y posiblemente no fuera despreciable el número de usuarios afectados.

¿Con qué se encontraron?

La licencia

Cuando me fui a la página de Plugins de mi navegador me encontré a mi nuevo inquilino:
Con éste, ya iban tres nombres: "Anonsurf", "Safe" y "Navegación Oculta 3.0". La descripción: "Paquete de instalacion necesario para navegacion anonima en las webs que lo requieran. El plugin modifica el contenido del navegador y actualiza sus datos para que estos puedan ser visualizados de forma segura y anónima".

Lo de "webs que lo requieran" ya lo había comprobado, aunque al final se trataba de un dominio aparcado con poco interés para mí. Lo de "modifica el contenido del navegador y actualiza sus datos"... creo que debería dar un poquito de miedo. Así que creo que habría que revisar los términos y condiciones que aparecían en la página inicial.

Parecía una, no demasiado mala pero tampoco buena, traducción de un texto en inglés. Y en ella aparecían perlas como:
  • "Este es un contrato legalmente vinculante entre usted y el creador del instalador". Aunque no vi ningún dato que permitiera identificar a este "creador del instalador".
  • "AL ACCEDER A LOS SITIOS Y DESCARGA DEL CONTENIDO, USTED autoriza el mostrar información PROMOCIONAL , anuncios y ofertas de productos o servicios de terceros (conjuntamente " PUBLICIDAD ")". Eso me temía yo.
  • "NO SOMOS RESPONSABLES ANTE USTED O CUALQUIER OTRA PERSONA POR CUALQUIER DAÑO INCIDENTAL , CONSECUENTE , INDIRECTO , PUNITIVO O EJEMPLARES , INCLUYENDO, SIN LIMITACIÓN , TIEMPO MUERTO DEL EQUIPO , PÉRDIDA DE DATOS, O DE GANANCIAS , INCLUSO SI SE NOS HA ADVERTIDO DE LA POSIBILIDAD DE TALES DAÑOS. AL INSTALAR O USAR EL CONTENIDO, USTED ACEPTA RESPONSABILIDAD EXCLUSIVA PARA TODAS LAS CONSECUENCIAS DERIVADAS DE LOS MISMOS Y reconoce que ninguna reclamación será realizada en contra de nosotros, nuestros licenciatarios , distribuidores, agentes , empleados o afiliados".
  • "NO HACEMOS NINGUNA REPRESENTACIÓN O GARANTÍAS RELATIVAS DE TERCEROS O SOCIOS OFERTAS, USTED ACEPTA QUE NO SOMOS RESPONSABLES POR CUALQUIER PÉRDIDA O DAÑO DE CUALQUIER TIPO INCURRIDO , O COMO CONSECUENCIA DE LA PRESTACIÓN O EXHIBICIÓN DE LAS OFERTAS". O sea, que no te quejes si una oferta te cuela algo en tu equipo o es fraudulenta.
  • "EN ALGUNAS OCASIONES , A COMPARTIR se puede cobrar por dichos servicios a EL USUARIO FINAL PARA EL MANTENIMIENTO DEL SITIO WEB O DICHO DE SERVICIOS".
Eso sí, para acabar aparecía un tranquilizante "Ningún dato personal será recogido por esta página web" que ahondaba aún más en un anterior "En un esfuerzo por cumplir con la Ley de Protección de datos, nosotros no recogemos información de identificación personal ni usamos cookies de identificacion o rastreo".

El sitio web

Cuando eché un vistazo al plugin en las opciones de Firefox aparecía una dirección. A ver si dan más información al respecto:


Pues... no. He tenido la mala suerte de pillarlos de mantenimiento. Un administrador cuidadoso debe tener esta web, pues eché un vistazo a "archive.org" por si tuviera copias anteriores y se ve que "mantiene mucho su web". Sólo encontré algo distinto cuando me remonté al año 2014:


Una palabra, "hola", que parece apuntar a alguien que habla español.

Los efectos

Estuve navegando un rato. ¿Que si noté algún cambio?

Bueno, el navegador se me quedó colgado varias veces mientras visitaba páginas de periódicos. También es verdad que la máquina virtual que estaba usando tenía poca RAM. Todo era aparentemente normal hasta que eché un vistazo al código JavaScript incluido en el fichero XPI de la extensión y utilicé las herramientas para desarrollador del navegador.

El código fuente del plugin tenía cosas "llamativas":

O sea: código para modificar las páginas visitadas y  añadirles un script. O, dicho en otras palabras, un XSS basado en complementos del navegador. Eso sí, consentido por el usuario al aceptar los términos y condiciones si lo que hace es añadir publicidad a las páginas. Pero, concediendo que así sea hoy... ¿quien nos garantiza que los scripts sigan haciendo mañana lo mismo que hacen hoy?. Incluso si la voluntad del desarrollador fuera otra... ¿no sería posible que alguien comprometiera su sitio web?

Eché un vistazo al fichero que se incluía en el nuevo script. Y básicamente encadenaba otra carga

El cual contenía nombres de variables y textos en español y sí que hacía otras cosas. Como insertar IFRAMES con páginas de terceros:

O modificar las direcciones de las páginas solicitadas:

Por cierto que ese "getCookie" y el otro "setCookie" me hacen revisar los términos y condiciones. Firefox avisaba de vez en cuando de la redirección:

Las nuevas direcciones terminaban redirigiendo a la solicitada. Parecía que se trataba más de rastreo que de intentos de phishing u otros tipos de engaño similares.

O también añadir IFRAMES a las páginas:

¿Cómo se traduce todo esto en la práctica? Valga como muestra un ejemplo. Si visito la página de Google, me encontraré con una sorpresa al comparar el código fuente de la página descargada con el de la mostrada (este último puede obtenerse seleccionando todo y usando la opción "ver código fuente seleccionado"). Ahí está el script añadido. En la línea 49 me sale a mí:

O al ver el IFRAME añadido al final del documento con el "Inspector" de las herramientas para desarrolladores (F12):


O al comprobar los accesos a páginas en dominios ajenos al solicitado:

Cloaking

Quizá quieras hacer tú mismo o tú misma las pruebas que hice yo y alguna más que se te haya podido ocurrir. Pues vete haciendo el cuerpo a que quizá no puedas. Porque cuando he intentado acceder al dominio objeto de este post desde otros sitios, incluyendo equipos de conocidos, me he encontrado con que la respuesta era distinta.

Para que te hagas una idea, ahí van varias capturas de pantalla. La primera realizada utilizando Browserling, una web que te "presta" un navegador por un ratito:

Y ahí va Browsershots:

Y lo que ve el traductor de Google:

O el motor de generación de thumbnails usado por Exalead Search para los iconos personalizables de su página de inicio:

Queda vintage eso de "Esto es el fin de internet". ¿verdad?

Resumiendo, que es gerundio

Que te inyecten un script en las páginas de Google (o de Amazon, o de Bing, o de PayPal, o de...) no es cosa baladí. Un script puede tomar control de una página web y hacerle hacer cuanto desee. Desde hacer peticiones arbitrarias, saltándose cualquier protección anti-CSRF que pudiera haber en juego, hasta exfiltrar a terceros los datos manejados y las transacciones realizadas. Pasando por robar credenciales o cookies de sesión o por realizar escaneos de red o realizar ataques de denegación de servicio contra terceros sitios.

Como indiqué anteriormente, no parece ser éste el caso en el ejemplo que nos ocupa. Todo parece tener más que ver con el rastreo que con otra cosa. Pero no existen garantías sobre qué pasará en el futuro, quizá incluso en contra de los deseos de quienes escribieron y explotan el plugin.

De si se trata de un caso aislado o existen redes dedicados a esto trataremos otro día...

No hay comentarios:

Publicar un comentario