martes, marzo 31, 2020

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

Con lo visto hasta el momento, ya tenemos todo lo necesario para hacer una demostración de cómo puede funcionar un Gremlin Botnet. Nos vamos a centrar en un caso concreto, creando una app para Android que utilice los diferentes permisos posibles para sacar información de quién está utilizando este dispositivo, usando el número de teléfono, la cuenta Twitter o la cuenta de correo electrónico del dispositivo como identificador principal.

Figura 37: Gremlin Botnets: El club de los poetas muertos (4 de 6)

Como vamos a ver, es un ejemplo de cómo usar un "Crecimiento Orgánico", es decir, mediante la creación de una app propia que va a ser lo más silenciosa posible en todo el proceso, por lo que usaremos esteganografía y cifrado para enviar los comandos y recibir los datos entre la Gremlin App y la el C&C de la Botnet.

Quiz App

El gancho que hemos elegido es un pequeño juego. Los juegos son unas de las apps más descargadas por padres despreocupados que buscan entretenimiento gratis para sus pequeños, permitiendo que estas apps soliciten muchos permisos y se lleven sus datos - muchos datos - para pagar el uso de dichos servicios de entretenimiento. Nosotros vamos a hacer una Gremlin App de las que para descubrir habrá que hacer un buen reversing, como se explica en el libro de Malware en Android: Discovering, Reversing & Forensic.

Figura 38: Malware en Android: Discovering, Reversing & Forensics

En nuestro caso hemos elegido un sencillo juego de preguntas para solicitar al usuario que nos diga qué le gusta más. En cada petición cargamos dos imágenes de cosas similares para hacerle al usuario decidir quién gana. Bastante sencillo de entender.

Figura 39: Se muestran dos imágenes y se debe escoger una.
!Siempre Cálico Electrónico!

Por el camino, tenemos una imagen - el banner de Quiz App - que también es una imagen y vamos a ir recargando cada cierto tiempo. Pero es en esta imagen donde vamos a elegir qué app es la que queremos que se vuelva maliciosa. Es decir, vamos a seleccionar qué app se va a volver una Gremlin App.

Como podéis ver, en esta PoC, hemos puesto tres tipos de datos que buscamos poder sacar del dispositivo, como son el número de teléfono, la dirección de correo electrónico o al cuenta Twitter. No necesitamos saber todo, se trata de que activemos la app por medio de un identificador que sí que hayamos sido capaces de extraer. Esta info la vamos a ver en el panel de control de la lista de dispositivos en nuestra Gremlin Botnet.

Figura 40: Desde el C&C marcamos una Gremlin App a activar

Por supuesto, dentro de nuestra Gremlin Botnet el resto de las apps continuará teniendo un comportamiento normal y el juego seguirá siendo un juego que no hace nada mal. Como se puede ver en la imagen siguiente, para indicar qué app se debe volver maliciosa usamos esteganografía que metemos dentro de la imagen del banner. En este servicio se puede ver el código que está inyectado en cada petición.

Figura 41: Comandos ocultos por esteganografía en la imagen

Como se puede apreciar en la imagen anterior hay tres comandos que son "Contacts", "Location" y "Photos" para decidir qué queremos que nos envíe del dispositivo en que se encuentra instalada la Gremlin App. Para ello, tenemos en el panel de control la lista de dispositivos con sus identificadores - a partir de los cuales podremos hacer todo el proceso de OSINT explicado anteriormente. Por ejemplo, ene esta demo tenemos estos dos terminales infectados por nuestra Gremlin App durmiente en modo Zombie.

Figura 42: C&C de nuestra Gremlin Botnet con la lista de dispositivos con nuestra Gremlin App

Elegido uno de ellos, podemos enviarle un comando concreto, como en este caso que hemos solicitado de este dispositivo la lista de contactos dados de alta. Estos se irán enviando en cada iteración con la Gremlin App que se ha vuelto maliciosa usando el intercambio de imágenes y la petición de las misma con parámetros GET que realmente llevan la información robada del dispositivo.

Figura 43: Solicitando la lista de contactos de este dispositivo

Este comando inyectará en la imagen de cabecera de nuestro juego el número de teléfono (o la dirección de e-mail que también lo tenemos) en la Gremlin Botnet, y todas las apps mirarán en esa imagen, para extraer los datos con esteganografía y así saber si le toca a cada una volverse maliciosa o no. En este ejemplo hemos activado uno de los dos dispositivos para que nos de la lista de contactos, y como se puede ver, el terminal afectado muestra un menaje que hemos puesto para que se entienda mejor la demo. Es decir, hemos activado ese dispositivo. Tan sencillo como esto.

Figura 44: Gremlin App activada para que envíe los contactos

