Selon CERT Polska (CSIRT NASK), un ensemble d’attaques purement destructrices a visé le 29 décembre 2025 au moins 30 fermes éoliennes/solaires, une grande centrale de cogénération (CHP) et une entreprise manufacturière en Pologne. Les opérations ont touché à la fois l’IT et l’OT, sans demande de rançon, et ont été conduites par un même acteur.
• Cible et impact OT (renouvelables) ⚡️
- Perte de communication entre les sites et les DSOs via le GCP; production non interrompue mais risque de perturbation.
- Vecteur: dispositifs FortiGate exposés (SSL‑VPN sans MFA, comptes statiques), réinitialisés usine pour effacer les traces.
- Actions: exploitation d’identifiants par défaut et interfaces locales pour endommager l’OT:
- Hitachi RTU560: connexion web avec compte “Default”, téléversement de firmware corrompu (ELF modifié) causant boucle de reboot; sécurisation de mise à jour non activée ou contournée (CVE‑2024‑2617; corrigé en 13.7.7).
- Mikronika RTUs: SSH root par défaut, suppression massive de fichiers.
- Hitachi Relion 650 v1.1 (IEDs): FTP par défaut pour supprimer des fichiers critiques → arrêt irréversible.
- Mikronika HMI (Win10): RDP via admin local connu, ouverture SMB/445, Impacket, déploiement de DynoWiper.
- Moxa NPort 6xxx: reset usine, mot de passe changé, IP mise à 127.0.0.1 pour retarder la reprise.
• Intrusion et tentative de sabotage IT (CHP) 🏭
- Infiltration prolongée (mars–juillet 2025): accès via FortiGate, RDP, reconnaissance (nircmd screenshots, PsExec), LSASS dump, Rubeus (Diamond Ticket), exfiltration ntds.dit.
- Fin 2025: connexions récurrentes VPN (Tor, IPs compromis), reverse SOCKS (rsocx), navigation Edge InPrivate pour scans et téléchargements (Advanced Port/IP Scanner, Dropbox, Pastebin).
- Modification FortiGate périmétrique: règle any/any sans logs, vol de configs.
- Distribution de DynoWiper via GPO (partage réseau, tâche planifiée) bloquée à l’exécution par l’EDR (mécanisme canary) sur >100 machines.
- Tentatives supplémentaires: boot Tiny Core Linux via KVM pour dd sur disques et reconfig RAID (Intel RST).
• Entreprise manufacturière 🏭🧪
- Accès via Fortinet vulnérable et configuration divulguée.
- Persistance: scripts FortiGate planifiés hebdomadaires pour exfiltrer des mots de passe et modifier la sécurité, résultats envoyés vers un canal Slack attaquant.
- Lateral movement avec Impacket; distribution d’un wiper PowerShell (LazyWiper) via GPO.
• Malwares et distribution 💣
- DynoWiper (binaire natif Windows, deux versions): corruption pseudo‑aléatoire (Mersenne Twister) multi‑offsets + suppression de fichiers; exclusions de répertoires système; pas de persistance/C2. Une version fait arrêter la machine. PDB: “C:\Users\vagrant...\Source.pdb”.
- LazyWiper (PowerShell): corruption par blocs 32 octets/intervalle 16 octets (~2/3 du fichier), probablement généré par LLM; ne s’exécute pas sur DC; extensions ciblées nombreuses (.zip, .pst, .sql, .pdf, .exe, etc.).
- Script de distribution GPO: crée une sauvegarde puis une “Custom Domain Policy” injectant une tâche “Custom GPO Task” (GUID filtre 79A87EBB‑4DF6‑4541‑9530‑CAD8BEE8A7AD) exécutée en SYSTEM, auto‑suppression post‑exécution.
• Attribution et infrastructure 🎯
- Chevauchement d’infrastructure avec le cluster public “Static Tundra”/“Berserk Bear”/“Ghost Blizzard”/“Dragonfly” (compromission de VPS et routeurs Cisco), historisé pour l’intérêt énergie/ICS; ici, première activité destructrice publiquement attribuée à ce cluster selon les recoupements d’infrastructure.
- DynoWiper présente des similarités de comportement avec des outils de type wiper attribués à Sandworm/SeashellBlizzard, mais sans lien fort sur le code; LazyWiper non distinctif.
• IOCs (extraits) 🧩
- IPs/ports: 185.200.177.10; 31.172.71.5 (50443/TCP, 8008/TCP, 44445/TCP); 193.200.17.163; 185.82.127.20; 41.111.178.225; 72.62.35.76; 89.116.111.143; 194.61.121.178; 159.69.50.242.
- Hashs (SHA256): DynoWiper Source.exe 65099f306d27c8bcdd7ba3062c012d2471812ec5e06678096394b238210f0f7c; DynoWiper schtask.exe 60c70cdcb1e998bffed2e6e7298e1ab6bb3d90df04e437486c04e77c411cae4b et d1389a1ff652f8ca5576f10e9fa2bf8e8398699ddfc87ddd3e26adb201242160; LazyWiper KB284726.ps1 033cb31c081ff4292f82e528f5cb78a503816462daba8cc18a6c4531009602c2.
- Fichiers/indices: dynacom_update.ps1 / exp.ps1 (script GPO), noms GPO “Custom Domain Policy” et tâche “Custom GPO Task”, PDB “…\Source.pdb”, outils Impacket, PsExec, Rubeus, rsocx, Advanced Port/IP Scanner; services: Dropbox, pastebin.com; exfil HTTP vers 31.172.71.5:50443; Slack webhook (FortiGate).
- Règle YARA: “DynoWiper” (avec chaînes “$recycle.bin”, “program files(x86)”, “perflogs”, “Error opening file: “).
- OT: Hitachi RTU560 firmwares 12.6.6.0/12.7.3.0/13.1.1.0/13.5.2.0, CVE‑2024‑2617 (contournement secure update; corrigé en 13.7.7); Hitachi Relion 650 v1.1 (FTP par défaut); Mikronika RTU/HMI; Moxa NPort 6xxx.
• TTPs (MITRE, extraits) 🛠️
- T1133 External Remote Services: accès via FortiGate SSL‑VPN (sans MFA).
- T1078.003 Valid Accounts (Local): comptes statiques FortiGate et identifiants par défaut OT.
- T1053.005 Scheduled Task: diffusion wipers via GPO/tâches planifiées.
- T1569.002 Service Execution / PsExec; T1105 Ingress Tool Transfer; T1090 Proxy (reverse SOCKS, Tor).
- T1003 OS Credential Dumping (LSASS, NTDS/SAM/SYSTEM); T1558 Kerberos (Diamond Ticket).
- T1484.001 Group Policy Modification; T1562.013 Disable/Modify Network Device Firewall (FortiGate).
- T1567 Exfiltration Over Web Service (HTTP, Slack webhook).
- T1485 Data Destruction / T1561.002 Disk Structure Wipe (dd, RAID), T1529 System Shutdown (wiper).
Conclusion: Il s’agit d’un rapport d’incident détaillé visant à documenter le déroulé, les techniques et les indicateurs d’une campagne de sabotage cyber IT/OT contre le secteur de l’énergie et une entreprise en Pologne, afin de partager les connaissances sur les risques de sabotage et les TTPs observés.
🔗 Source originale : https://cert.pl/en/posts/2026/01/incident-report-energy-sector-2025/