SMS-Xombie Spyware Android para Extraer Datos Teléfono
SMS-Xombie Spyware Android para Extraer Datos Teléfono

SMS-Xombie: Spyware para Android para Extraer Datos del Teléfono

Un spyware para Android que interactúa con un servidor remoto de C&C para extraer datos del teléfono. Funciona con el último SDK (29). Lea el artículo completo aquí.

El objetivo de este proyecto es el despliegue de una aplicación Android que interactúe con un servidor remoto de Comando y Control (C&C) como spyware. SMS Xombie también cuenta con un Raspberry Pi equipado con una antena del Sistema Global para Móviles (GSM) con el único propósito de recibir comandos de un teléfono móvil controlador. En resumen, el paquete de aplicaciones -considerado como un dispositivo “zombi” único- se comunica con el servidor utilizando el Protocolo de Transferencia de Hipertexto (HTTP) GET para obtener comandos a través de la Notación de Objetos de JavaScript (JSON) y el HTTP POST para enviar datos sensibles como los registros de SMS, la agenda de contactos o la ubicación geográfica de vuelta al servidor -que se analiza a partir de un script de Preprocesador de Hipertexto (PHP).

Implementación

Aplicación Android

La aplicación en sí contiene los siguientes dos (2) módulos:

  • Fetcher Service – realiza operaciones clave en segundo plano y no requiere la interacción del usuario;
  • Autostart Receiver – un componente activado por el evento de finalización de arranque para invocar el servicio anterior.

Cuando la aplicación se instale y se abra, registrará el receptor que se invocará durante el tiempo de arranque de Android RECEIVE_BOOT_COMPLETED (después de que los servicios del sistema se carguen completamente, es decir). La función principal de este BroadcastReceiver es programar un AlarmManager para que inicie el servicio Fetcher periódicamente, haciéndolo así persistente en el dispositivo.

Dentro del servicio Fetcher, hay varias partes de código que empiezan con onStartCommand() que:

  • Comprueba o almacena permanentemente unUniversal Unique Identifier (UUID) generado al azar para identificar de forma exclusiva el dispositivo;
  • Valida la conexión de red del dispositivo y la accesibilidad del servidor remoto.

Inicialmente, se genera un GUID del dispositivo para identificar de forma única a un “zombi”. Este ID se utiliza más tarde como un parámetro de consulta en sus peticiones GET regulares a un punto final de la API (PHP) que responde a los datos codificados JSON, por lo tanto, JsonObject() se utiliza a lo largo de HttpURLConnection para interactuar con la API. La respuesta es manejada por la función onPostExecute() si la conexión fue exitosa y hay una conectividad de red según el método booleano isConnected().

Aplicación Android

Si todo es correcto, el móvil responderá a la tarea en consecuencia; mientras que para enviar los datos de vuelta, utilicé la librería Volley HTTP que facilita el trabajo en red en las aplicaciones para Android.

Librería Volley HTTP

Plataforma Xombie

La aplicación en sí es parte de un sistema más grande, la Plataforma Xombie, que vamos a elaborar a continuación. La idea es simple, usando un simple mensaje SMS a través de la red GSM, somos capaces de controlar múltiples dispositivos que ejecutan el APK a través del servidor C&C. La implementación, sin embargo, es compleja debido al siguiente proceso:

  1. Implementación de un dispositivo Rasberry Pi con un GSM shield conectado para obtener mensajes SMS de un teléfono móvil controlador a través de la red GSM;
  2. Construcción de un mecanismo de interconexión entre el API y el dispositivo físico;
  3. La capacidad de procesar de forma distintiva el tráfico entrante de los otros dispositivos móviles y responder con el contenido apropiado de ese dispositivo.

Para una visión más amplia, el procedimiento anterior se ilustra en el siguiente esquema:

Esquema Plataforma Xombie
Esquema Plataforma Xombie

Inicialmente, el dispositivo controlador envía un comando a través de un mensaje SMS para recuperar la ubicación geográfica de todos los teléfonos móviles (palabra clave getGeoLocation). El GSM shield, que puede operar en las bandas de frecuencia Quad 850/900/1800/1900 MHz, utiliza una tarjeta SIM local para recibir el mensaje, reenviar el contenido del SMS a la API smsXlib, que luego pone la tarea en la cola del servidor de alojamiento. Teniendo en cuenta que los dispositivos móviles envían periódicamente solicitudes HTTP para comprobar si hay algo que hacer, en este caso, enviarían inmediatamente los valores de latitud y longitud pertinentes como una solicitud POST (dado que el usuario ha dado permiso al servicio de localización de la aplicación).

Capacidades

Esta aplicación tiene las siguientes capacidades:

  • SMS dump (smsdump) – Vuelca todo el historial de mensajes;
  • Contacts dump (contactsDump) – Vuelca toda la lista de contactos;
  • Call Logs Dump (callsDump) – Vuelca las entradas de llamadas;
  • Geographical Location Fetch (getGeoLocation) – Recupera los valores actuales de latitud y longitud del dispositivo;
  • Application List Dump (appsDump) – Muestra las aplicaciones instaladas por el usuario;
  • Device Information Retrieval (deviceInfo) – Recuperación de información del dispositivo;
  • Calendar Entries Dump (calendarsDump) – Vuelca las entradas de calendario existentes;
  • Service Termination (kill) – Termina el servicio en curso hasta el próximo arranque.

Uso

El programa está pensado básicamente para conectar y usar; sólo tienes que modificar el valor del URL de C&C en el archivo de resource res/values/strings.xml:

XML

El script PHP de servicio debe ser configurado como se indica a continuación:

PHP

Descargo de Responsabilidad

Legal

El uso de esta aplicación para atacar objetivos sin previo consentimiento mutuo es ilegal. Es responsabilidad del usuario final obedecer todas las leyes locales, estatales y federales aplicables. No asumo ninguna responsabilidad y no soy responsable de ningún mal uso o daño causado.

Dark Mode
Más artículos
Osintgram Herramienta de OSINT en Instagram
Osintgram: Herramienta de OSINT en Instagram