sábado, marzo 14, 2020

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

En las primeras dos partes de esa serie me he centrado en explicar la arquitectura general de lo que podría ser una Gremlin Botnet basado en la idea inicial de la FOCA Botnet y de la aparición de las Gremlin Apps en el market de Google Play, y en la segunda parte me he centrado en las posibilidades que dan los Permisos de Android para conocer quién está utilizando el dispositivo donde tenemos una app controlada y cómo podemos identificar quién es esa persona y en qué empresa trabaja o servicios que tiene en Internet para poder hacer un APT muy enfocado y que pueda ser revendido como un servicio, incluso.

Figura 25: Gremlin Botnets: El club de los poetas muertos [Parte 3 de 6]

Ahora en esta tercera parte toca hablar de cómo conseguir escalar el número de dispositivos controlados. Y aquí no hay mucha magia, ya que se pueden seguir diferentes esquemas, que te puedes imaginar,

3.2. - Cómo hacer grande una Gremlin Botnet

Como vamos a ver, para tener muchos terminales instalados en base a muchas apps controladas en una Gremlin Botnet, tenemos tres estrategias distintas utilizadas para ir lo más rápidamente posible. Se trata de "Hacer apps", "Comprar apps" o "Robar aps".
- Crecimiento Orgánico: Tan sencillo como hacer muchas apps, que se hagan populares y muchas personas las utilicen. Dentro de este esquema caba cualquier estrategia de SEO (Search Engine Optimization), SEM (Search Engine Marketing), ASO (App Store Optimization), Pay per Install, o Social Growth Hacking. Lo que es hacer que tus "properties" en forma de "apps" se hagan populares y se instalen en muchos dispositivos.   
Como os podéis imaginar, este es un trabajo que requiere tiempo y hay que invertir algo de dinero en diferentes tipos de tareas. Es el trabajo que realizan los expertos en Marketing en las organizaciones. Eso sí, también existen técnicas utilizadas por el mundo del ciber-crimen que ayudan a este crecimiento orgánico, como son el Black SEO y el Black ASO, de los que hemos hablado largo y tendido por este blog.  
- Crecimiento Inorgánico: Que es del que vamos a hablar largo y tendido en esta parte. Consiste en ir directamente al mercado y comprar apps que ya estén instaladas en muchos sitios. Puede que sea incluso más económico que el crecimiento orgánico, pero lo que sí que es seguro es que es mucho más rápido, ya que con pagar por las apps tienes ya un parque de instalaciones que puedes cuidar, crecer y explotar desde el día uno. 
- Crecimiento "Black-Organic": Es decir, robar las apps a otros. Para ello se pueden robar las cuentas de los desarrolladores, buscar vulnerabilidades en los back-ends de las apps, o directamente hacer un robo de toda la infraestructura de formas curiosas - como veremos en la última parte de este artículo.
Como el primer punto, el del Crecimiento Orgánico, no necesita una explicación especialmente extensa, vamos a centrarnos en el segundo punto, el del Crecimiento Inorgánico, ya que presenta una serie de peculiaridades muy interesantes.

3.3.- El mercado de las apps

Si hoy en día quieres comprar un buen número de instalaciones, no tienes más que irte a una de las muchas webs que existen para ello. Yo he utilizado para escribir el artículo la popular Sell The App, que permite buscar por el tipo de app que estás buscando. Es un sitio fácil para hacerse con una buena red de apps para cambiar su comportamiento y meterlas dentro de una Gremlin Botnet.

Figura 26: Sell the App. Un sitio para comprar apps instadas en dispositivos

Como podéis ver, te puedes llevar el control de las instalaciones, pero lo que es más importante, te puedes llevar el código fuente para modificarlo a tu gusto y hacerle todos los cambios pertinentes para implantarle un código de activación vía esteganografía, o para recoger del dispositivo los datos necesarios para identificar bien al usuario del terminal, o ver cómo puedes implantar las acciones maliciosas latentes que realizar.

