martes, abril 07, 2020

Gremlin Botnets: El club de los poetas muertos [Parte 5 de 6]

Una vez que vimos en funcionando en la cuarta parte de este artículo una Gremlin Botnet en el mundo de los dispositivos móviles Android, tal y como pensamos originalmente en hacer con la FOCA Botnet de la primera parte de esa serie, quedaría ver cómo se puede hacer crecer esta Grenlim Botnet de otra forma. En la segunda parte hablamos de las Gremlin Apps y su crecimiento orgánico y en la tercera parte de cómo se podían comprar apps en el mercado de compra/venta de apps para dispositivos móviles y meterlas dentro de nuestra Gremlin Botnet.

Figura 50: Gremlin Botnets: El club de los poetas muertos [Parte 5 de 6]

Hoy vamos a ver otra aproximación distinta para conseguir un crecimiento inorgánico de las víctimas de nuestra posible Gremlin Botnet mediante el robo de apps. Es decir, mediante el robo de las cuentas de los desarrolladores de apps.

Cómo robar apps para meterlas en la Gremlin Botnet

En la segunda parte de este artículo vimos, al final del mismo, que una aproximación posible para el robo de apps sería infectar los compiladores, tal y como se explica con el malware de XCodeGhost que infectaba las apps en el momento de compilación. También se podría hacer una campaña, como se ha hecho en el pasado, de Phishing o Spear Phishing para robar las credenciales de desarrolladores de Android Developer Console que no tuvieran cuidado - ni un segundo factor en su cuenta Google - para evitar un robo de sus cuentas. Esto también, como hablamos, se hace con las cuentas de GitHub, para infectar el código fuente de apps.

Figura 51: Mensajes de Phishing para robar las cuentas de Android Developer Console

Estas dos aproximaciones son válidas en un esquema de "crecimiento inorgánico" para el cibercrimen, pero durante el año 2015 a nosotros se nos ocurrió realizar una investigación con un enfoque diferente y mucho más silencioso, lo que podía ser utilizado por cibercriminales sin levantar mucho ruido, ya que nadie, como en el caso del robo de una cuenta por phishing iba a reclamar.

Robar las cuentas del "Club de los poetas MUERTOS"

La idea era muy sencilla. Robar las apps de los desarrolladores muertos. Esto es lo que nosotros llamamos el "Club de los Poetas Muertos", pero realmente podríamos decir que se trataba de buscar las cuentas de correo electrónico muertas detrás de las apps que estaban en el market de aplicaciones. Un viejo truco, aplicado al mundo de las aplicaciones móviles publicadas en Google Play.

La idea es bastante sencilla de comprender. Una app la publica un desarrollador de Android para lo que debe tener una cuenta en la plataforma de Google para la publicación de las apps. Esta cuenta puede ser una cuenta de Google, o una cuenta de otra plataforma, ya que se pueden dar de alta desarrolladores en este servicio sin necesidad de tener como identificador una cuenta de Google, algo que hace más universal la creación y publicación de cuentas al ponerle más fácil a los desarrolladores el entorno, pero que genera dos líneas temporales de caducidad.

¿A qué me refiero con dos lineas temporales de caducidad? Pues tan sencillo como que si la cuenta de desarrollador Android es una cuenta de Google, entonces realmente es como si solo hubiera una cuenta, porque cuando caduca la cuenta de Google se mueren todos sus servicios, incluidos los servidos asociados a la plataforma de desarrollo de apps en el market de Google Play.

Pero si el desarrollador se ha abierto una cuenta de Android Developer con una cuenta de correo electrónico de otra plataforma, podría darse el caso de que la cuenta de correo de la otra plataforma se muriese, y la cuenta de la plataforma de Google para desarrolladores de apps siguiera abierta. En ese caso, trayendo a la vida el correo electrónico muerto en otra plataforma de uno de los desarrolladores, podríamos pedir la recuperación de la contraseña de la plataforma de desarrollo de apps y tener control de todas ellas.

Por supuesto, la casuística de qué cuentas de correos electrónicos caducan y de por qué caducan esos buzones de correos puede ser altísima. Simplemente un descuido de un desarrollador o un accidente fortuito del destino, o la muerte del desarrollador, como hemos dicho. Podría ser que nos encontráramos con ese entorno, y decidimos hacer la investigación.

Consiguiendo los correos electrónicos de todos los desarrolladores

Esta podría parecer la parte más complicada de la investigación, pero lo cierto es que para nosotros fue bastante sencillo. Durante el año 2015, como he explicado en la primera parte de este artículo, estábamos trabajando en Tacyt, donde tenemos todas las apps móviles descargadas, abiertas, catalogadas y analizadas. Un Big Data de apps móviles para investigación que usamos en nuestros servicios de Cyber Threats en ElevenPaths para vigilar las amenazas que afectan a nuestros clientes, pero también usamos en mASAPP para vigilar que las apps de un parque de aplicaciones en una empresa no tienen riesgos o son controlados.

Figura 52: Servicio CyberThreats de ElevenPaths

Desde el año 2015 hemos hecho muchas investigaciones con Tacyt que habéis visto publicadas en por este blog, o que hemos publicado en el blog de ElevenPaths, donde seguimos sacando las investigaciones. Sacar la lista de todos los desarrolladores de apps fue tan fácil como lanzar unas consultas a Tacyt y obtener la lista de todas ellas.


