Una nueva brecha de seguridad ha tenido como objetivo a los usuarios de iOS en Hong Kong (China). La campaña hace uso de enlaces publicados en varios foros que, supuestamente, llevan a diferentes noticias. Aunque estos enlaces llevan a los usuarios a los noticieros reales, también utilizan un iframe oculto para cargar y ejecutar código malicioso. Los investigadores de Kaspersky señalan la posibilidad de que los atacantes que se encuentran detrás de esta campaña sean de nacionalidad china (o, al menos, dominan el idioma) y que estén relacionados con los malware Lotus Elise y Evora.

El código malicioso contiene exploits que aprovechan vulnerabilidades presentes en iOS 12.1 y 12.2. Los usuarios que acceden a los enlaces mediante terminales vulnerables descargarán el malware, el cual ha sido nombrado como «lightSpy».
El malware es una puerta trasera modular que permite al atacante ejecutar comandos de manera remota y manipular archivos del dispositivo afectado, lo cual daría la posibilidad al usuario malicioso de espiar dicho dispositivo así como tomar un control total sobre el mismo. El malware contiene diferentes módulos para extraer datos del terminal infectado, como por ejemplo:
- Historial de conexiones WiFi
- Contactos
- Localización GPS
- Información del hardware
- Conjunto de claves de iOS
- Historial de llamadas
- Historial de navegación de Safari y Chrome
- Mensajes de texto
- Redes WiFi disponibles
- Direcciones de IP locales
Los investigadores también se dieron cuenta de que las aplicaciones de mensajería instantánea son uno de los principales objetivos del malware, particularmente Telegram, QQ y WeChat.
Desde Trend Micro informan que se descubrió una campaña similar en 2019, solo que ésta afectaba a dispositivos Android. Se encontraron enlaces a APKs maliciosas en varios canales de Telegram de Hong Kong. Los mensajes decían ser de aplicaciones legítimas, pero llevaban a los usuarios a aplicaciones maliciosas que podían extraer información del dispositivo infectado (como los contactos y los mensajes de texto). Este malware fue bautizado por los investigadores de Trend Micro como «dmsSpy».
De acuerdo con los investigadores, el diseño y la funcionalidad de la campaña de iOS sugiere que su objetivo no eran las víctimas en sí mismas, sino comprometer tantos dispositivos como fuera posible para establecer una puerta trasera que permitiese operaciones de vigilancia. La campaña ha sido nombrada «Operation Poisoned News«, y su funcionamiento se detalla a continuación.
Distribución
El 19 de febrero los investigadores de Trend Micro descubrieron que los usuarios de iOS con dispositivos vulnerables estaban siendo víctimas de ataques. Las URLs utilizadas llevaban a sitios web maliciosos creados por el atacante, los cuales contenían tres iframes que a su vez llevaban a diferentes sitios. El único iframe visible lleva al noticiero oficial (es decir, el sitio legítimo) para hacer creer a los usuarios que están visitando el sitio web esperado. Otro de los iframes era utilizado con fines analíticos; el otro llevaba al lugar donde se almacenaba el script principal del exploit de iOS.

Fuente de la imagen: Trend Micro
Los enlaces que redirigen a los sitios maliciosos fueron publicados en diferentes foros, todos bastante conocidos entre la población de Hong Kong. Estos foros también proporcionan a los usuarios una aplicación, para que los lectores puedan visitar el sitio web con facilidad desde sus dispositivos móviles. Los atacantes publicaron los enlaces en las secciones de discusión general de los foros; el post incluía el titular de una historia, imágenes y el enlace falso a la noticia.
Los artículos fueron publicados por cuentas que habían sido creadas recientemente en los foros afectados, y para atraer a los usuarios a que leyesen la noticia se usaron temas relacionados con contenido sexual, COVID-19 y otro tipo de titulares que hacían fácilmente de anzuelo.

