Résumé
- Le décembre 29, 2025, une campagne coordonnée de cyberattaques destructrices a visé l'infrastructure énergétique de la Pologne, affectant plus de 30 installations de production d'énergie renouvelable et une importante centrale de production combinée de chaleur et d'électricité (PCCE).
- Un logiciel malveillant wiper personnalisé, baptisé DYNOWIPER, a été utilisé pour détruire de manière irréversible des données sur des réseaux compromis.
- Le CERT Polska attribue l'infrastructure d'attaque au groupe de menaces que Cisco appelle Static Tundra, Crowdstrike Berserk Bear, Microsoft Ghost Blizzard et Symantec Dragonfly.
- La protection contre les ransomwares d'Elastic Defend détecte et empêche avec succès l'exécution de DYNOWIPER grâce à la surveillance des fichiers canaris.
Arrière-plan
La campagne coordonnée de destruction des infrastructures énergétiques critiques s'est déroulée le décembre 29, 2025, au cours d'une période d'hiver rigoureux en Pologne.
Selon le rapport du CERT Polska, la campagne a ciblé :
- Plus de 30 parcs éoliens et solaires en Pologne
- Une grande centrale de cogénération fournissant de la chaleur à près d'un demi-million de clients
- Une entreprise du secteur manufacturier considérée comme une cible opportuniste
Vecteur d'attaque
L'acteur de la menace aurait obtenu un accès initial par le biais des dispositifs FortiGate de Fortinet exposés à Internet avant le 29 décembre, en exploitant :
- Interfaces VPN permettant l'authentification sans authentification multifactorielle
- Réutilisation des informations d'identification dans plusieurs établissements
- Vulnérabilités historiques dans les appareils non corrigés
Les attaquants ont mené pendant des mois des opérations de reconnaissance des systèmes d'automatisation industrielle, en ciblant plus particulièrement les systèmes SCADA et les réseaux OT. Pendant cette période, ils ont exfiltré des bases de données Active Directory, des configurations FortiGate et des données relatives à la modernisation du réseau OT.
DYNOWIPER Détails
Elastic Security Labs a analysé de manière indépendante un échantillon de DYNOWIPER provenant de sources ouvertes. L'échantillon est similaire à l'une des variantes documentées par le CERT Polska.
Exemple de métadonnées
| Propriété | Value (Valeur) |
|---|---|
| SHA256 | 835b0d87ed2d49899ab6f9479cddb8b4e03f5aeb2365c50a51f9088dcede68d5 |
| SHA1 | 4ec3c90846af6b79ee1a5188eefa3fd21f6d4cf6 |
| MD5 | a727362416834fa63672b87820ff7f27 |
| Type de fichier | Exécutable Windows PE32 (GUI) |
| Architecture | 32-bit x86 |
| File Size | 167 424 octets |
| Compilateur | Visual C++ (MSVC) |
| Date de la compilation | 2025-12-26 13:51:11 UTC |
Mécanisme de destruction
Dénombrement des lecteurs
Le logiciel malveillant énumère tous les lecteurs logiques (A-Z) à l'aide de GetLogicalDrives() et ne cible que les types DRIVE_FIXED (disques durs) et DRIVE_REMOVABLE (lecteurs USB, cartes SD).
Corruption de fichiers
DYNOWIPER utilise un PRNG Mersenne Twister pour générer des données pseudo-aléatoires pour la corruption de fichiers. Plutôt que d'écraser des fichiers entiers (ce qui prend du temps), il corrompt les fichiers de manière stratégique :
- Suppression des attributs de protection des fichiers via
SetFileAttributesW(FILE_ATTRIBUTE_NORMAL) - Ouverture de fichiers avec
CreateFileWpour l'accès en lecture/écriture - Remplacement de l'en-tête du fichier par 16 octets de données aléatoires
- Pour les fichiers plus volumineux, générer jusqu'à 4 096 décalages aléatoires et écraser chacun d'entre eux avec des séquences de 16 octets.
Cette approche permet de corrompre rapidement de nombreux fichiers tout en garantissant que les données sont irrécupérables.
Liste d'exclusion des répertoires
Le logiciel malveillant évite délibérément les répertoires critiques pour le système afin de maintenir la stabilité du système pendant l'attaque :
windows,system32program files,program files(x86)boot,appdata,temprecycle.bin,$recycle.binperflogs,documents and settings
Ce choix de conception permet de maximiser la destruction des données avant que le système ne devienne instable, ce qui garantit que l'essuie-glace remplit sa mission.
Redémarrage forcé
Une fois les phases de corruption et de suppression terminées, DYNOWIPER :
- Obtention d'un jeton de processus via
OpenProcessToken() - Permet d'accéder à
SeShutdownPrivilegeviaAdjustTokenPrivileges() - Force le redémarrage du système avec
ExitWindowsEx(EWX_REBOOT | EWX_FORCE)
Caractéristiques notables
DYNOWIPER se distingue par plusieurs caractéristiques :
- Pas de mécanisme de persistance - Le logiciel malveillant ne tente pas de survivre aux redémarrages.
- Pas de communication C2 - Complètement autonome, pas de rappel de réseau
- Aucune invocation de commande shell - Toutes les opérations sont effectuées via l'API Windows
- Pas de techniques anti-analyse - Pas de tentatives pour échapper à la détection ou au débogage
- Chemin PDB caractéristique :
C:\Users\vagrant\Documents\Visual Studio 2013\Projects\Source\Release\Source.pdb
L'utilisation de "vagrant" dans le chemin PDB suggère que le développement a eu lieu dans un environnement de machine virtuelle géré par Vagrant.
Différences entre les versions
Le CERT Polska a documenté deux versions de DYNOWIPER (A et B). L'échantillon que nous avons analysé correspond à la version A. La version B a supprimé la fonctionnalité d'arrêt du système et a ajouté une période de veille de 5 secondes entre les phases de corruption et de suppression.
Protection Elastic Defend
Lors du test des échantillons de DYNOWIPER, Elastic Defend a détecté et atténué avec succès les logiciels malveillants avant qu'ils ne causent des dommages.
Alerte de détection
{
"message": "Ransomware Prevention Alert",
"event": {
"code": "ransomware",
"action": "canary-activity",
"type": ["info", "start", "change", "denied"],
"category": ["malware", "intrusion_detection", "process", "file"],
"outcome": "success"
},
"Ransomware": {
"feature": "canary",
"version": "1.9.0"
}
}
Comment fonctionne la protection des canaris
La protection contre les ransomwares d'Elastic Defend utilise des fichiers canaris (des fichiers leurres stratégiquement placés) qui déclenchent des alertes en cas de modification. L'approche de DYNOWIPER, qui consiste à corrompre les fichiers sans discernement, a entraîné la modification d'un fichier canari.
Lorsque le wiper a tenté de corrompre ce fichier canari, Elastic Defend a immédiatement réagi :
- Détection d'un modèle de modification suspect
- Blocage de la poursuite de l'exécution
- A généré une alerte de ransomware à haut niveau de confiance (score de risque : 73)
Bien qu'Elastic Defend ne soit pas la solution EDR utilisée dans cet incident, cette forme de défense en profondeur s'est avérée essentielle dans l'intrusion réelle. Selon CERT Polska, la solution EDR déployée dans la centrale de cogénération, qui utilise la même technologie de protection canarienne que celle décrite ci-dessus, a stoppé l'écrasement des données sur plus de 100 machines sur lesquelles DYNOWIPER avait déjà commencé à s'exécuter.
Pourquoi la détection comportementale est cruciale
Les logiciels malveillants destructeurs peuvent présenter des défis uniques pour minimiser les risques :
- Ils peuvent ne pas établir de connexions C2 (pas d'indicateurs de réseau).
- Ils ne peuvent pas utiliser de mécanismes de persistance (artefacts médico-légaux limités).
- Ils exécutent rapidement et de manière destructrice
- La détection basée sur une signature statique peut manquer de nouvelles variantes
La protection comportementale, par exemple au moyen de fichiers canaris, constitue une couche de défense cruciale qui permet de détecter les logiciels malveillants destructeurs, quelle que soit leur nouveauté.
Indicateurs de compromis
Hachures de fichiers (DYNOWIPER)
| SHA256 | Nom de fichier |
|---|---|
835b0d87ed2d49899ab6f9479cddb8b4e03f5aeb2365c50a51f9088dcede68d5 | dynacom_update.exe |
65099f306d27c8bcdd7ba3062c012d2471812ec5e06678096394b238210f0f7c | Source.exe |
60c70cdcb1e998bffed2e6e7298e1ab6bb3d90df04e437486c04e77c411cae4b | schtask.exe |
d1389a1ff652f8ca5576f10e9fa2bf8e8398699ddfc87ddd3e26adb201242160 | schtask.exe |
Scripts de distribution
| SHA256 | Nom de fichier |
|---|---|
8759e79cf3341406564635f3f08b2f333b0547c444735dba54ea6fce8539cf15 | dynacon_update.ps1 |
f4e9a3ddb83c53f5b7717af737ab0885abd2f1b89b2c676d3441a793f65ffaee | exp.ps1 |
Indicateurs de réseau
| Adresse IP | Contexte |
|---|---|
185.200.177[.]10 | Connexion VPN, exécution directe de DYNOWIPER |
31.172.71[.]5 | Proxy inverse pour l'exfiltration de données |
193.200.17[.]163 | Connexion VPN |
185.82.127[.]20 | Connexion VPN |
72.62.35[.]76 | VPN et connexions O365 |
YARA Rule
rule DYNOWIPER {
meta:
author = "CERT Polska"
description = "Detects DYNOWIPER data destruction malware"
severity = "CRITICAL"
reference = "https://mwdb.cert.pl/"
strings:
$a1 = "$recycle.bin" wide
$a2 = "program files(x86)" wide
$a3 = "perflogs" wide
$a4 = "windows\x00" wide
$b1 = "Error opening file: " wide
$priv = "SeShutdownPrivilege" wide
$api1 = "GetLogicalDrives"
$api2 = "ExitWindowsEx"
$api3 = "AdjustTokenPrivileges"
condition:
uint16(0) == 0x5A4D
and filesize < 500KB
and 4 of ($a*, $b1)
and $priv
and 2 of ($api*)
}
Recommandations :
Actions immédiates
- Déployez une protection comportementale contre les ransomwares - La détection basée sur les signatures n'est pas suffisante pour lutter contre les nouveaux wipers.
- Activez le MFA sur toutes les solutions de VPN et d'accès à distance - Les attaquants ont exploité des comptes sans MFA.
- Auditer les configurations de FortiGate et des périphériques - Vérifier les comptes, les règles et les tâches planifiées non autorisés
- Vérifiez les informations d'identification par défaut - Les appareils industriels (RTU, HMI, serveurs série) sont souvent livrés avec des mots de passe par défaut.
Possibilités de détection
Moniteur pour :
GetLogicalDrivesAppels API suivis d'opérations de fichiers en masseSetFileAttributesWappelle le réglageFILE_ATTRIBUTE_NORMALà l'échelle- Escalade de privilèges pour
SeShutdownPrivilegesuivie deExitWindowsEx - Modifications de GPO créant des tâches planifiées avec des privilèges SYSTEM
- Modifications inhabituelles de fichiers sur plusieurs lecteurs simultanément
Considérations relatives à la récupération
- Restauration à partir de sauvegardes hors ligne/à l'abri de l'air - Les sauvegardes en ligne peuvent avoir été ciblées.
- Vérifier l'intégrité de la sauvegarde avant la restauration
- Supposez que les informations d'identification sont compromises - Réinitialisez tous les mots de passe, en particulier ceux des comptes d'administrateur de domaine.
- Auditer tous les supports amovibles susceptibles d'avoir été connectés aux systèmes concernés.
Conclusion
Les attaques de décembre 2025 contre le secteur de l'énergie en Pologne représentent une escalade significative dans les opérations cybernétiques destructrices contre les infrastructures critiques. DYNOWIPER, bien qu'il ne soit pas techniquement sophistiqué, s'est avéré efficace pour la destruction rapide des données lorsqu'il est associé à l'accès prépositionné étendu de l'acteur de la menace.
Cet incident souligne l'importance des stratégies de défense en profondeur, en particulier des capacités de détection comportementale qui permettent d'identifier les logiciels malveillants destructeurs, quelle que soit leur nouveauté. La protection contre les ransomwares d'Elastic Defend, en particulier sa surveillance des fichiers canaris, s'est avérée efficace pour détecter et bloquer DYNOWIPER avant qu'il ne puisse accomplir sa mission destructrice.
Les organisations des secteurs d'infrastructures critiques devraient revoir leur posture de sécurité par rapport aux TTP documentées dans ce rapport et l'analyse complète de CERT Polska.
Références
- Cisco Talos : Toundra statique
- FBI IC3 : PSA250820
MITRE ATT&CK Mapping
| Tactique | Technique | ID |
|---|---|---|
| Exécution | Tâche planifiée | T1053.005 |
| Évasion par la défense | Modifications des autorisations au niveau du fichier et du répertoire | T1222 |
| Découverte | Découverte du stockage local | T1680 |
| Impact | Destruction des données | T1485 |
| Impact | Arrêt/redémarrage du système | T1529 |
