Ayer, investigadores de ESET notaron que Eltima, fabricante del reproductor Elmedia Player, estaba distribuyendo una versión de su aplicación que estaba troyanizada con el malware OSX/Proton, la cual estaba disponible para descarga desde el sitio oficial.

ESET contactó a Eltima de inmediato y la compañía fue muy receptiva; mantuvimos una comunicación excelente a lo largo de la investigación del incidente.

Esta es la línea de tiempo de lo ocurrido:

19/10/2017: Se confirma que hay un paquete troyanizado

19/10/2017, 11:35 GMT-3: Se informa a Eltima por correo electrónico

19/10/2017, 15:25 GMT-3: Eltima reconoce el problema e inicia esfuerzos para remediarlo

19/10/2017, 16:10 GMT-3: Eltima confirma que limpió su infraestructura y ya está ofreciendo la aplicación legítima nuevamente

Nota: Todavía estamos investigando, así que esta información es preliminar e iremos actualizando el artículo a medida que hagamos nuevos hallazgos.

¿Cómo saber si fui afectado?

Todas las personas que hayan descargado el software Elmedia Player recientemente deben verificar si su sistema está comprometido, buscando rastros de cualquiera de estos archivos o directorios:

  • /tmp/Updater.app/
  • /Library/LaunchAgents/com.Eltima.UpdaterAgent.plist
  • /Library/.rand/
  • /Library/.rand/updateragent.app/

Si alguno de ellos está presente en el equipo, significa que se ejecutó la versión troyanizada de Elmedia Player y que OSX/Proton probablemente está activo.

Si descargaste este software el 19 de octubre antes de las 16:15 horas (GMT-3) y lo ejecutaste, probablemente te infectaste. Pero, hasta donde sabemos, solo la versión descargada desde el sitio oficial contiene la aplicación alterada; el mecanismo de actualización integrado no parece haber sido afectado.

¿Qué hace esta amenaza en el sistema comprometido?

OSX/Proton es un backdoor con amplias capacidades de robo de datos. Además de lograr persistencia en el sistema, puede robar lo siguiente:

  • Detalles del sistema operativo: número de serie del hardware (IOPlatformSerialNumber), nombre completo del usuario actual, nombre del host, estado de la funcionalidad System Integrity Protection (csrutil status), información del gateway (route -n get default | awk '/gateway/ { print $2 }'), hora y zona horaria actual.
  • Información de navegador que obtiene desde Chrome, Safari, Opera y Firefox: historial, cookies, marcadores, credenciales, etc.
  • Billeteras de criptomonedas:
    • Electrum: ~/.electrum/wallets
    • Bitcoin Core: ~/Library/Application Support/Bitcoin/wallet.dat
    • Armory: ~/Library/Application Support/Armory
  • Información privada de SSH (todo el contenido .ssh)
  • Información del keychain de macOS usando una versión modificada de chainbreaker
  • Configuración de la VPN Tunnelblick (~/Library/Application Support/Tunnelblick/Configurations)
  • Información de GnuPG (~/.gnupg)
  • Información de 1Password (~/Library/Application Support/1Password 4 y ~/Library/Application Support/1Password 3.9)
  • Lista de todas las aplicaciones instaladas

¿Cómo limpiar mi sistema?

Como sucede siempre que la infección ocurre en una cuenta de administrador, una reintalación completa del sistema operativo es la única forma de librarse de este malware. Quienes se vean afectados deberán asumir que toda la información listada en la sección anterior fue comprometida y está en manos del atacante, por lo que deberán tomar las medidas necesarias para invalidarla.

Ataques a la cadena de suministro otra vez en macOS

El año pasado, el cliente de BitTorrent para macOS Transmission fue explotado dos veces para propagar malware: primero fue el ransomware OSX/KeRanger y luego el ladrón de contraseñas OSX/Keydnap. Este año, la aplicación Handbrake, un popular transcoder multiplataforma, fue reemplazada en el servidor original por una versión que incluía al malware OSX/Proton.

Ayer, ESET descubrió que Elmedia Player era el nuevo integrante de la lista de software popular entre usuarios de macOS que se estaba usando para propagar a OSX/Proton. Este reproductor había alcanzado el millón de usuarios en agosto:

 <blockquote class= " target="_blank"> " width="613" height="692" />

Fuente: " target="_blank"> ">Twitter de Elmedia Player

Análisis técnico

OSX/Proton es un RAT que se comercializa como un kit en foros underground. Ya Sixgill lo había documentado brevemente y luego había sido analizado en profundidad por Thomas Reed de MalwareBytes, Amit Serper de CyberReason y Patrick Wardle de Objective-See.

En este nuevo caso del software troyanizado de Eltima, el atacante construyó un empaquetador (wrapper) firmado alrededor de la versión legítima de Elmedia Player y de Proton. De hecho, observamos lo que parece ser el reempaquetado y la firma en tiempo real de los empaquetadores, todo con el mismo ID de desarrollador de Apple válido.

