SOC Prime Bias: Medio

21 Abr 2026 18:16

No Solo Anuncios Molestos: Paquetes de Adware Entregando Gh0st RAT

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
No Solo Anuncios Molestos: Paquetes de Adware Entregando Gh0st RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Una campaña reciente entrega el troyano de acceso remoto Gh0st junto con el componente de adware CloverPlus. Su cargador oculta dos recursos cifrados, los escribe en ubicaciones elegidas al azar y lanza el RAT a través de rundll32.exe. El malware combina varios métodos de persistencia con manipulación de tokens, secuestro de DNS y registro de teclas para mantener el acceso en el tiempo, mientras genera ingresos a través del abuso de clics en anuncios. Su uso de binarios legítimos de Windows y ofuscación en capas hace que la detección sea más desafiante.

Investigación

El equipo de investigación de amenazas de Splunk realizó ingeniería inversa del cargador y confirmó que contenía tanto un Gh0st RAT DLL embebido como el módulo de adware CloverPlus. El análisis de comportamiento expuso escalada de privilegios de tokens, verificaciones del registro para entornos basados en VMware, uso de un resolvedor de caídas, demoras de sueño basadas en ping, suplantación de DNS y múltiples técnicas de persistencia enraizadas en el registro de Windows. Los investigadores también documentaron indicadores que incluyen rundll32.exe ejecuciones inusuales, lanzamientos de cargas útiles desde %temp%, y modificaciones específicas del registro ligadas a la cadena de infección.

Mitigación

Los defensores deben monitorear la carga de archivos con extensiones inusuales o la ejecución de contenido desde directorios no estándar. Los equipos de seguridad también deben bloquear o alertar sobre la creación de la entrada de registro del administrador de enrutadores rundll32.exe y cambios sospechosos en las claves de ejecución. Los controles de red deben restringir el acceso a la URL del resolvedor de caída detectado y señalar el comportamiento de suspensión basado en ping asociado con la evasión de malware. Las políticas de control de aplicaciones pueden reducir aún más el riesgo al prevenir la carga de DLL no autorizadas. y cambios sospechosos en las claves de ejecución. Los controles de red deben restringir el acceso a la URL del resolvedor de caída detectado y señalar el comportamiento de suspensión basado en ping asociado con la evasión de malware. Las políticas de control de aplicaciones pueden reducir aún más el riesgo al prevenir la carga de DLL no autorizadas. router manager registry entry and suspicious changes to Run keys. Network controls should restrict access to the identified dead-drop resolver URL and flag ping-based sleep behavior associated with malware evasion. Application control policies can further reduce risk by preventing unauthorized DLLs from being loaded.

Respuesta

Cuando se detecte esta actividad, aísle el host afectado, recoja evidencia volátil junto con las DLL sospechosas y realice búsquedas basadas en hash para confirmar la amenaza. Elimine cualquier entrada de registro maliciosa y servicios utilizados para persistencia. Reinicie las credenciales expuestas, particularmente aquellas relacionadas con el uso de RDP, e inspeccione las configuraciones DNS y el archivo hosts para detectar cambios no autorizados. Luego, se debe realizar una revisión forense completa para verificar que no queden puertas traseras adicionales o cargas útiles secundarias.

