El 20 de octubre medios publicaban que Nano Adblocker y Nano Defender, dos extensiones para bloquear anuncios en navegadores como Google Chrome o Firefox y que contaban con cerca de 300.000 usuarios activos, fueron eliminadas de Chrome tras descubrirse que su código había sido modificado a comienzos de mes para ser utilizado como spyware y recolectar datos de los usuarios. A continuación, analizamos las extensiones comprometidas para comprender cómo funcionaban y en qué se diferenciaba el desarrollo original y legítimo con respecto a las versiones eliminadas.

A modo de contexto, el pasado 3 de octubre, el desarrollador de las extensiones web Nano Adblocker y Nano Defender, ambas creadas a partir de la extensión de código abierto uBlock Origin, anunció vía GitHub que estas habían sido vendidas a un grupo anónimo de desarrolladores. Esto generó muchos interrogantes entre los usuarios: los nuevos desarrolladores no habían brindado detalles acerca de quienes eran, no se había modificado la autoría en el proyecto y tampoco se renovó el repositorio donde el código estaba siendo alojado. Sin embargo, las extensiones fueron actualizadas por los nuevos desarrolladores.

Tras revisar la actualización, el desarrollador de uBlock Origin, Raymond Hill, descubrió a mediados de octubre que el código había sido modificado para actuar como Spyware. Entre los comportamientos sospechosos reportados por los usuarios varios manifestaban que sus cuentas de Instagram registraban actividad que aseguraban no haber realizado.  Por otra parte, según el servicio VirusTotal, solo la solución de seguridad de ESET detecta la extensión como maliciosa.

Imagen 1. Resultados del análisis de VirusTotal.

A continuación, analizamos las funcionalidades agregadas en la problemática actualización. El mismo se realizó sobre la base de las diferencias entre el código abierto publicado por el desarrollador original, y el archivo de la extensión ya retirada.

Análisis del comportamiento malicioso de las extensiones

En primer lugar, la extensión se conecta a un servidor con el que interactuará luego: def.dev-nano.com. Al revisar el historial de dueños del dominio a través del sitio Whois, podemos ver que este ha sido registrado de forma que evita este tipo de rastreos.

Asimismo, monitorea constantemente si la consola de desarrollador ha sido abierta por el usuario, intentando imprimir información por la misma. De ser la impresión satisfactoria, se envía una alerta llamada report al servidor previamente conectado. Esto podría provocar un cambio de comportamiento por parte de la extensión al saber que está siendo analizada y recibir instrucciones de manera remota para ocultar cualquier posible acción maliciosa.

Imagen 2. Código para identificar la consola de desarrollador abierta.

En segundo lugar, vemos que la extensión instalada en el dispositivo del usuario recibe en un objeto ciertos campos especificados (que pueden ser ID de la solicitud realizada por el navegador, URL visitada, horario, entre otros) desde el servidor controlado por los desarrolladores. Estos campos se utilizan como condiciones para comparar con la información que se obtiene del estado actual del navegador y, de coincidir, la misma es enviada de nuevo al servidor.

Por ejemplo, supongamos que los operadores quisieran recolectar información sensible sobre la actividad que realiza el usuario en un determinado banco online, el contenido del objeto recibido sería {url:bancoejemplo\.com}. La extensión comparará la expresión regular recibida con la URL actual y, si el usuario se encuentra en algún subdominio de bancoejemplo.com, enviará la información recolectada: direcciones IP, tiempo de permanencia en cada página web, URL visitadas, cookies de sesión, entre otros. Sin embargo, al estar controlada mayormente de manera remota, sus intenciones finales son desconocidas y, además, cuenta con algunos simples métodos de ofuscación a la hora de enviar la misma.

En cuanto a las consecuencias de este comportamiento por parte de la extensión, una cantidad considerable de usuarios manifestó descubrir actividad en la red social Instagram, en particular likes y follows, que ellos no habían realizado. Esto aparentemente indicaría que a través de un componente de Adware adaptado al entorno de las redes sociales la extensión añadió un esquema de monetización deshonesto sin el consentimiento de los usuarios. Por otro lado, usuarios también reportaron intentos de acceso a sus cuentas de Instagram, Microsoft y Twitch en simultáneo desde distintas partes del mundo, aunque el vínculo con la extensión maliciosa todavía no fue confirmado.

Como método de resguardo, los desarrolladores publicaron una extraña política de privacidad en donde se explicita el uso de datos que el usuario aporte directa o indirectamente a la extensión, teniendo incluso un apartado especial para las redes sociales. Esto solo hizo más fácil la eliminación por parte del equipo de Google, ya que las tiendas prohíben este tipo de recolección de datos que en este caso se produjo en algún momento posterior al anuncio del desarrollador original de las extensiones.

Esta actualización solo se vio reflejada en los navegadores basados en Chromium (Chromium, Chrome, Opera, Vivaldi y Brave) con excepción de Edge, cuya publicación no había sido actualizada. Por otra parte, la versión disponible para el navegador Firefox no fue afectada por ser mantenida por otro desarrollador, quien se distanció del proyecto original y pronunció independizar ambas extensiones de sus nuevos dueños.

Imagen 3. Mensaje de prevención al intentar la instalación por medio del archivo .crx

A este par de extensiones se le suma el caso de User-Agent switcher, una extensión que también fue retirada de las tiendas en septiembre y que tal como mencionó ArsTechnica, su accionar nos da a entender que tiene al mismo grupo de desarrolladores como responsable: la extensión fue modificada para recolectar cookies de sesión de redes sociales como Facebook e Instagram, enviarlas a un servidor y realizar acciones sin interacción requerida por parte del usuario.

Conclusión

De ser uno de los usuarios afectados por alguna de estas extensiones, recomendamos eliminarlas, cerrar sesión en las cuentas de redes sociales mencionadas y monitorear cualquier actividad sospechosa en las mismas. Asimismo, si bien no hay indicio de que hayan sido comprometidos datos más sensibles, recomendamos cambiar las contraseñas de los sitios afectados y, como siempre sugerimos, activar el doble factor de autenticación en aquellos sistemas donde confiemos información más sensible.

A largo plazo, recordando que ya son tres las extensiones afectadas con la misma modalidad, sugerimos auditar cualquier cambio notable en extensiones del navegador y eliminar cada cierto tiempo aquellas que no son utilizadas, ya que estas acceden a gran parte de la información que compartimos en la web.