Cyberattaque UAC-0255 déguisée en notification du CERT-UA utilisant l’outil AGEWHEEZE
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Une campagne de phishing se faisant passer pour CERT-UA a livré des archives protégées par mot de passe contenant l’outil d’accès à distance AGEWHEEZE. Écrit en Go, le malware permet un contrôle à distance complet des systèmes infectés, y compris la capture d’écran, l’émulation d’entrée, les opérations sur les fichiers et la persistance. Le trafic de commande et de contrôle est transmis via WebSockets à un serveur hébergé par OVH écoutant sur le port 8443. Les victimes ciblées incluaient des agences gouvernementales ukrainiennes, des institutions de santé, des organisations financières et des entités éducatives.
Enquête
Les chercheurs de CERT-UA ont collecté les emails de phishing, le site web frauduleux cert-ua.tech, et les binaires malveillants pour analyse. L’examen statique a révélé des chemins de fichiers liés au RAT, des tâches planifiées et des entrées d’autorun dans le registre utilisées pour la persistance. L’analyse réseau a identifié le serveur C2 sur OVH utilisant un certificat auto-signé et un écouteur WebSocket à 54.36.237.92:8443. L’activité a été suivie sous l’incident UAC-0255.
Atténuation
Les organisations doivent bloquer les messages provenant d’expéditeurs inconnus se faisant passer pour CERT-UA, empêcher l’exécution de fichiers lancés depuis les emplacements %APPDATA%, et surveiller les tâches planifiées et les clés Run du registre décrites. Les contrôles réseau devront interdire les connexions sortantes vers l’IP C2 identifiée et les domaines associés. Des politiques d’accès au moindre privilège et des signatures AV à jour doivent également être appliquées.
Réponse
Les défenseurs devraient détecter les binaires AGEWHEEZE, les tâches planifiées SvcHelper et CoreService, et les entrées Run du registre associées. Les systèmes affectés doivent être isolés, des preuves volatiles collectées, et une analyse complète du malware effectuée. Les CERTs nationaux concernés doivent être informés, et le contenu de détection doit être mis à jour avec tous les IOCs extraits.
Flux d’attaque
Détections
Possibilité d’infiltration/exfiltration de données/C2 via des services/outils tiers (via dns)
Voir
Tâche planifiée suspecte (via audit)
Voir
Possibilité d’infiltration/exfiltration de données/C2 via des services/outils tiers (via proxy)
Voir
Accès aux fichiers de tâches planifiées suspects via une image rare (via file_event)
Voir
Ouverture possible d’une archive RAR protégée par mot de passe (via registry_event)
Voir
Exécution depuis une archive RAR [WinRAR] (via process_creation)
Voir
IOCs (HashSha256) pour détecter : Cyberattaque UAC-0255 déguisée en notification de CERT-UA utilisant l’outil AGEWHEEZE
Voir
IOCs (SourceIP) pour détecter : Cyberattaque UAC-0255 déguisée en notification de CERT-UA utilisant l’outil AGEWHEEZE
Voir
IOCs (HashSha1) pour détecter : Cyberattaque UAC-0255 déguisée en notification de CERT-UA utilisant l’outil AGEWHEEZE
Voir
IOCs (HashMd5) pour détecter : Cyberattaque UAC-0255 déguisée en notification de CERT-UA utilisant l’outil AGEWHEEZE
Voir
IOCs (DestinationIP) pour détecter : Cyberattaque UAC-0255 déguisée en notification de CERT-UA utilisant l’outil AGEWHEEZE
Voir
Détection de la communication de commande et de contrôle AGEWHEEZE RAT [Connexion réseau Windows]
Voir
Détection des chemins d’installation de AGEWHEEZE RAT [Événement de fichier Windows]
Voir
Exécution de simulation
Prérequis : Le contrôle pré-vol de la télémétrie et de la ligne de base doit avoir réussi.
Justification : Cette section détaille l’exécution précise de la technique adverse (T1059) conçue pour déclencher la règle de détection. Les commandes et le narratif DOIVENT refléter directement les TTPs identifiés et viser à générer la télémétrie exacte attendue par la logique de détection.
-
Narratif d’attaque et commandes :
Un adversaire ayant déjà compromis la session d’un utilisateur souhaite établir la persistance en installant le RAT AGEWHEEZE. Ils copient le binaire du RAT dans le%APPDATA%SysSvcrépertoire (un dossier d' »installation » connu) et l’exécutent ensuite via un interpréteur de ligne de commande. Comme le chemin complet du binaire correspond à un des sélecteurs codés en dur dans la règle Sigma, Sysmon enregistrera la création du processus, provoquant le déclenchement de la règle. -
Script de test de régression : (exécuter en tant qu’utilisateur compromis)
# --------------------------------------------------------- # Simuler le déploiement et l'exécution de AGEWHEEZE RAT pour tester la détection # --------------------------------------------------------- # 1. Définir le chemin d'installation cible (un des sélecteurs de détection) $targetDir = "$env:APPDATASysSvc" $targetExe = "SysSvc.exe" $fullPath = Join-Path -Path $targetDir -ChildPath $targetExe # 2. S'assurer que le répertoire existe if (-not (Test-Path -Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force | Out-Null } # 3. Créer un exécutable factice (ici nous copions notepad.exe comme un substitut) $sourceExe = "$env:SystemRootSystem32notepad.exe" Copier-Item -Path $sourceExe -Destination $fullPath -Force # 4. Exécuter le binaire copié (simulant le lancement du RAT) Start-Process -FilePath $fullPath -WindowStyle Hidden # 5. Optionnel : écrire un marqueur dans la console pour vérification Write-Host "Simulation du RAT AGEWHEEZE exécutée depuis $fullPath" # --------------------------------------------------------- -
Commandes de nettoyage : (exécuter après validation)
# --------------------------------------------------------- # Nettoyer les artefacts de simulation de AGEWHEEZE RAT # --------------------------------------------------------- $targetDir = "$env:APPDATASysSvc" $targetExe = "SysSvc.exe" $fullPath = Join-Path -Path $targetDir -ChildPath $targetExe # Terminer tout processus persistant qui correspond à l'exe factice Get-Process -Name "notepad" -ErrorAction SilentlyContinue | Where-Object { $_.Path -eq $fullPath } | Stop-Process -Force # Supprimer le binaire et son dossier Remove-Item -Path $fullPath -Force -ErrorAction SilentlyContinue # Supprimer le répertoire s'il est vide if ((Get-ChildItem -Path $targetDir -Force | Measure-Object).Count -eq 0) { Remove-Item -Path $targetDir -Force } Write-Host "Nettoyage terminé." # ---------------------------------------------------------