Fuente de la imagen: Trend Micro
Los ataques continuaron hasta el 20 de marzo, con publicaciones que aparentemente llevaban a información relacionada con las protestas que se iban a organizar en Hong Kong. Sin embargo, al igual que en los casos anteriores, el enlace llevaba a un sitio infectado.
Cadena de infección
El exploit utilizado en este ataque afecta a las versiones 12.1 y 12.2 de iOS, desde el iPhone 6S hasta el iPhone X, como se puede ver en el extracto de código mostrado a continuación:

Fuente de la imagen: Trend Micro
El exploit hace uso de una vulnerabilidad parcheada de Safari (que funciona en varias versiones recientes de iOS), así como un exploit personalizado para el kernel. Una vez que Safari ejecuta el exploit, éste hace uso del bug (parcheado, como se ha dicho, en versiones recientes de iOS sin que Apple hubiese informado a sus usuarios), causando la explotación de una conocida vulnerabilidad del kernel para ganar privilegios root. El bug del kernel está relacionado con la vulnerabilidad con identificador CVE-2019-8605.
Una vez que el dispositivo ha sido comprometido, el atacante instala un spyware sofisticado sobre el cual no hay documentación, y que es utilizado para mantener el control sobre el dispositivo y extraer información del mismo. El spyware tiene un diseño modular con capacidades múltiples, como las siguientes:
- Actualización de los móduloss
- Ejecución de comandos remota para cada módulo
- Módulo de comandos de shell
Muchos de los módulos del spyware fueron diseñados expresamente para extraer información; por ejemplo, los módulos que roban nformación de Telegram y We Chat están explícitamente incluidos. La siguiente figura muestra la cadena de infección y los módulos utilizados:

Fuente de la imagen: Trend Micro
Los investigadores descubrieron que, asimismo, existe un archivo de configuración utilizado por el módulo launchctl que incluye una URL que lleva a la ruta /androidmm/light, lo que podría indicar que existe una versión del malware para Android.
Otro aspecto a tener en cuenta es que el payload dylib está firmado con el certificado legítimo de desarrolladores de Apple a fecha de 29 de noviembre de 2019, dando así indicio de la fecha de inicio de la campaña de malware.
Resumen del comportamiento de lightSpy
Cuando se inicia el exploit del kernel, el payload dylib pasa a desacargar múltiples módulos, como se puede ver en el siguiente extracto del código:

Fuente de la imagen: Trend Micro
Algunos de estos módulos están asociados con el inicio y la carga. Por ejemplo, launchctl es una herramienta utilizada para cargar o descargar daemons/agentes, lo cual hace utilizando ircbin.plist como argumento. Este daemon, en respuesta, ejecuta irc_loader, pero (como el nombre indica) es simplemente un recurso para cargar el módulo principal del malware, light. Sin embargo, sí que contiene la localización del servidor C&C en el mismo código.
El módulo light sirve como la fuente principal de control del malware, y puede cargar y actualizar otros módulos. Los módulos restantes están diseñados para extraer y exfiltrar diferentes tipos de información, como se puede ver en la siguiente lista:
- dylib: adquiere y carga información básica como la información del hardware del iPhone, contactos, mensajes de texto e historial de llamadas.
- ShellCommandaaa: ejecuta comandos de shell en el dispositivo afectado; cualquier resultado es serializado y cargado en el servidor especificado.
- KeyChain: roba y carga información contenida en el llavero de llaves (KeyChain) de Apple.
- Screenaaa: escanea y hace ping a los dispositivos que se encuentran en la misma subnet de la red que el equipo infectado; los resultados del proceso de ping se mandan al atacante.
- SoftInfoaaa: adquiere una lista de todas las aplicaciones y procesos del dispositivo.
- FileManage: lleva a cabo operaciones de archivos de sistema en el dispositivo.
- WifiList: adquiere la información almacenada de redes WiFi (las redes guardadas, historial, etc.).
- browser: adquiere el historial de navegación web de Chrome y Safari.
- Locationaaa: obtiene la localización del usuario.
- ios_wechat: adquiere la información relacionada con WeChat, incluyendo la información de la cuenta, contactos, gruops, mensajes y archivos.
- ios_qq: similar al anterior, pero para QQ.
- ios_telegram: similar a los dos anteriores, pero para Telegram.
Todo lo visto hasta ahora permitiría al atacante obtener gran parte de lo que el usuario consideraría información confidencial.
Resumen de dmsSpy
Como se mencionó anteriormente, hay una versión de lightSpy para Android que los investigadores de Trend Micro han llamado dmsSpy. Estas variantes del malware fueron distribuidas el pasado año en canales de Telegram como si fueran aplicaciones. A pesar de que en el momento de la investigación los enlaces ya estaban caídos, el equipo de Trend Micro fue capaz de obtener una muestra de una de las variantes.
Dicha muestra se hacía pasar por una aplicación de calendario que contenía las fechas de las protestas organizadas en Hong Kong. Tiene muchas de las características que se ven con frecuencia en aplicaciones maliciosas, como la solicitud de permisos poco frecuentes por la cantidad de información que proporcionan, y el envío de dicha información sensible a un servidor C&C. Entre esta información también se incluye el modelo del dispositivo, pero aunque esta información puede resultar normal, junto a la misma se incluyen datos como los contactos del usuario, mensajes de texto, localización, y el nombre de los archivos almacenados. dmsSpy también es capaz de leer los mensajes de texto recibidos por el usuario, así como también puede marcar códigos de función (USSD).
Los desarrolladores del malware, por error, dejaron habilitado del modo debug en su framework web, lo que permitió a los investigadores obtener más información sobre dmsSpy, concretamente información sobre las APIs utilizadas por el servidor. Algo así sugiere que existen más funcionalidades no existentes en la muestra analizada, como por ejemplo la realización de capturas de pantalla y la posibilidad de instalar archivos APK en el terminal infectado.

