Búsca en Seguridad y Firewall


Operación Triangulación: Dispositivos iOS atacados con malware previamente desconocido



Ingenieros de Seguridad de Kaspersky mientras realizaban análisis de monitoreo de sus redes, detectan tráfico anómalo desde varios dispostivos IOS que navegaban a través de su Wifi. Los ingenieros sacaron copias de Seguridad de los dispositivos para hacer las pruebas correspondientes y determinar origenes y destinos de los tráficos inesperados.

Las marcas de tiempo de los archivos, las carpetas y los registros de la base de datos, de los dispositivos comprometidos, permiten reconstruir aproximadamente los eventos que le suceden al dispositivo. La utilidad mvt-ios produce una línea de tiempo ordenada de eventos en un archivo llamado "timeline.csv", similar a una súper línea de tiempo utilizada por las herramientas forenses digitales convencionales.

Usando esta línea de tiempo, se pudo identificar artefactos específicos que indican el compromiso. Esto permitió avanzar en la investigación y reconstruir la secuencia general de infección:

El dispositivo iOS de destino recibe un mensaje a través del servicio iMessage, con un archivo adjunto que contiene un exploit.

Sin ninguna interacción del usuario, el mensaje desencadena una vulnerabilidad que conduce a la ejecución del código.

El código dentro del exploit descarga varias etapas posteriores del servidor C&C, que incluyen exploits adicionales para la escalada de privilegios.

Después de una explotación exitosa, se descarga una carga útil final del servidor C&C, que es una plataforma APT con todas las funciones.

El mensaje inicial y el exploit en el archivo adjunto se eliminan

El conjunto de herramientas maliciosas no admite la persistencia, muy probablemente debido a las limitaciones del sistema operativo. Las líneas de tiempo de varios dispositivos indican que pueden volver a infectarse después de reiniciar. Los rastros de infección más antiguos que descubrimos ocurrieron en 2019. Al momento de escribir este artículo en junio de 2023, el ataque continúa y la versión más reciente de los dispositivos atacados con éxito es iOS 15.7.

El análisis de la carga útil final aún no ha terminado. El código se ejecuta con privilegios de raíz, implementa un conjunto de comandos para recopilar información del usuario y del sistema, y ​​puede ejecutar código arbitrario descargado como módulos de complemento del servidor C&C.

Como lo hizo Kaspersky para analizar el malware?

Metodología forense

Es importante tener en cuenta que, aunque el malware incluye partes de código dedicadas específicamente a borrar los rastros de compromiso, es posible identificar de manera confiable si el dispositivo fue comprometido. Además, si se configuró un nuevo dispositivo mediante la migración de datos de usuario desde un dispositivo anterior, la copia de seguridad de iTunes de ese dispositivo contendrá los rastros de compromiso que sucedieron en ambos dispositivos, con las marcas de tiempo correctas.

Preparación

Se debe hacer una copia de seguridad de todos los posibles dispositivos de destino, ya sea usando iTunes o una utilidad de código abierto idevicebackup2 (del paquete libimobiledevice). Este último se envía como un paquete preconstruido con las distribuciones de Linux más populares, o se puede construir a partir del código fuente para MacOS/Linux.
Para crear una copia de seguridad con idevicebackup2, ejecute el siguiente comando:


idevicebackup2 backup --full $backup_directory

Es posible que deba ingresar el código de seguridad del dispositivo varias veces y el proceso puede demorar varias horas, según la cantidad de datos de usuario almacenados en él.

Instalar MVT

Una vez que la copia de seguridad está lista, debe ser procesada por el kit de herramientas de verificación móvil. Si Python 3 está instalado en el sistema, ejecute el siguiente comando:


pip install mvt

Un manual de instalación más completo está disponible en la página de inicio de MVT .

Opcional: descifrar la copia de seguridad

Si el propietario del dispositivo configuró el cifrado para la copia de seguridad anteriormente, la copia de seguridad se cifrará. En ese caso, la copia de seguridad debe descifrarse antes de ejecutar las comprobaciones:


