Nie padł system elektroenergetyczny, bo ofiary miały pecha tylko w skali lokalnej. Ale pech polegał głównie na tym, że wszędzie stał FortiGate z włączonym SSL-VPN bez MFA, a na dokładkę te same konta serwisowe w kilkunastu obiektach. Ludzie i tak klikną? Tutaj nawet nie musieli – wystarczyło zhackować jednego FortiGate’a i polecieć dalej po credentialach.
CERT Polska w raporcie z 30 stycznia 2026 jasno pokazał: FortiGate był bramą wejściową w każdym przypadku. W elektrociepłowni widzieliśmy wielokrotne logowania do portalu SSL-VPN z TOR-a i polskich IP, używając statycznie zdefiniowanych kont bez MFA. W OZE? To samo – przejęcie jednego FortiGate’a dawało dostęp do RTU Hitachi i sterowników Mikronika, gdzie siedziały domyślne konta „Default” albo root via SSH.
Atakujący podmieniali firmware na popsute – w RTU Hitachi wrzucali 240 bajtów 0xFF w sekcję kodu, co powodowało nieskończoną pętlę restartów (fałszywa wersja 13.5.3.0). W sterownikach Relion 650 kasowali pliki systemowe przez domyślny FTP. W Moxa Nport zmieniali IP na 127.0.0.1 i resetowali do fabryki. Wszystko to na niezaktualizowanym firmware – CVE-2024-2617 wisiało od miesięcy.
Wiper? DynoWiper (SHA256: 65099f306d27c8bcdd7ba3062c012d24) nadpisywał pliki 16-bajtowymi fragmentami z Mersenne Twister, omijał system32 i program files, a potem kasował. Wersja B z Sleep(5000) bez shutdownu. LazyWiper w PowerShellu robił to samo, ale 32-bajtowymi blokami na dokumenty i archiwa. Kod wipera? Prawdopodobnie wygenerowany przez LLM – zero finezji, czysta brutalność.
Atrybucja CERT: infrastruktura (VPS-y, przejęte Cisco, rsocx SOCKS proxy na 31.172.71.5:50443/TCP) pokrywa się z Static Tundra. To FSB, nie GRU/Sandworm jak sugerował ESET. CERT wprost: brak dowodów na Sandworm, mimo podobieństw w wiperze.
Kontrariański punkt: wszyscy krzyczą „MFA to nie wszystko”. Bzdura. W tym ataku MFA na FortiGate SSL-VPN zatrzymałoby 90% wejść. Atakujący nie potrzebowali zero-day na poziomie kernela – wystarczyło, że ofiary nie włączyły drugiej faktorki na VPN-ie i używały tych samych haseł w 30 obiektach. Fortinet załatał CVE-2026-24858 (bypass SSO przez własny FortiCloud account) dopiero po tym, jak zablokowali dwa złośliwe konta 22 stycznia 2026. Ale w grudniu 2025 to już nie miało znaczenia – dziura była otwarta od miesięcy.
Zrób trzy rzeczy:
- Wyłącz FortiCloud SSO na wszystkich FortiGate’ach, FortiManagerach i Analyzerach – Fortinet i tak je ograniczył po CVE-2026-24858, ale sam to zabij.
- Wymusź MFA na każdym SSL-VPN i RDP bookmarku w FortiGate – bez wyjątków.
- Przeszukaj logi pod połączenia z 31.172.71.5 (i resztą IoC z CERT: 185.200.177.10, 193.200.17.163 itd.) + uruchom hunt na DynoWiper/LazyWiper po hashach i nietypowych GPO.
Jeśli masz FortiGate na brzegu i nie wiesz, czy ktoś już siedzi w środku – załóż, że siedzi. EDR uratował elektrociepłownię (kanarek na >100 maszynach zatrzymał dystrybucję), ale nie każdy ma EDR na OT.
Źródła:
- CERT Polska – Raport z incydentu w sektorze energii 29.12.2025
cert.pl
- FortiGuard PSIRT FG-IR-26-060 (CVE-2026-24858)
- CISA Known Exploited Vulnerabilities – CVE-2026-24858 (dodane 28.01.2026)