"graph TB %% Definiciones de clases classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef technique fill:#eeeeee classDef operator fill:#ff9900 %% Nodos u2013 Paso 1 Ejecución de Cargador tool_wiseman["<b>Herramienta</b> – Nombre: wiseman.exe<br/><b>Descripción</b>: Cargador que descifra cargas útiles embebidas (Gh0st RAT DLL y adware CloverPlus)."] class tool_wiseman tool action_loader["<b>Acción</b> – Ejecución de Cargador"] class action_loader action tech_reflective["<b>Técnica</b> – T1620 Carga de Código Reflectivo<br/>Carga código en memoria sin escribirlo en el disco."] class tech_reflective technique tech_obfuscate["<b>Técnica</b> – T1027.009 Archivos o Información Ofuscada: Cargas Útiles Embebidas<br/>Las cargas útiles están cifradas/ofuscadas dentro del cargador."] class tech_obfuscate technique %% Conexiones u2013 Paso 1 tool_wiseman –>|ejecuta| action_loader action_loader –>|usa| tech_reflective action_loader –>|usa| tech_obfuscate %% Nodos u2013 Paso 2 Escribir DLL y lanzar a través de rundll32 process_write_dll["<b>Proceso</b> – Escribir DLL en una carpeta aleatoria en C:WindowSystem32"] class process_write_dll process malware_gh0st["<b>Malware</b> – Gh0st RAT DLL"] class malware_gh0st malware tool_rundll32["<b>Herramienta</b> – rundll32.exe<br/><b>Propósito</b>: Ejecuta DLLs como si fueran ejecutables"] class tool_rundll32 tool %% Conexiones u2013 Paso 2 action_loader –>|escribe| process_write_dll process_write_dll –>|contiene| malware_gh0st malware_gh0st –>|lanzado por| tool_rundll32 %% Nodos u2013 Paso 3 Manipulación de Tokens tech_token["<b>Técnica</b> – T1134.002 Manipulación de Tokens de Acceso: Crear Proceso con Token<br/>Habilita SeDebugPrivilege para operaciones posteriores."] class tech_token technique %% Conexión u2013 Paso 3 action_loader –>|modifica token| tech_token %% Nodos u2013 Paso 4 Descubrimiento de Procesos del Servicio DNS tech_proc_discovery["<b>Técnica</b> – T1057 Descubrimiento de Procesos<br/>Enumera procesos en ejecución, identifica el servicio DNS (puerto 53)."] class tech_proc_discovery technique tech_win_window["<b>Técnica</b> – T1010 Descubrimiento de Ventanas de Aplicaciones<br/>Recoge títulos de ventanas para ayudar en la identificación de procesos."] class tech_win_window technique %% Conexión u2013 Paso 4 tech_token –>|realiza| tech_proc_discovery tech_proc_discovery –>|completa| tech_win_window %% Nodos u2013 Paso 5 Terminar DNS y eliminar archivo tech_process_injection["<b>Técnica</b> – T1055.003 Inyección de Proceso: Secuestro de Ejecución de Hilos<br/>Secuestra el hilo del proceso DNS para terminarlo."] class tech_process_injection technique tech_masquerade["<b>Técnica</b> – T1036.009 Suplantación: Romper Árboles de Procesos<br/>Crea una jerarquía de procesos falsa para ocultar la actividad maliciosa."] class tech_masquerade technique tech_file_deletion["<b>Técnica</b> – T1070.004 Eliminación de Archivos<br/>Elimina el archivo ejecutable original de DNS después de la terminación."] class tech_file_deletion technique %% Conexiones u2013 Paso 5 tech_proc_discovery –>|apunta a| tech_process_injection tech_process_injection –>|acompaña| tech_masquerade tech_masquerade –>|conduce a| tech_file_deletion %% Nodos u2013 Paso 6 Descubrimiento de Máquinas Virtuales tech_vm_discovery["<b>Técnica</b> – T1673 Descubrimiento de Máquinas Virtuales<br/>Consulta la clave del registro de VMware para detectar el entorno de análisis."] class tech_vm_discovery technique %% Conexión u2013 Paso 6 tech_token –>|verifica| tech_vm_discovery %% Nodos u2013 Paso 7 Resolver de Caída tool_ping["<b>Herramienta</b> – ping.exe<br/><b>Uso</b>: Introduce un retraso antes de acciones posteriores."] class tool_ping tool tech_dead_drop["<b>Técnica</b> – T1102.001 Servicio Web: Resolver de Caída<br/>Descarga una página web de una URL malintencionada para obtener la dirección C2."] class tech_dead_drop technique %% Conexión u2013 Paso 7 tech_vm_discovery –>|si se detecta VM| tech_dead_drop tech_dead_drop –>|usa| tool_ping %% Nodos u2013 Paso 8 Demora en la Ejecución tech_delay["<b>Técnica</b> – T1678 Demora en la Ejecución<br/>Usa ping -n para esperar antes de ejecutar la carga útil."] class tech_delay technique %% Conexión u2013 Paso 8 tool_ping –>|implementa| tech_delay %% Nodos u2013 Paso 9 Modificación de archivo Hosts y suplantación DNS tech_hosts_mod["<b>Técnica</b> – T1568.002 Suplantación de Email (repurposeado para suplantación DNS)<br/>Modifica el archivo hosts y crea respuestas DNS suplantadas para bloquear dominios de seguridad."] class tech_hosts_mod technique %% Conexión u2013 Paso 9 tech_delay –>|modifica| tech_hosts_mod %% Nodos u2013 Paso 10 Vaciar caché DNS action_flush_dns["<b>Acción</b> – Vaciar Caché DNS<br/>Ejecuta ipconfig /flushdns para asegurar que las entradas maliciosas se efectúen."] class action_flush_dns action %% Conexión u2013 Paso 10 tech_hosts_mod –>|seguido por| action_flush_dns %% Nodos u2013 Paso 11 Recopilar identificadores de hardware tech_snmp_dump["<b>Técnica</b> – T1602.001 Datos del Repositorio de Configuración: SNMP (Vertido MIB)<br/>Recopila IDs de hardware como la dirección MAC."] class tech_snmp_dump technique tech_net_config["<b>Técnica</b> – T1602.002 Datos del Repositorio de Configuración: Volcado de Configuración del Dispositivo de Red<br/>Recopila el número de serie del disco duro."] class tech_net_config technique %% Conexiones u2013 Paso 11 action_flush_dns –>|recopila| tech_snmp_dump action_flush_dns –>|recopila| tech_net_config %% Nodos u2013 Paso 12 Persistencia a través de servicio y clave Run tech_service_creation["<b>Técnica</b> – T1543.003 Crear o Modificar un Proceso del Sistema: Servicio Windows<br/>Crea un nuevo servicio de Windows que apunta al DLL malicioso."] class tech_service_creation technique tech_run_key["<b>Técnica</b> – T1547.001 Claves de Registro de Ejecución/Carpeta de Inicio<br/>Escribe una entrada de registro Run haciendo referencia al DLL malicioso."] class tech_run_key technique %% Conexiones u2013 Paso 12 tech_snmp_dump –>|habilita| tech_service_creation tech_snmp_dump –>|habilita| tech_run_key %% Nodos u2013 Paso 13 Secuestro del Flujo de Ejecución a través del Registro del Servicio tech_hijack_service["<b>Técnica</b> – T1574.011 Secuestro del Flujo de Ejecución: Debilidad en Permisos del Registro de Servicios<br/>Registra DLL bajo RemoteAccessRouterManagersIp (DllPath) y reinicia el servicio para autoejecución."] class tech_hijack_service technique %% Conexión u2013 Paso 13 tech_service_creation –>|usa| tech_hijack_service tech_run_key –>|también usa| tech_hijack_service %% Operadores para agrupación lógica (opcional) op_and1(("AND")) class op_and1 operator %% Ejemplo de agrupación del flujo lógico action_loader –>|conduce a| op_and1 op_and1 –>|continúa con| tech_proc_discovery "

Flujo de Ataque

Simulación

Todavía estamos actualizando esta parte. Regístrate para recibir notificaciones

Notificarme