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/