Lo que iremos recibiendo en el servidor, poco a poco, será la lista de contactos que se encuentran en ese dispositivo. Para ello se aprovechará cada petición de una nueva imagen para ir enviando al servidor los datos en parámetros GET cifrados como si fueran parte de la petición de la imagen. Un sencillo truco para no levantar muchas sospechas en un posible análisis de tráfico de la red.

Figura 45: Lista de contactos en el C&C recibidos por la Gremlin App

Y lo mismo podremos hacer, activando otro dispositivo, en este caso para solicitar la lista de fotografías en el carrete. El usuario confió en esta app para acceder al carrete pensando que era fundamental para el funcionamiento de la app - como así decimos nosotros - y por lo tanto, podremos activar este comando remotamente en otra Gremlin App.

Figura 46: Activando el robo de fotos del carrete del disositivo

En este caos vemos que se vuelve una Gremlin App la otra instalación de nuestra app, ya que hemos cambiado el target a un nuevo identificador, que ha sido incluido en el banner de cabecera junto con un nuevo comando. Así, se vuelve maliciosa la otra app de nuestra Gremlin Botnet.

Figura 47: Ahora activamos otra Gremlin App
Y lo que iremos recibiendo ahora en nuestro panel de control será ahora la lista de fotografías que tenemos en el carrete de ese dispositivo controlado por nuestra Gremlin App. Así de sencillo, y así de peligroso.

Figura 48: Todas las fotos de ese dispositivo en nuestro C&C

Para que podáis ver la demo completa, os dejamos este vídeo que hemos preparado que realiza esta mismo demostración en poco más de dos minutos para que podáis ver lo fácil y rápido que es activar y desactivar una Gremlin App en una Gremlin Botnet.

Figura 49: Gremlin Botnet: Activando Gremlin Apps

Como podéis ver, cualquier app que instales en tu dispositivo puede hacer un uso malicioso de los permisos en modo APT, seleccionando el objetivo en base a la información que tiene de él. Así que ten mucho cuidado con lo que instalas.

No se vayan todavía, aún hay más

En las dos próximas partes vamos a ver como, apps que fueron pensadas para nunca ser maliciosas pueden también ser maliciosas si caen en malas manos con malas artes. Nos 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)


2 comentarios:

  1. Cual es, seria, una buena antena exterior vivo en una montaña

    Intejte contactar pero me cobrabraban 8e por la pregunta ! No les tengo entenderia sino tiene tiempo para ayudarme, gracias !

    Hola " dejo las presentaciones para despues para ahorrarte tiempo

    Necesito conectarme a intetnet, vivo en la montaña aislado, el vecino mas proximo a 300m , con unos pocos arboles entre los dos, el tiene internet, yo su clave y confianza pero no quiero instalar un repetidor wifi en su casa, debo conectarme desde la mia

    Conoces la antena belgrano correcto? Belgrano lach ? crees que la belgrano , alguna de ellas es buena? para mi situacion?

    Trate de hacer una windalo y no me funciono,

    Podrias recomendarme un router, y antena? ya sea china, comercial o artesana?

    apelo a tu conocimiento sobre las redes y las ondas que nos conectan

    Llevo tiempo años invedtigando y mi escasa rconomia no me a permitido hacer pruebas, creo conocer todo lo que existe , fabricantes ubiquiqui etc pero desconozco su fiabilidad , solo tengo una version china tipo alfa que en ciudad siempre me viene bien, necesito algo mucho mas potente



    Te conozco poco, Mas eres famoso ! Se me ocurrio preguntarte , mandarache el creasdor de la belgrano aun no publico su ultima antena , sera x tiempo o circunstancias personales ,,, se me ocurrio preguntarte, que hsrias tu si vives o vas a la montaña y hay algun pueblo o vecino a la vista ? A parte claroo de hacerte de vodafone ,ilimitado !



    Me gusto tu blog seguire una temporada aprendiendo , eso de desempacar apk y rehacerlas malvadas mola ! ja



    Aprendi programacion sus fundamentos hace tiempo

    Soy amante de la informstica , de los primeros en jugar a fallout en un Htc Magic,, ayude a que genios se unieran con los primeros ports de dosbox , hoy dia la tecnologia dista años luz ,, tablets computadores informacion, todos conectados,, si se usa para bien,, la gente evolucionara

    intentare retribuirte la ayuda, o volcarla al mundo ok ? Si quieres lecturas entretenidas probaste la obra de carlos castaneda ? yo la releo cada poco igual que dune jaja

    En un tipi indio o habitacion Cyberpunk se disfrutaria mejor ,, quien sabe lo que nos traera el tiempo



    Un saludo nos vemos en el camino , In Lak'ech !

    ResponderEliminar
  2. Saludos desde Colombia Chema, gracias por esa información

    ResponderEliminar