Fuente de la imagen: Trend Micro
Se cree que las campañas de Android e iOS están relacionadas, ya que el módulo de descarga y el servidor C&C de dmsSpy usaban el mismo dominio (hkrevolution[.]club) que el usado para el caso de iOS (si bien es cierto que los subdominios utilizados fueron diferentes). Por ello, los investigadores de Trend Micro han determinado que ambas campañas son llevadas a cabo por el mismo grupo de atacantes.
Conclusiones
Como siempre, se recomienda a los usuarios tener sus dispositivos actualizados a la versión más recientes, ya que, por ejemplo, en el caso de iOS este problema se podría haber evitado puesto que las actualizaciones que solventaban esta vulnerabilidad llevaban un año disponibles.
Otro de los procedimientos recomendados para evitar ser víctimas de malware es no descargar aplicaciones desde fuentes que no sean oficiales; en el caso de Android, los componentes maliciosos de la campaña eran distribuidos a través de canales de Telegram en forma de APKs que se hacían pasar por aplicaciones legítimas.
Para una explicación más detallada y complementaria a la investigación de Trend Micro, el lector puede visitar el post publicado por los investigadores de Kaspersky.
IOCs
- payload.dylib:
- 9b248d91d2e1d1b9cd45eb28d8adff71 (Jan 10, 2020)
- 4fe3ca4a2526088721c5bdf96ae636f4 (Feb 7, 2020)
- ircbin.plist:
- e48c1c6fb1aa6c3ff6720e336c62b278 (Jan 10, 2020)
- irc_loader:
- 53acd56ca69a04e13e32f7787a021bb5 (Jan 10, 2020)
- light:
- 184fbbdb8111d76d3b1377b2768599c9 (Jan 10, 2020)
- bfa6bc2cf28065cfea711154a3204483 (Feb 7, 2020)
- ff0f66b7089e06702ffaae6025b227f0 (Mar 5, 2020)
- baseinfoaaa.dylib:
- a981a42fb740d05346d1b32ce3d2fd53 (Jan 10, 2020)
- 5c69082bd522f91955a6274ba0cf10b2 (Feb 7, 2020)
- browser:
- 7b263f1649dd56994a3da03799611950 (Jan 10, 2020)
- EnvironmentalRecording:
- ae439a31b8c5487840f9ad530c5db391 (Jan 10, 2020)
- f70d6b3b44d855c2fb7c662c5334d1d5 (Feb 7, 2020)
- FileManage:
- f1c899e7dd1f721265cc3e3b172c7e90 (Jan 10, 2020)
- ea9295d8409ea0f1d894d99fe302070e (Feb 7, 2020)
- ios_qq:
- c450e53a122c899ba451838ee5250ea5 (Jan 10, 2020)
- f761560ace765913695ffc04dfb36ca7 (Feb 7, 2020)
- ios_telegram:
- 1e12e9756b344293352c112ba84533ea (Jan 10, 2020)
- 5e295307e4429353e78e70c9a0529d7d (Feb 7, 2020)
- ios_wechat:
- 187a4c343ff4eebd8a3382317cfe5a95 (Jan 10, 2020)
- 66d2379318ce8f74cfbd0fb26afc2084 (Feb 7, 2020)
- KeyChain:
- db202531c6439012c681328c3f8df60c (Jan 10, 2020)
- locationaaa.dylib:
- 3e7094eec0e99b17c5c531d16450cfda (Jan 10, 2020)
- 06ff47c8108f7557bb8f195d7b910882 (Feb 7, 2020)
- Screenaaa:
- 35fd8a6eac382bfc95071d56d4086945 (Jan 10, 2020)
- 7b69a20920d3b0e6f0bffeefdce7aa6c (Feb 7, 2020)
- ShellCommandaaa:
- a8b0c99f20a303ee410e460730959d4e (Jan 10, 2020)
- SoftInfoaaa:
- 8cdf29e9c6cca6bf8f02690d8c733c7b (Jan 10, 2020)
- WifiList:
- c400d41dd1d3aaca651734d4d565997c (Jan 10, 2020)
- Android malware:
- 77ebb4207835c4f5c4d5dfe8ac4c764d
- fadff5b601f6fca588007660934129eb
- 5d2b65790b305c186ef7590e5a1f2d6b
- Past similar SpringDragon evora:
- 1126f8af2249406820c78626a64d12bb
- 33782e5ba9067b38d42f7ecb8f2acdc8
Dominios e IPs
- Implant c2
- 45.134.1[.]180 (iOS)
- 45.134.0[.]123 (Android)
- app.poorgoddaay[.]com (Android)
- svr[.]hkrevolution[.]club (Android)
- WebKit exploit landing
- 45.83.237[.]13
- messager[.]cloud
- Spreading
- appledaily.googlephoto[.]vip
- www[.]googlephoto[.]vip
- news2.hkrevolution[.]club
- news.hkrevolution[.]club
- www[.]facebooktoday[.]cc
- www[.]hkrevolt[.]com
- news.hkrevolt[.]com
- movie.poorgoddaay[.]com
- xxinc-media[.]oss-cn-shenzhen.aliyuncs[.]com
- Related subdomains
- app.hkrevolution[.]club
- news.poorgoddaay[.]com
- zg.poorgoddaay[.]com
- ns1.poorgoddaay[.]com
Lista completa de comandos de dispositivos
- change_config
- exe_cmd
- stop_cmd
- get_phoneinfo
- get_contacts
- get_call_history
- get_sms
- delete_sms
- send_sms
- get_wechat_account
- get_wechat_contacts
- get_wechat_group
- get_wechat_msg
- get_wechat_file
- get_location
- get_location_coninuing
- get_browser_history
- get_dir
- upload_file
- download_file
- delete_file
- get_picture
- get_video
- get_audio
- create_dir
- rename_file
- move_file
- copy_file
- get_app
- get_process
- get_wifi_history
- get_wifi_nearby
- call_record
- call_photo
- get_qq_account
- get_qq_contacts
- get_qq_group
- get_qq_msg
- get_qq_file
- get_keychain
- screenshot
Más información
Operation Poisoned News: Hong Kong Users Targeted With Mobile Malware via Local News Links
Deja una respuesta