Figura 27: Apps orientadas a militares. NO están a la venta.

Si se trata de comprar instalaciones, podrías pensar que el número de instalaciones es lo más importante, pero lo cierto es que hay otros dos parámetros que son importantes a la hora de mirar lo útil o no que son esas apps para una posible Gremlin Botnet centrada en el "negocio" de los ataques dirigidos como servicio, es decir, del APTaaS (APT as a Service), donde se pueda vender solo una acción sobre un objetivo, por ejemplo:
  • "Quiero las fotos del terminal de Fulano de Tal"
  • "Quiero la agenda de contactos del número de teléfono XXXXXXX"
  • "Quiero la lista de mensajes en Skype de los empleados de la empresa YYYY"
Al fin y al cabo, poder saber quién está utilizando un teléfono y qué cosas se pueden hacer en él es una materia de Permisos en el dispositivo y un poco de OSINT tal y como vimos en la parte anterior, así que si se quiere vender un APTaaS con una Gremlin Botnet, interesan tres factores fundamentales:
- Número de instalaciones: Este número marca su valor, pero también es importante saber la región donde se concentran las instalaciones. Hay muchas apps que tienen una regionalización alta y puede que nos sea útil con el objetivo de la botnet. Esto impacta mucho en los markets en los que está publicada. Este es evidente.
- Permisos en el dispositivo: Conocer qué permisos tiene concedida esa app en los dispositivos instalados es fundamental. Como ya vimos en la parte anterior, se puede hacer mucho con poco, pero cuantos más permisos se haya labrado la app, más valor tendrá para una posible Gremlin Botnet. Con la siguiente lista de permisos se puede hacer mucho, mucho, mucho daño.
permissionName:"android.permission.GET_ACCOUNTS"
permissionName:"android.permission.INTERNET"
permissionName:"android.permission.READ_EXTERNAL_STORAGE"
permissionName:"android.permission.READ_PHONE_STATE"
permissionName:"android.permission.ACCESS_NETWORK_STATE
- Público Objetivo: No es lo mismo una app que es un juego para niños de menos de 7 años que una app que tiene la lista de todos los teléfonos públicos y de información de bases militares en los Estados Unidos. La probabilidad de que la segunda esté instalada en terminales móviles utilizados por militares de USA es alta, mientras que la primera probablemente no. Dependiendo del tipo de app, habrá un público objetivo que hay que inferir, suponer o investigar.
Figura 28: Photo Collage te da 3.000.000 instalaciones por 600 $

Con estos parámetros en mente, se pueden encontrar cosas muy curiosas a la venta. Por ejemplo, Photo Collage se vende por 600 USD y tiene 3.000.000 de instalaciones en Android. Una app que seguro, seguro, seguro, que tiene acceso a las fotos del dispositivo. Tiene pinta de ser una app  "clon" de esas que se publican con cambios menores en diferentes markets, y que el programador tiene un negocio de hacer esto, vender el código y la app, posicionarla y vender la misma app una y otra vez.

Figura 29: Medical Marijuana Maps

Otra que me llamó la atención es Medical Marijuana Maps, un sitio en el que se identifican los lugares de venta de Marijuana en farmacias y médicos en USA, pero no los que, como dicen ellos son "unfriendly". El público objetivo de este tipo de app puede ser muy sensible, ya que se trata de personas que están utilizando esta app, probablemente, como forma de su tratamiento médico, lo que hace que la info de quién es cada uno de ellos sea muy sensible. Y la app está a la venta por un precio muy alto, 250.000 USD.

Figura 30: Precio de transferencia de Medical Marijuana Maps

Fijaos, el precio es de unos 20 USD por instalación activa de la app, lo que hace ver lo importante es tener segmentado un público objetivo de una app concreta. Esta en malas manos podría hacer daño a sus usuarios.