mvt-ios decrypt-backup -d $decrypted_backup_directory $backup_directory

Analizar la copia de seguridad usando MVT

mvt-ios check-backup -o $mvt_output_directory $decrypted_backup_directory


Este comando ejecutará todas las comprobaciones de MVT y el directorio de salida contendrá varios archivos JSON y CSV. Para la metodología descrita en esta publicación de blog, necesitará el archivo llamado timeline.csv.


Consulte timeline.csv para ver los indicadores.

  1. El indicador más confiable que descubrimos es la presencia de líneas de uso de datos que mencionan el proceso llamado "BackupAgent". Este es un binario obsoleto que no debería aparecer en la línea de tiempo durante el uso regular del dispositivo. Sin embargo, es importante tener en cuenta que también hay un binario llamado "BackupAgent2", y eso no es un indicador de compromiso. En muchos casos, BackupAgent está precedido por el proceso "IMTransferAgent", que descarga el archivo adjunto que resulta ser un exploit, y esto conduce a la modificación de las marcas de tiempo de varios directorios en "Biblioteca/SMS/Archivos adjuntos". Luego, el archivo adjunto se elimina, dejando solo directorios modificados, sin archivos reales dentro de ellos:

  2. 2022-09-13 10:04:11.890351Z Datausage IMTransferAgent/com.apple.datausage.messages (Bundle ID: com.apple.datausage.messages, ID: 127) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 76281896.0, WWAN OUT: 100956502.0
    2022-09-13 10:04:54.000000Z Manifest Library/SMS/Attachments/65/05 - MediaDomain
    2022-09-13 10:05:14.744570Z Datausage BackupAgent (Bundle ID: , ID: 710) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 734459.0, WWAN OUT: 287912.0
  3. También hay indicadores menos confiables, que pueden tratarse como IOC si varios de ellos ocurrieron en un período de tiempo de minutos:
  • Modificación de uno o varios archivos: com.apple.ImageIO.plist, com.apple.locationd.StatusBarIconManager.plist, com.apple.imservice.ids.FaceTime.plist
  • Información de uso de datos de los servicios com.apple.WebKit.WebContent, powerd/com.apple.datausage.diagnostics, lockdownd/com.apple.datausage.security

Ejemplo:


2021-10-30 16:35:24.923368Z Datausage IMTransferAgent/com.apple.MobileSMS (Bundle ID: com.apple.MobileSMS, ID: 945) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 31933.0, WWAN OUT: 104150.0
2021-10-30 16:35:24.928030Z Datausage IMTransferAgent/com.apple.MobileSMS (Bundle ID: com.apple.MobileSMS, ID: 945)
2021-10-30 16:35:24.935920Z Datausage IMTransferAgent/com.apple.datausage.messages (Bundle ID: com.apple.datausage.messages, ID: 946) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 47743.0, WWAN OUT: 6502.0
2021-10-30 16:35:24.937976Z Datausage IMTransferAgent/com.apple.datausage.messages (Bundle ID: com.apple.datausage.messages, ID: 946)
2021-10-30 16:36:51.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain
2021-10-30 16:36:51.000000Z Manifest Library/Preferences/com.apple.ImageIO.plist - RootDomain



  1. Otro ejemplo: modificación de un directorio de archivos adjuntos de SMS (pero sin nombre de archivo adjunto), seguido del uso de datos de com.apple.WebKit.WebContent, seguido de la modificación de com.apple.locationd.StatusBarIconManager.plist. Todos los eventos ocurrieron dentro de un período de tiempo de 1 a 3 minutos, lo que indica el resultado de un compromiso exitoso de cero clic a través de un archivo adjunto de iMessage, seguido de los rastros de explotación y actividad maliciosa.


    2022-09-11 19:52:56.000000Z Manifest Library/SMS/Attachments/98 - MediaDomain
    2022-09-11 19:52:56.000000Z Manifest Library/SMS/Attachments/98/08 - MediaDomain
    2022-09-11 19:53:10.000000Z Manifest Library/SMS/Attachments/98/08 - MediaDomain
    2022-09-11 19:54:51.698609Z OSAnalyticsADDaily com.apple.WebKit.WebContent WIFI IN: 77234150.0, WIFI OUT: 747603971.0 - WWAN IN: 55385088.0, WWAN OUT: 425312575.0
    2022-09-11 19:54:51.702269Z Datausage com.apple.WebKit.WebContent (Bundle ID: , ID: 1125)
    2022-09-11 19:54:53.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain
    2022-06-26 18:21:36.000000Z Manifest Library/SMS/Attachments/ad/13 - MediaDomain
    2022-06-26 18:21:36.000000Z Manifest Library/SMS/Attachments/ad - MediaDomain
    2022-06-26 18:21:50.000000Z Manifest Library/SMS/Attachments/ad/13 - MediaDomain
    2022-06-26 18:22:03.412817Z OSAnalyticsADDaily com.apple.WebKit.WebContent WIFI IN: 19488889.0, WIFI OUT: 406382282.0 - WWAN IN: 66954930.0, WWAN OUT: 1521212526.0
    2022-06-26 18:22:16.000000Z Manifest Library/Preferences/com.apple.ImageIO.plist - RootDomain
    2022-06-26 18:22:16.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain
    2022-03-21 21:37:55.000000Z Manifest Library/SMS/Attachments/fc - MediaDomain
    2022-03-21 21:37:55.000000Z Manifest Library/SMS/Attachments/fc/12 - MediaDomain
    2022-03-21 21:38:08.000000Z Manifest Library/SMS/Attachments/fc/12 - MediaDomain
    2022-03-21 21:38:23.901243Z OSAnalyticsADDaily com.apple.WebKit.WebContent WIFI IN: 551604.0, WIFI OUT: 6054253.0 - WWAN IN: 0.0, WWAN OUT: 0.0
    2022-03-21 21:38:24.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain

  2. Un indicador de compromiso aún menos implícito es la imposibilidad de instalar actualizaciones de iOS. Descubrimos un código malicioso que modifica uno de los archivos de configuración del sistema llamado com.apple.softwareupdateservicesd.plist . Observamos que los intentos de actualización terminaron con un mensaje de error "Falló la actualización del software. Ocurrió un error al descargar iOS”.
    Actividad de la red durante la explotación

A nivel de red, un intento de explotación exitoso puede identificarse mediante una secuencia de varios eventos de conexión HTTPS. Estos se pueden descubrir en datos de flujo de red enriquecidos con información de host DNS/TLS o volcados de PCAP:Interacción de red legítima con el servicio de iMessage, generalmente usando los nombres de dominio *.ess.apple.com
Descarga del archivo adjunto de iMessage, utilizando los nombres de dominio .icloud-content.com, content.icloud.com
Múltiples conexiones a los dominios de C&C, generalmente 2 dominios diferentes (a continuación se muestra la lista de dominios conocidos). Los datos típicos de netflow para las sesiones de C&C mostrarán sesiones de red con una cantidad significativa de tráfico saliente.

Secuencia de explotación de red, volcado de Wireshark


El archivo adjunto de iMessage está encriptado y descargado a través de HTTPS, el único indicador implícito que se puede usar es la cantidad de datos descargados que es de aproximadamente 242 Kb.

Archivo adjunto de iMessage cifrado, volcado de Wireshark

Dominios C&C

Utilizando los artefactos forenses, fue posible identificar el conjunto de nombres de dominio utilizados por los exploits y otras etapas maliciosas. Se pueden usar para verificar los registros de DNS en busca de información histórica y para identificar los dispositivos que actualmente ejecutan el malware:
addatamarket[.]net
backuprabbit[.]com
businessvideonews[.]com
cloudsponcer[.]com
datamarketplace[.]net
mobilegamerstats[ .]com
snoweeanalytics[.]com
tagclick-cdn[.]com
topographyupdates[.]com
unlimitedteacup[.]com
virtuallaughing[.]com
web-trackers[.]com
growthtransport[.]com
anstv[.]net
ans7tv[. ]neto