SOC Prime Bias: Crítico

30 Dic 2025 16:52

Zorro Plateado Ataca a India con Cebos de Phishing Temáticos de Impuestos

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Zorro Plateado Ataca a India con Cebos de Phishing Temáticos de Impuestos
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Un grupo APT chino llamado Silver Fox lleva a cabo una campaña de phishing con temática fiscal contra entidades indias. El correo electrónico inicial contiene un PDF que dirige a las víctimas a un dominio malicioso y desencadena la descarga de un archivo ZIP. El ZIP contiene un instalador NSIS que despliega Thunder.exe y un libexpat.dll malicioso que realiza secuestro de DLL, comprobaciones anti-análisis y carga código shell cifrado. La carga final es un Valley RAT que recibe configuración desde una infraestructura C2 multinivel.

Investigación

El informe detalla cuatro etapas: (1) entrega de un ZIP a través de un señuelo PDF, (2) ejecución de un instalador NSIS que despliega Thunder.exe y libexpat.dll, (3) un cargador de código shell generado por Donut que se inyecta en explorer.exe, y (4) implementación de Valley RAT con persistencia basada en el registro y complementos modulares. El análisis incluye un examen estático y dinámico de los binarios, enumeración de dominios C2, y mapeo a las técnicas ATT&CK.

Mitigación

Los defensores deberían monitorear la carga de binarios firmados que cargan DLLs no firmadas desde ubicaciones temporales, escrituras en el registro bajo HKCUConsole, y la creación anormal de memoria PAGE_EXECUTE_READWRITE en explorer.exe. Bloquear dominios e IPs C2 conocidos y detectar comportamientos de retén multinivel reducirá la exposición. Implementar un control estricto de aplicaciones y detección de evasión de sandbox para detener el instalador NSIS inicial.

Respuesta

Cuando se observa un indicador, aísle el host afectado, recopile memoria volátil para análisis de inyección de procesos, y busque claves de registro y complementos del Valley RAT. Bloquee toda la infraestructura C2 identificada y restablezca las credenciales comprometidas. Realice una revisión forense completa para identificar cualquier complemento adicional o herramientas de movimiento lateral.

