Skip to content
Encyklopedia ataków | | 10 min czytania

WannaCry - ransomware, który zatrzymał szpitale

WannaCry - analiza globalnego ataku ransomware z maja 2017. EternalBlue, NHS, Marcus Hutchins i kill switch, atrybucja Lazarus Group. Mapowanie MITRE ATT&CK (S0366).

WannaCryransomwareEternalBlueMITRE ATT&CK
WannaCry - ransomware, który zatrzymał szpitale

Piątek, 12 maja 2017 roku. Godzina 13:00 czasu londyńskiego. W szpitalach National Health Service w Anglii i Szkocji ekrany komputerów zaczynają migać na czerwono. Na monitorach pojawia się komunikat: “Ooops, your files have been encrypted!” - zapłać 300 dolarów w bitcoinach albo stracisz swoje dane na zawsze. W ciągu kilku minut lekarze tracą dostęp do dokumentacji pacjentów. Aparaty MRI przestają działać. Systemy zarządzania krwią wyłączają się. Karetki pogotowia zostają przekierowane do innych placówek. Pacjenci czekający na pilne operacje słyszą: “Proszę jechać do domu, nie możemy was przyjąć.”

To nie był film katastroficzny. To był WannaCry - najszybciej rozprzestrzeniający się atak ransomware w historii, który w ciągu kilku godzin sparaliżował ponad 200 000 komputerów w ponad 150 krajach. A zatrzymał go 22-letni badacz bezpieczeństwa, wydając 10 dolarów i 69 centów na rejestrację domeny internetowej.

Broń, której nie powinno być - historia EternalBlue

Aby zrozumieć WannaCry, trzeba cofnąć się o kilka lat - do laboratoriów Tailored Access Operations, elitarnej jednostki hakerskiej Agencji Bezpieczeństwa Narodowego Stanów Zjednoczonych (NSA). To tam powstał exploit o kryptonimie EternalBlue - narzędzie wykorzystujące krytyczną lukę w protokole SMBv1 (Server Message Block) systemu Windows. Luka ta pozwalała na zdalne wykonanie kodu na dowolnym komputerze z niezałatanym systemem - bez żadnej interakcji ze strony użytkownika. Wystarczyło, że maszyna była podłączona do sieci.

NSA wiedziała o tej podatności od lat, ale zamiast zgłosić ją Microsoftowi, zachowała ją jako element swojego ofensywnego arsenału cybernetycznego. To decyzja, której konsekwencje okazały się katastrofalne.

13 sierpnia 2016 roku tajemnicza grupa o nazwie Shadow Brokers ogłosiła, że wykradła cyberbroń z arsenału NSA. Przez kolejne miesiące publikowali kolejne partie narzędzi - najpierw próbując je sprzedać na aukcji, potem udostępniając za darmo. 14 kwietnia 2017 roku nastąpił najgroźniejszy wyciek: pełna kolekcja exploitów Windows, w tym EternalBlue.

Jeden szczegół ratuje honor: Microsoft wydał łatę MS17-010 już 14 marca 2017 - dokładnie miesiąc przed wyciekiem Shadow Brokers. Ktoś - najprawdopodobniej sama NSA - ostrzegł firmę, że wyciek jest nieunikniony. Problem polegał na tym, że miliony komputerów na całym świecie nigdy tej łaty nie zainstalowały.

Chronologia ataku

DataWydarzenie
2016 (sierpień)Shadow Brokers ogłaszają kradzież narzędzi NSA
2017 (14 marca)Microsoft publikuje łatę bezpieczeństwa MS17-010
2017 (14 kwietnia)Shadow Brokers udostępniają EternalBlue publicznie
2017 (12 maja, ~7:44 UTC)Pierwsze infekcje WannaCry zarejestrowane w Azji
2017 (12 maja, ~12:00 UTC)Fala uderzeń dociera do Europy - NHS, Telefonica, Deutsche Bahn
2017 (12 maja, ~15:03 UTC)Marcus Hutchins rejestruje domenę kill switch - rozprzestrzenianie zostaje zatrzymane
2017 (15 maja)Pojawiają się warianty WannaCry bez kill switch (mniej skuteczne)
2017 (grudzień)USA, Wielka Brytania, Australia, Kanada i Nowa Zelandia publicznie atrybucją atak Korei Północnej
2018 (wrzesień)DOJ oskarża Park Jin Hyoka z grupy Lazarus o udział w ataku
2021 (luty)DOJ rozszerza akt oskarżenia - trzy osoby z północnokoreańskiego wywiadu wojskowego