Eltima y ESET están trabajando con Apple para invalidar la ID de desarrollador utilizada para firmar la aplicación maliciosa; Apple revocó el certificado. Mira el historial de muestras actualmente conocidas a continuación (las marcas de tiempo están todas en la zona horaria EDT):

Aplicación limpia:

Timestamp ID de desarrollador SHA-1
Timestamp=Jul 24, 2017, 4:56:24 AM Authority=Developer ID Application: ELTIMA LLC (N7U4HGP254) 0603353852e174fc0337642e3957c7423f182a8c

Aplicación troyanizada:

Timestamp ID de desarrollador SHA-1 (archivo dmg)
Timestamp=Oct 19, 2017, 8:00:05 AM Authority=Developer ID Application: Clifton Grimm (9H35WM5TA5) e9dcdae1406ab1132dc9d507fd63503e5c4d41d9
Timestamp=Oct 19, 2017, 12:22:24 PM Authority=Developer ID Application: Clifton Grimm (9H35WM5TA5) 8cfa551d15320f0157ece3bdf30b1c62765a93a5
Timestamp=Oct 19, 2017, 2:00:38 PM Authority=Developer ID Application: Clifton Grimm (9H35WM5TA5) 0400b35d703d872adc64aa7ef914a260903998ca

Primero, el wrapper ejecuta al verdadero Elmedia Player, almacenado en la carpeta Resources de la aplicación:

Finalmente extrae y ejecuta a OSX/Proton:

Como hemos visto en casos anteriores, OSX/Proton muestra una ventana falsa de autorización para obtener los privilegios de root:

Persistencia

OSX/Proton se asegura la persistencia añadiendo un agente encargado de ejecutarlo en todos los usuarios del sistema cuando el administrador ingresa sus contraseñas. Además, crea los siguientes archivos:

  • /Library/LaunchAgents/com.Eltima.UpdaterAgent.plist
  • /Library/.rand/updateragent.app
$ plutil -p /Library/LaunchAgents/com.Eltima.UpdaterAgent.plist

{

  "ProgramArguments" => [

    0 => "/Library/.rand/updateragent.app/Contents/MacOS/updateragent"

  ]

  "KeepAlive" => 1

  "RunAtLoad" => 1

  "Label" => "com.Eltima.UpdaterAgent"

}

Comandos del backdoor

Como mencionamos anteriormente, OSX/Proton es un backdoor con muchas capacidades para robar información. El componente que observamos interpreta los siguientes comandos:

archive Archivar usando zip
copy Copar archivo localmente
create Crear directorio o archivo localmente
delete Borrar archivo localmente
download Descargar archivo desde una URL
file_search Buscar archivos (ejecuta find / -iname \"%@\" 2> /dev/null)
force_update Auto-actualización con validación de firma digital
phonehome
remote_execute Ejecutar el archivo binario dentro de un archivo .zip o un comando de shell dado
tunnel Crear túnel SSH usando el puerto 22 o 5900
upload Cargar archivo al servidor de C&C

Servidor de C&C

Proton usa un dominio de C&C que imita al dominio legítimo de Eltima, lo mismo que ocurrió en el caso de Handbrake:

Dominio legítimo Dominio del C2 de Proton
Eltima eltima.com eltima[.]in
Handbrake handbrake.fr handbrakestore[.]com
handbrake[.]cc

IOCs

La URL que distribuía la aplicación troyanizada al momento de nuestro hallazgo era: hxxps://mac[.]eltima[.]com/download/elmediaplayer.dmg

Servidores de C&C:

eltima[.]in / 5.196.42.123 (dominio registrado el 15/10/2017).

Hashes

Ruta SHA-1 Detección de ESET Descripción
Elmedia Player.app/Contents/Resources/.pl.zip 9E5378165BB20E9A7F74A7FCC73B528F7B231A75 Múltiples amenazas Archivo ZIP con el malware Proton y scripts en Python
10A09C09FD5DD76202E308718A357ABC7DE291B5 Múltiples amenazas Archivo ZIP con el malware Proton y scripts en Python
Elmedia Player.app/Contents/MacOS/Elmedia Player C9472D791C076A10DCE5FF0D3AB6E7706524B741 OSX/Proton.D Launcher (o empaquetador)
795B8BCADCAAF56DAC7CFDDF44F97A32AAAA4987 OSX/Proton.D Launcher (o empaquetador))
30D77908AC9D37C4C14D32EA3E0B8DF4C7E75464 OSX/Proton.D Launcher (o empaquetador)
Updater.app/Contents/MacOS/Updater 3EF34E2581937BABD2B7CE63AB1D92CD9440181A OSX/Proton.C Malware Proton, sin firma
EF5A11A1BB5B2423554309688AA7947F4AFA5388 OSX/Proton.C Malware Proton, sin firma

Un reconocimiento especial a Michal Malik, Anton Cherepanov, Marc-Étienne M. Léveillé, Thomas Dupuy y Alexis Dorais-Joncas por su trabajo en esta investigación.