3.4.- mASAPP y las apps a la venta

Cuando creamos mASAPP en ElevenPaths, lo hicimos como una plataforma donde un CISO pudiera dar de alta las apps que tiene desarrolladas y publicadas en el exterior, o las que tiene aprobadas para uso interno en un MDM o SMDM, o las que tienen en uso sus empleados, y pudiera ver todos los días cuál es el estado de riesgo que tienen todas y cada de las apps que circulan por los dispositivos móviles de sus empleados.

Figura 31: mASAPP de ElevenPaths

Esto permite saber desde qué apps tienen vulnerabilidades, hasta cuáles acaban de caer en un peligro de riesgo por algún cambio externo. La lista de cosas que miran los equipos de ciberinteligencia para mantener esas alertas es alta, y una de ellas, por supuesto, es que una app haya sido puesta a la venta en uno de los múltiples markets de aplicaciones, ya que esta puede caer en manos del cibercrimen y volverse maliciosa de forma puntual o masiva, como hemos visto en el pasado.


Figura 32: Presentación de mASAPP en ElevenPaths Security Day 2017

Así, todos los equipos de seguridad, desde nuestros servicios de ciberseguridad, reciben alertas vía mASAPP si alguna app aprobada en un SMDM de repente se pone a la venta en el market público, lo que ayuda al equipo de seguridad interna a tomar las decisiones correspondientes.

3.5.- Los permisos oportunistas [extra]

Como hemos visto en la parte anterior, y en el apartado anterior de esta parte, la elección de permisos es fundamental para no levantar alarma entre las víctimas a las que se les active una Gremlin App. Como hemos dicho antes, un usuario no sospecha de una app que le pide acceso al carrete de fotos si es capaz de darle una explicación lógica a ese uso del permiso.

Figura 33: app de Metro de Madrid pide acceso a ficheros

Por ejemplo, la app del Metro de Madrid pide acceso al carrete de fotos y lo hace porque se pueden reportar averías mediante toma de fotos. Perfecto. Y por supuesto la app del Metro de Madrid no hace mal uso de ese permiso. Pero que se pueda asociar una función de la app con un permiso tranquiliza al usuario, porque en su cabeza tiene lógica, pero si alguien metiera una función maliciosa en esa app para llevarse todas las fotos, podría hacerlo, ya que tiene el permiso y el usuario no sospecharía.

Figura 34: Uso del permiso para adjuntar fotos en reporte de incidencias

En este orden de cosas, se nos ocurrió que replicar el experimento de XCodeGosht, donde un investigador troyanizó el compilador XCode de Apple para hacer que todas las apps compiladas fueran backdorizadas, podría ser igual para los permisos de acceso a fotos, contactos, u otras zonas de información sensible.  Pero este experimento aún no está completo, así que ya os lo contaré en cuanto esté acabado.

Figura 35: XCodeGhost en GitHub

Por último, dentro de la investigación del uso de permisos, se nos ocurrió hacer una app muy sencilla que simula ser el PokemonGO para probarla con gente. Se trata de poder ir a un ejercicio de Red Team y tirar fotos a las infraestructuras o medidas de seguridad, y si alguien te da el alto, explicar que es el PokemonGO, que hay un Pikatxu gordo ahí mismo, y poder enseñárselo en tu móvil.

Figura 36: Un PokemonGo para el Red Team

Visto todo lo visto hasta el momento, ya toca en la siguiente parte ver cómo es posible hacer una Gremlin Botnet, como la que hicimos nosotros, usando un sencillo juego de preguntas y respuestas con fotografías. Lo vemos en la siguiente 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:

Entrada destacada

Hacking Avanzado en el Red Team con Empire (& iBombShell) de @0xWord

Con el comienzo de año hemos sacado el primer libro de 0xWord para todos aquellos que quieran aprender tácticas profesionales de pentestin...

Entradas populares