Anatomia robaka - jak WannaCry się rozprzestrzeniał

WannaCry nie był zwykłym ransomware. Był robakiem - samodzielnie propagującym się programem, który łączył komponent szyfrujący z mechanizmem rozprzestrzeniania opartym na EternalBlue. To właśnie ta kombinacja uczyniła go tak niszczycielskim.

Mechanizm infekcji

Po uruchomieniu na pierwszej maszynie WannaCry wykonywał następującą sekwencję:

  1. Sprawdzenie kill switch - program wysyłał zapytanie DNS do domeny iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com. Jeśli domena odpowiadała - program się zatrzymywał. Jeśli nie (a 12 maja nie odpowiadała, bo nikt jej nie zarejestrował) - atak kontynuował działanie.

  2. Skanowanie sieci - WannaCry generował losowe adresy IP i skanował port 445 (SMB) w poszukiwaniu podatnych maszyn zarówno w sieci lokalnej, jak i w internecie.

  3. Eksploitacja EternalBlue - po znalezieniu podatnego systemu robak wykorzystywał exploit EternalBlue (CVE-2017-0144) do zdalnego wykonania kodu, a następnie backdoor DoublePulsar do zainstalowania swojej kopii.

  4. Szyfrowanie plików - na zainfekowanej maszynie WannaCry szyfrował pliki przy użyciu AES-128-CBC, a klucz AES był zabezpieczony szyfrowaniem RSA-2048. Ofiary widziały żądanie okupu: 300 USD w bitcoinach, rosnące do 600 USD po trzech dniach.

  5. Propagacja - cykl powtarzał się automatycznie z każdej nowej zainfekowanej maszyny.

Skala zniszczeń

W ciągu jednego popołudnia WannaCry zainfekował ponad 200 000 komputerów w ponad 150 krajach. Wśród ofiar znalazły się:

  • NHS (Wielka Brytania) - 80 z 236 trustów szpitalnych, 603 organizacje podstawowej opieki zdrowotnej, w tym 595 przychodni. Do 70 000 urządzeń zostało zainfekowanych - komputery, skanery MRI, lodówki na krew, sprzęt operacyjny. Straty oszacowano na 92 miliony funtów.
  • Telefonica (Hiszpania) - sparaliżowana sieć wewnętrzna giganta telekomunikacyjnego.
  • Deutsche Bahn (Niemcy) - tablice informacyjne na dworcach wyświetlały żądanie okupu zamiast rozkładu jazdy.
  • Renault (Francja) - wstrzymanie produkcji w kilku fabrykach.
  • PetroChina (Chiny) - wyłączenie systemów na ponad 20 000 stacjach benzynowych.
  • Ministerstwo Spraw Wewnętrznych Rosji - zainfekowanych ponad 1000 komputerów.

Paradoks: mimo globalnej skali ataku, napastnicy zebrali zaledwie około 140 000 dolarów w bitcoinach - zapisanych na trzech zakodowanych na stałe portfelach. Jak na broń zdolną sparaliżować systemy ochrony zdrowia, to śmiesznie mała kwota. To sugeruje, że celem WannaCry mogło być nie tyle wzbogacenie się, co wywołanie chaosu.

Marcus Hutchins - człowiek, który zatrzymał pandemię

I tu dochodzimy do najbardziej niezwykłej części tej historii.

