Así funciona Predator, el spyware para Android que explotó 5 día cero
El malware para teléfonos inteligentes que se vende a los gobiernos de todo el mundo puede grabar de forma subrepticia llamadas de voz y audio cercano, recopilar datos de aplicaciones como Signal y WhatsApp, y ocultar aplicaciones o evitar que se ejecuten al reiniciar el dispositivo.
Los investigadores de seguridad de Cisco Talos y Citizen Lab han presentado un nuevo análisis técnico del spyware comercial de Android ‘Predator’ y su instalador ‘Alien’, compartiendo sus capacidades de robo de datos y otros detalles operativos.
Predator es un spyware (software espía) comercial para plataformas móviles (iOS y Android) desarrollado y vendido por la empresa israelí Intellexa.
La familia de software espía se ha relacionado con operaciones de vigilancia dirigidas a periodistas, políticos europeos de alto perfil e incluso ejecutivos de Meta.
El spyware puede grabar llamadas telefónicas, recopilar información de aplicaciones de mensajería o incluso ocultar aplicaciones y evitar su ejecución en dispositivos Android infectados.
El instalador Alien
En mayo de 2022, Google TAG reveló cinco vulnerabilidades de día cero de Android que el software espía Predator encadenó para realizar la ejecución de shellcode para colocar el instalador ‘Alien’ de Predator en un dispositivo objetivo.
El instalador Alien se inyecta en un proceso central de Android llamado ‘zygote64’. Posteriormente, descarga y activa componentes adicionales de spyware basados en una configuración codificada.
“Al almacenar el audio grabado en un área de memoria compartida usando ALIEN, luego guardarlo en el disco y filtrarlo con PREDATOR, esta restricción se puede eludir. Esta es una vista simplificada del proceso: ten en cuenta que ALIEN se inyecta en el espacio de direcciones de zygote para pasar a procesos privilegiados especializados dentro del modelo de permisos de Android. Dado que zygote es el proceso principal de la mayoría de los procesos de Android, puede cambiar a la mayoría de los UID y hacer la transición a otros contextos de SELinux que poseen diferentes privilegios. Por lo tanto, esto hace que zygote sea un gran objetivo para comenzar operaciones que requieren múltiples conjuntos de permisos”.
Alien obtiene el componente Predator desde una dirección externa y lo ejecuta en el dispositivo o actualiza el payload existente con una versión más nueva, si está disponible.
Después de eso, Alien continúa operando en el dispositivo. En otras palabras, facilita las comunicaciones discretas entre los componentes del spyware ocultándolos dentro de procesos legítimos del sistema y recibiendo comandos de Predator para ejecutar sin pasar por la seguridad de Android (SELinux).
Evadiendo la seguridad
Una omisión de SELinux es una función crucial del software espía. Esto lo diferencia de los troyanos y ladrones de información de $150-300/mes que se venden en Telegram.
Cisco explicó que Alien logra eso al abusar de los contextos de SELinux que determinan qué usuarios y qué nivel de información se permite en cada proceso y objeto en el sistema, eliminando las restricciones existentes.
Además, Alien escucha los comandos “ioctl” (control de entrada/salida) para las comunicaciones de los componentes internos del spyware, que SELinux no inspecciona.
Finalmente, Alien guarda los datos robados y las grabaciones en un espacio de memoria compartida, luego los mueve al almacenamiento y finalmente los extrae a través de Predator. Este proceso no desencadena violaciones de acceso y pasa desapercibido para SELinux.
Capacidades de Predator
Predator es el módulo de punta de lanza del software espía, que llega al dispositivo como un archivo ELF y configura un entorno de tiempo de ejecución de Python. Esto para facilitar las diversas funcionalidades de espionaje.
La cantidad de registros realizados en el dispositivo comprometido cambia dependiendo de si el implante de Predator es una versión estable o de desarrollo.
Las funcionalidades facilitadas por los módulos Python de Predator, y realizadas junto con Alien, incluyen ejecución de código arbitrario, grabación de audio, envenenamiento de certificados, ocultación de aplicaciones, prevención de ejecución de aplicaciones (después de reiniciar) y enumeración de directorios.
El instalador de spyware, Alien, comprueba si se ejecuta en un Samsung, Huawei, Oppo o Xiaomi. Y, si coincide, enumera recursivamente el contenido de los directorios que contienen datos de usuario de correo electrónico, mensajería, redes sociales y aplicaciones de navegador.
También enumera la lista de contactos de la víctima y enlista los archivos privados en las carpetas multimedia del usuario, incluidos audio, imágenes y video.
El software espía también utiliza el envenenamiento de certificados para instalar certificados personalizados en las autoridades de certificación de confianza del usuario actual. Esto le permite a Predator realizar ataques de intermediarios y espiar las comunicaciones de red cifradas con TLS.
Cisco asegura que Predator tiene cuidado con esta capacidad y no instala los certificados a nivel del sistema para evitar interferencias en el nivel operativo del dispositivo, lo que podría indicar a las víctimas que algo anda mal.
“Desde la perspectiva de un atacante, los riesgos superan la recompensa, ya que con los certificados a nivel de usuario, el software espía aún puede realizar el descifrado TLS en cualquier comunicación dentro del navegador”.
Explicación de los investigadores.
Piezas perdidas
A pesar de que Cisco y Citizen Lab profundizaron en los componentes del software espía, a los investigadores aún les faltan detalles sobre dos módulos, es decir, ‘tcore
‘ y ‘kmem
‘, ambos cargados en el entorno de tiempo de ejecución Python de Predator.
“Evaluamos con gran confianza que el software espía tiene dos componentes adicionales: tcore (componente principal) y kmem (mecánica de escalada de privilegios). No obstante no pudimos obtener ni analizar estos módulos”.
Cisco
Los analistas creen que tcore realiza un seguimiento de geolocalización, tomando imágenes de la cámara o simulando el apagado de un dispositivo.
La hipótesis de Cisco para el módulo kmem es que proporciona acceso arbitrario de lectura y escritura en el espacio de direcciones del núcleo.
Dado que ninguno de los dos se pudo recuperar de los dispositivos infectados, partes del software espía Predator de Intellexa permanecen sin explorar.