graph TB %% Definiciones de clases classDef technique fill:#ddeeff classDef file fill:#ffddaa classDef process fill:#ffccbb classDef action fill:#cce5ff %% Nodos – Técnicas initial_phishing[«<b>Acceso Inicial – T1566.001</b><br/>Adjunto de Spearphishing<br/>La víctima abre un PDF malicioso de impuestos que redirige a ggwk.cc y activa la descarga de un archivo ZIP»] class initial_phishing technique user_execution[«<b>Ejecución del Usuario – T1204.002</b><br/>Archivo Malicioso<br/>El usuario ejecuta el ZIP descargado que contiene un instalador NSIS»] class user_execution technique cmd_scripting[«<b>Ejecución – T1059</b><br/>Intérprete de Comandos y Scripts<br/>El script NSIS controla el flujo de instalación»] class cmd_scripting technique native_api_1[«<b>Ejecución – T1106</b><br/>API Nativa<br/>El instalador llama a GetTempPathA, crea un directorio temporal y escribe archivos»] class native_api_1 technique shared_modules[«<b>Ejecución – T1129</b><br/>Módulos Compartidos<br/>El instalador deposita Thunder.exe (firmado) y la DLL maliciosa libexpat.dll»] class shared_modules technique dll_hijack[«<b>Evasión de Defensas – T1574.001</b><br/>Secuestro del Orden de Búsqueda de DLL<br/>libexpat.dll se coloca junto a Thunder.exe para que se cargue primero»] class dll_hijack technique proxy_execution[«<b>Evasión de Defensas – T1218</b><br/>Ejecución mediante Binario del Sistema<br/>Thunder.exe se usa como proxy para ejecutar la DLL maliciosa»] class proxy_execution technique trusted_proxy[«<b>Evasión de Defensas – T1127</b><br/>Ejecución Proxy mediante Utilidades Confiables<br/>Thunder.exe firmado oculta la actividad maliciosa»] class trusted_proxy technique dll_injection[«<b>Ejecución – T1055.001</b><br/>Inyección de DLL<br/>libexpat.dll ejecuta comprobaciones anti‑análisis y deshabilita el servicio Windows Update»] class dll_injection technique service_execution[«<b>Ejecución – T1569.002</b><br/>Ejecución de Servicio<br/>Detiene el servicio wuauserv para reducir la visibilidad»] class service_execution technique sandbox_evasion[«<b>Evasión de Defensas – T1497</b><br/>Evasión de Virtualización / Sandbox<br/>La lógica anti‑debug y anti‑sandbox finaliza la ejecución en entornos de análisis»] class sandbox_evasion technique native_api_2[«<b>Ejecución – T1106</b><br/>API Nativa<br/>Utiliza VirtualAllocEx y WriteProcessMemory para inyectar shellcode en explorer.exe»] class native_api_2 technique process_hollowing[«<b>Evasión de Defensas – T1055.012</b><br/>Vaciado de Proceso<br/>Explorer.exe se inicia en estado suspendido y el payload se inyecta en él»] class process_hollowing technique reflective_loading[«<b>Ejecución – T1620</b><br/>Carga de Código Reflectiva<br/>El cargador generado por Donut ejecuta el payload completamente en memoria»] class reflective_loading technique registry_persistence[«<b>Persistencia – T1547.001</b><br/>Claves Run del Registro / Carpeta de Inicio<br/>Valley RAT almacena módulos en HKCU\\Console\\* como valores REG_BINARY»] class registry_persistence technique modify_registry[«<b>Persistencia – T1112</b><br/>Modificar Registro<br/>Los parámetros de configuración (C2, banderas de funciones) se escriben en el registro»] class modify_registry technique c2_web[«<b>Comando y Control – T1071.001</b><br/>Protocolos Web<br/>Comunicación C2 principal a través de HTTP/HTTPS»] class c2_web technique c2_raw_tcp[«<b>Comando y Control – T1095</b><br/>Protocolo Fuera de la Capa de Aplicación<br/>Soporta TCP sin procesar como alternativa si HTTP falla»] class c2_raw_tcp technique encrypted_channel[«<b>Comando y Control – T1573</b><br/>Canal Cifrado<br/>Todo el tráfico C2 y las configuraciones están cifradas»] class encrypted_channel technique fallback_channels[«<b>Comando y Control – T1008</b><br/>Canales de Respaldo<br/>Jerarquía C2 de tres niveles con conmutación automática»] class fallback_channels technique keylogging[«<b>Recolección – T1056.001</b><br/>Captura de Entrada: Keylogging<br/>La capacidad de keylogger se habilita mediante una bandera de configuración»] class keylogging technique obfuscation[«<b>Evasión de Defensas – T1027</b><br/>Archivos u Información Ofuscados<br/>El payload se almacena cifrado en box.ini y se descifra en tiempo de ejecución»] class obfuscation technique code_signing[«<b>Evasión de Defensas – T1553.002</b><br/>Subvertir Controles de Confianza: Firma de Código<br/>Thunder.exe firmado legítimamente oculta la actividad maliciosa»] class code_signing technique appcert_dll[«<b>Evasión de Defensas – T1546.009</b><br/>Ejecución Activada por Eventos: DLL AppCert<br/>libexpat.dll maliciosa aprovecha el secuestro de DLL para ejecutarse»] class appcert_dll technique %% Nodos – Archivos / Procesos file_zip[«<b>Archivo</b><br/>ZIP malicioso que contiene el instalador NSIS»] class file_zip file nsis_installer[«<b>Archivo</b><br/>Instalador NSIS ejecutado por el usuario»] class nsis_installer file thunder_exe[«<b>Archivo</b><br/>Thunder.exe firmado usado como proxy»] class thunder_exe file libexpat_dll[«<b>Archivo</b><br/>libexpat.dll maliciosa»] class libexpat_dll file box_ini[«<b>Archivo</b><br/>Payload de configuración cifrado (box.ini)»] class box_ini file explorer_exe[«<b>Proceso</b><br/>explorer.exe (objetivo de la inyección)»] class explorer_exe process donut_loader[«<b>Archivo</b><br/>Cargador reflectivo generado por Donut»] class donut_loader file %% Conexiones – Flujo del Ataque initial_phishing –>|descarga| file_zip file_zip –>|contiene| nsis_installer nsis_installer –>|ejecuta| user_execution user_execution –>|activa| cmd_scripting cmd_scripting –>|usa| native_api_1 native_api_1 –>|escribe| shared_modules shared_modules –>|deposita| thunder_exe shared_modules –>|deposita| libexpat_dll thunder_exe –>|habilita| dll_hijack dll_hijack –>|facilita| proxy_execution proxy_execution –>|aprovecha| trusted_proxy trusted_proxy –>|carga| dll_injection dll_injection –>|deshabilita| service_execution service_execution –>|reduce la visibilidad| sandbox_evasion sandbox_evasion –>|continúa| native_api_2 native_api_2 –>|inyecta en| explorer_exe explorer_exe –>|es vaciado por| process_hollowing process_hollowing –>|ejecuta| reflective_loading reflective_loading –>|usa| donut_loader donut_loader –>|establece| registry_persistence registry_persistence –>|almacena| modify_registry modify_registry –>|configura| c2_web c2_web –>|usa como respaldo| c2_raw_tcp c2_raw_tcp –>|asegurado por| encrypted_channel encrypted_channel –>|soporta| fallback_channels fallback_channels –>|entrega| keylogging keylogging –>|registra entradas| obfuscation obfuscation –>|protege| code_signing code_signing –>|oculta| appcert_dll appcert_dll –>|se ejecuta mediante| dll_hijack %% Estilos class initial_phishing,user_execution,cmd_scripting,native_api_1,shared_modules,dll_hijack,proxy_execution,trusted_proxy,dll_injection,service_execution,sandbox_evasion,native_api_2,process_hollowing,reflective_loading,registry_persistence,modify_registry,c2_web,c2_raw_tcp,encrypted_channel,fallback_channels,keylogging,obfuscation,code_signing,appcert_dll technique class file_zip,nsis_installer,thunder_exe,libexpat_dll,box_ini,donut_loader file class explorer_exe process