12 maja 2017 roku, 22-letni Marcus Hutchins - znany w internecie jako MalwareTech - wrócił z lunchu do swojego pokoju w południowo-zachodniej Anglii i zobaczył, że coś dziwnego dzieje się w sieci. Jako badacz bezpieczeństwa zajmujący się analizą złośliwego oprogramowania, szybko zdobył próbkę WannaCry i zaczął ją analizować.

W kodzie robaka zauważył coś osobliwego. Przed rozpoczęciem szyfrowania program próbował połączyć się z absurdalnie długą domeną: iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com. Domena nie istniała - żaden serwer nie odpowiadał na zapytania. Hutchins pomyślał, że to może być mechanizm komunikacji z serwerem Command & Control, więc postanowił zarejestrować tę domenę, żeby śledzić ruch sieciowy robaka. Koszt: 10 dolarów i 69 centów.

O godzinie 15:03 UTC domena zaczęła odpowiadać.

I wtedy stało się coś, czego Hutchins się nie spodziewał. WannaCry przestał się rozprzestrzeniać.

Okazało się, że domena nie była adresem serwera C2. Była kill switchem - wyłącznikiem awaryjnym wbudowanym w kod robaka. Jeśli domena odpowiadała, WannaCry interpretował to jako sygnał, że działa w środowisku sandboxowym (analitycznym) i zatrzymywał swoje działanie. Twórcy malware’u zakładali, że żadna “prawdziwa” domena o tak absurdalnej nazwie nigdy nie zostanie zarejestrowana.

Hutchins nie wiedział jeszcze, co zrobił. Dopiero gdy jego znajomy - inny badacz bezpieczeństwa - napisał do niego: “Chyba właśnie zatrzymałeś globalny cyberatak” - zaczął rozumieć skalę swojego odkrycia. Nie spał potem przez ponad 30 godzin, utrzymując infrastrukturę sinkhole’a i monitorując ruch.

Następnego ranka obudził się z twarzą na pierwszych stronach brytyjskich tabloidów. Media ogłosiły go “bohaterem, który uratował internet.” Hutchins, introwertyczny badacz pracujący z sypialni, nagle stał się postacią publiczną - a to dopiero początek jego burzliwej historii. W sierpniu 2017 roku, wracając z konferencji DEF CON w Las Vegas, został aresztowany przez FBI za stworzenie trojana bankowego Kronos w 2014 roku - przestępstwo z okresu, gdy był jeszcze nastolatkiem. W lipcu 2019 roku sąd skazał go na karę już odbytą i rok nadzoru kuratorskiego, uznając jego późniejszy wkład w bezpieczeństwo cybernetyczne.

Korea Północna i grupa Lazarus

Kto stoi za WannaCry? Trop prowadzi do Pjongjangu.

W grudniu 2017 roku Stany Zjednoczone, Wielka Brytania, Australia, Kanada i Nowa Zelandia wspólnie wskazały Koreę Północną jako odpowiedzialną za atak. Analiza techniczna przeprowadzona przez firmy Symantec, Kaspersky Lab i BAE Systems wykazała powiązania kodu WannaCry z narzędziami grupy Lazarus (MITRE ATT&CK: G0032) - elitarnej jednostki hakerskiej podlegającej Generalnej Biurze Rozpoznania (RGB), północnokoreańskiemu wywiadowi wojskowemu.

We wrześniu 2018 roku Departament Sprawiedliwości USA oskarżył Park Jin Hyoka - członka grupy Lazarus - o udział w stworzeniu WannaCry, a także w ataku na Sony Pictures (2014) i kradzieży 81 milionów dolarów z banku centralnego Bangladeszu (2016). W lutym 2021 roku akt oskarżenia rozszerzono o dwóch kolejnych agentów: Jon Chang Hyoka i Kim Il Parka.

Żaden z oskarżonych nie został ujęty.

MITRE ATT&CK - mapowanie technik (S0366)

WannaCry jest skatalogowany w ramach MITRE ATT&CK jako S0366. Framework mapuje 15 technik w ośmiu taktykach:

TaktykaTechnikaIDOpis
Initial AccessExploit Public-Facing ApplicationT1190Eksploitacja podatności SMBv1 przez EternalBlue
ExecutionWindows ServiceT1543.003Instalacja jako usługa systemowa
PersistenceBoot or Logon AutostartT1547Mechanizm przetrwania restartu
DiscoveryFile and Directory DiscoveryT1083Wyszukiwanie plików do zaszyfrowania
DiscoverySystem Network Connections DiscoveryT1049Skanowanie sieci w poszukiwaniu podatnych hostów
Lateral MovementExploitation of Remote ServicesT1210Propagacja przez EternalBlue/DoublePulsar
Command and ControlEncrypted ChannelT1573.002Asymetryczne szyfrowanie komunikacji (RSA)
ImpactData Encrypted for ImpactT1486Szyfrowanie plików ofiary (AES-128-CBC + RSA-2048)
ImpactService StopT1489Wyłączenie usług systemowych przed szyfrowaniem

Lekcje, które wciąż obowiązują

1. Zarządzanie łatami ratuje życie - dosłownie

Łata MS17-010 była dostępna od dwóch miesięcy przed atakiem. Gdyby NHS zaktualizowało swoje systemy, WannaCry nie miałby jak się rozprzestrzenić. Większość zainfekowanych maszyn w szpitalach działała na Windows 7 z brakującymi aktualizacjami. Problem nie był techniczny - był organizacyjny. Zarządzanie aktualizacjami w dużych, rozproszonych środowiskach wymaga procesu, narzędzi i dyscypliny.

2. Segmentacja sieci ogranicza zasięg ataku

WannaCry rozprzestrzeniał się błyskawicznie, bo sieci były płaskie - jeden segment, brak barier. Prawidłowa segmentacja sieci - z wydzielonymi strefami dla systemów krytycznych, stacji roboczych i internetu - ogranicza propagację robaka do jednego segmentu zamiast całej organizacji.

3. Ransomware to nie tylko problem IT

WannaCry udowodnił, że ransomware potrafi sparaliżować infrastrukturę krytyczną - szpitale, transport, energetykę. Dziś, osiem lat po ataku, zagrożenie ransomware jest jeszcze większe. Grupy takie jak LockBit, BlackCat czy Cl0p celują w organizacje z sektora OT i infrastruktury krytycznej, gdzie przestój oznacza nie straty finansowe, lecz zagrożenie dla życia i zdrowia ludzi.

4. Arsenał ofensywny to miecz obosieczny

EternalBlue powstał jako narzędzie NSA. Skończyło się na tym, że broń agencji wywiadowczej sparaliżowała szpitale w sojuszniczej Wielkiej Brytanii. Historia ta skłoniła do poważnej debaty o odpowiedzialnym ujawnianiu podatności (Vulnerabilities Equities Process) - czy agencje rządowe powinny gromadzić luki bezpieczeństwa, ryzykując ich wyciek?

5. Wyłącznik awaryjny to pułapka, nie zabezpieczenie

Kill switch w WannaCry nie był celowym mechanizmem bezpieczeństwa - był próbą uniknięcia analizy w sandboxie. To, że zadziałał jako hamulec, to czysty przypadek. Następna generacja ransomware nie powtórzy tego błędu - i nie powtarza.

Podsumowanie

WannaCry był momentem przebudzenia. Pokazał, co się dzieje, gdy exploity klasy wojskowej trafiają w ręce przestępców, a organizacje ignorują podstawy higieny bezpieczeństwa. 200 000 zainfekowanych komputerów, sparaliżowane szpitale, przekierowane karetki - a wszystko dlatego, że ktoś nie zainstalował łaty dostępnej od dwóch miesięcy.

Historia Marcusa Hutchinsa dodaje do tego opowieść niemal filmową - 22-latek, który za 10 dolarów zatrzymał globalną pandemię cyfrową. Ale nie liczmy na to, że następnym razem ktoś znajdzie kill switch.

Źródła

Omówimy zakres, metodykę i harmonogram.