Figura 53: Dorking & Pentesting con Tacyt

Una vez que teníamos la lista de todas las direcciones de desarrolladores, la idea era quedarnos con las más propensas a esta desincronización en fechas de caducidad. Para ello, basta con ir viendo cuáles son las políticas de caducidad de cada uno de los dominios más utilizados en el correo electrónico.

Figura 54: Cuanto tarda en caducar una cuenta después del último login

En la tabla que tenéis arriba podéis ver la información pública de cuándo expiran las cuentas después de un periodo de inactividad - sin hacer inicio de sesión en la plataforma - de cada uno de los dominios más populares que encontramos en nuestra plataforma. Como podéis ver, hay algunos que caducan bastante rápidos, como es el caso de AOL Mail o Protonmail.

La verdad es que, aunque tarden lo mismo, que en el caso de Google - nueve meses - no importa si no se ejecutan al mismo tiempo las deshabilitaciones. Es decir, si Google borra la cuenta a los nueve meses y el login es una dirección de e-mail de Hotmail, la posibilidad de que lo hagan al mismo tiempo es tendente a cero.

Buscando los Poetas Muertos

Una vez que teníamos la lista de todos los correos electrónicos, podíamos haber probado con todos los dominios que no fueran de Google, pero decidimos centrarnos en el siguiente más popular con más apps y probar cuántas de esas cuentas estaban caducadas. Así que seleccionamos el domino Outlook/Live/Hotmail de las direcciones de correo electrónico usadas por los desarrolladores que usaban direcciones de e-mail de plataformas de Microsoft, para asegurarnos que no existiera esa sincronización entre la eliminación del buzón de correo y la cuenta de Android Developer.

Figura 55: Probando a crear una cuenta que está viva

Para saber si el buzón de correo electrónico había sido eliminado, simplemente nos pusimos a comprobar si podemos o no crear esa dirección, con solo esa información ya sabemos si el buzón ha muerto o no. No hay más misterio.

Figura 56: Automatizando la petición de creación de la cuenta

Pero para poder comprobar muchas cuentas decidimos automatizar la prueba de direcciones de correo electrónico probando con plataformas de automatización de pruebas y usando una red de Servidores Proxy para evitar el bloqueo de dirección IP. Para ello, bastaba con hacer la petición del formulario anterior con diferentes nombres y revisar la respuesta para ver si la cuenta estaba creada o no.

Figura 57: Respuesta que indica que no está disponible esa cuenta (Está viva)

El resultado final es que, de la muestra de cuentas que probamos - un total de 217 cuentas asociadas a las apps más descargadas que teníamos en Tacyt en las que el desarrollador tenía una cuenta de correo electrónico - encontramos un total de 8 cuentas de e-mail asociadas a desarrolladores se encuentran caducadas y la cuenta de Android Developer seguía activa.

Figura 58: Resultados sobre 217 cuentas Outlook

Comprobar que una vez registrada una cuenta se puede recuperar el control de la cuenta de desarrollador de Android Developer es tan sencillo como solicitar un "Me he olvidado de la contraseña" y ver si nos llega el correo electrónico de recuperación de cuenta, tal y como se puede ver en la imagen siguiente.

Figura 59: Link de recuperación de cuenta

Es decir, en nuestra sencilla prueba, esas 8 cuentas del total de 217, supone un 3,7% de las direcciones de email de desarrolladores. Si extrapolamos linealmente - algo que puede tener muchos matices pero que sirve para hacernos una idea del volumen del problema existente en ese momento - estos resultados al número total de cuentas de desarrolladores, y al conjunto completo de proveedores de correo electrónico no asociados a Google, el número absoluto de cuentas de correo electrónico caducadas que se pueden usar para recuperar cuentas de Android Developer es muy considerable.

Y aún hay más

Tras la medición del número de cuentas de desarrolladores caducadas, realizamos un recuento sobre el impacto, medido en descargas, que tienen solo contando estas 8 cuentas "muertas", en el caso en el que se tomara el control de las mismas con el fin de reemplazar las apps de las que disponen por Grelim Apps que meter en nuestra Gremlin Botnet.

El resultado directo no es desdeñable y el indirecto tampoco, como os contaré en la última parte, pero por ahora cortamos aquí. Por supuesto, no recuperamos ninguna de las cuentas, ni hicimos nada más, y lo reportamos para que se tomaran las medidas pertinentes, pero estamos seguros de que esta situación sigue pasando a día de hoy. Nos vemos en la última parte.

Saludos Malignos!

*********************************************************************************
- Gremlin Botnets: El club de los poetas muertos [Parte 1 de 6]
- Gremlin Botnets: El club de los poetas muertos [Parte 2 de 6]
- Gremlin Botnets: El club de los poetas muertos [Parte 3 de 6]
- Gremlin Botnets: El club de los poetas muertos [Parte 4 de 6]
- Gremlin Botnets: El club de los poetas muertos [Parte 5 de 6]
- Gremlin Botnets: El club de los poetas muertos [Parte 6 de 6]
*********************************************************************************

Autor: Chema Alonso (Contactar con Chema Alonso)


No hay comentarios:

Publicar un comentario