Flujo de ataque

Ejecución de Simulación

Prerrequisito: La Verificación de Telemetría y Línea de Base Pre‑vuelo 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 las TTPs identificadas y deben generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.

  • Narrativa de Ataque & Comandos:
    Un adversario entrega un DLL malicioso junto a un “Thunder.exe” desplegado a la víctima %TEMP% directorio. Para evitar la sospecha del usuario, la carga útil se inicia utilizando el ya en ejecución explorer.exe proceso usando la API de ShellExecute de Windows, lo que resulta en un evento de creación de proceso donde explorer.exe aparece como padre. El Thunder.exe malicioso subsiguientemente carga el DLL malicioso (secuestro de DLL) e inyecta código shell en el explorer.exe proceso (inyección de proceso), logrando ejecución de código con el token del usuario.

  • Script de Prueba de Regresión:

    # -------------------------------------------------
    # Script de regresión para activar la detección Sigma
    # -------------------------------------------------
    # 1. Preparar un falso Thunder.exe (copia de notepad.exe)
    $tempDir   = "$env:TEMP"
    $thunderPath = Join-Path -Path $tempDir -ChildPath "Thunder.exe"
    Copy-Item -Path "$env:SystemRootsystem32notepad.exe" -Destination $thunderPath -Force
    
    # 2. (Opcional) Soltar un DLL malicioso junto a él para imitar secuestro
    $malDll = Join-Path -Path $tempDir -ChildPath "malicious.dll"
    # Para demostración, solo creamos un archivo vacío; en una prueba real, esto sería un DLL creado.
    New-Item -Path $malDll -ItemType File -Force | Out-Null
    
    # 3. Lanzar Thunder.exe vía explorer.exe usando ShellExecute (simulado con Start-Process -Verb RunAs)
    $explorer = (Get-Process -Name explorer).Id
    # Usar PowerShell para iniciar el proceso con explorer como padre (requiere API de bajo nivel; aquí aproximamos)
    Start-Process -FilePath $thunderPath -ArgumentList "" -PassThru | Out-Null
    
    # 4. Esperar un corto período para permitir la generación de logs
    Start-Sleep -Seconds 5
    
    # 5. Limpieza (manejada en la siguiente sección)
  • Comandos de Limpieza:

    # -------------------------------------------------
    # Limpieza después de la simulación
    # -------------------------------------------------
    # Remover el falso Thunder.exe y DLL ficticio de %TEMP%
    Remove-Item -Path "$env:TEMPThunder.exe" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPmalicious.dll" -Force -ErrorAction SilentlyContinue
    
    # Opcionalmente terminar cualquier proceso Thunder.exe persistente
    Get-Process -Name "Thunder" -ErrorAction SilentlyContinue | Stop-Process -Force