-15% na nową książkę sekuraka: Wprowadzenie do bezpieczeństwa IT. Przy zamówieniu podaj kod: 10000

Jak sprawdzić czy komputer jest podatny na WannaCrypt / Wana Decrypt0r 2.0 / Wanacry?

15 maja 2017, 20:36 | W biegu | komentarzy 20

Możemy to zrobić przez sieć (można też hurtem przeskanować całą podsieć) lub lokalnie (skanując samego siebie). Oczywiście chodzi o słynną już podatność w systemach Windows – MS17-010.

Najprościej za pomocą nmapa

Skrypt NSE dostępny jest tutaj (swoją drogą jeśli ktoś chce zobaczyć nmapa w akcji – warto przeczytać nasz tekst w tym temacie).

Przykład użycia: nmap –script smb-vuln-ms17-010.nse -p445 IP.IP.IP.IP

Można też sprawdzić całą sieć, podając cel np. jako: 192.168.0.0/24

W przypadku podatnego hosta (hostów) mamy taką informację:

Nmap scan report for x.x.x.x
Host is up (0.0055s latency).
PORT    STATE SERVICE
445/tcp open  microsoft-ds
Host script results:
| smb-vuln-ms17-010: 
|   VULNERABLE:
|   Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
|     State: VULNERABLE
|     IDs:  CVE:CVE-2017-0143
|     Risk factor: HIGH
|       A critical remote code execution vulnerability exists in Microsoft SMBv1
|        servers (ms17-010).
|       
|     Disclosure date: 2017-03-14
|     References:
|       https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143
|_      https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/

Z kolei taki komunikat oznacza że nie jesteśmy podatni:

Host script results:
|_smb-vuln-ms17-010: Could not connect to 'IPC$'
Pamiętajmy, że nie jest to (jeszcze) oficjalny skrypt i trzeba być czujnym czy ktoś złośliwie nie zmieni jego zawartości (choć szansa na to jest raczej nikła). 

Zobaczcie też trochę dyskusji o samym użyciu skryptu.

Jest też gotowy moduł w metasploicie

Instrukcja użycia tutaj. A w skrócie:

msf > use auxiliary/scanner/smb/smb_ms17_010
msf auxiliary(smb_ms17_010) > show actions
...actions...
msf auxiliary(smb_ms17_010) > set ACTION <action-name>
msf auxiliary(smb_ms17_010) > show options
...show and set options...
msf auxiliary(smb_ms17_010) > run

–ms

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Balcerek

    A co jezeli skrypt zwraca:


    Nmap scan report for 192.168.17.133
    Host is up (0.00061s latency).
    PORT STATE SERVICE
    445/tcp open microsoft-ds

    Host script results:
    |_smb-vuln-ms17-010: ERROR: Script execution failed (use -d to debug)

    Odpowiedz
    • Balcerek

      Update zrobilem nmap’a do v7.40 i teraz robi.

      Odpowiedz
  2. Damian
    Odpowiedz
  3. czesław

    Mam dwa hosty podatne (Windows7 i 2012R2), ale skrypt wykazuje podatnośc tylko w Win7.

    W przypadku 2012R2 stan zapory nie ma znaczenia. W przypadku Windowws7 musiałem wyłączyć zaporę.

    Odpowiedz
  4. Antoś

    Jak zmodyfikować ten skrypt lub w jaki sposób mógłbym skanować nie tylko swoją sieć ale i wszystkie maszyny „445/tcp open microsoft-ds” z tą podatnością ?

    Odpowiedz
  5. Mario

    witam niestety jest coś nie tak wyskakuje taki komunikat możecie pomóc:

    Starting Nmap 7.40 ( https://nmap.org ) at 2017-05-16 10:33 ?rodkowoeuropejski czas letni

    NSE: failed to initialize the script engine:

    C:\Program Files\Nmap/nse_main.lua:255: C:\Program Files\Nmap/scripts\smb-vuln-ms17-010.nse:7: unexpected symbol near '<'

    stack traceback:

    [C]: in function 'assert'

    C:\Program Files\Nmap/nse_main.lua:255: in upvalue 'loadscript'

    C:\Program Files\Nmap/nse_main.lua:597: in field 'new'

    C:\Program Files\Nmap/nse_main.lua:820: in local 'get_chosen_scripts'

    C:\Program Files\Nmap/nse_main.lua:1271: in main chunk

    [C]: in ?

    QUITTING!

    macie jakieś propozycje ?

    Odpowiedz
    • Krzysztof Kozłowski

      Nie „zapisuj jako” tylko skopiuj sobie sam skrypt do „notatnika” z strony zapisz i wtedy uruchom.

      Zajrzyj do pliku skryptu ;)
      Podejrzewam ze to co zobaczysz to nie będzie skrypt ;)

      Odpowiedz
    • jacek

      u mnie to samo: unexpected symbol near '<'

      Odpowiedz
    • skinbark

      Pobrałeś skrypt razem z kodem html :)

      Odpowiedz
    • baser

      Plik z kodem pobranym z RAW musisz zapisać z kodowaniem ANSI i rozszerzeniem *.nse.

      Odpowiedz
  6. Marian

    sprawdz zawartosc zapisanego skryptu – z pewnoscia kliknales na „save link as” a on zapisal zawartosc strony www. Polecam skopiowanie RAW.

    Odpowiedz
  7. Maker

    czy to dobrze jak zwraca komunikat taki ( czy jest podatny jest to W7 po full aktualizacjach taki sam mam komunikat w przypadku XPSP2 bez aktualizacji z zainstalowanym Eset Edpointem ?

    Nmap scan report for Bozena (192.168.1.45)

    Host is up (0.0019s latency).

    PORT STATE SERVICE

    445/tcp open microsoft-ds

    MAC Address: A4:BA:DB:F8:0E:A3 (Dell)

    Odpowiedz
    • czesław

      Ta zwrotka mówi tylko, że port 445 jest otwarty. NMAP nie informuje,że Bożena jest podatna ;-)

      Bożena może być spokojona

      Odpowiedz
  8. Łukasz

    @Up
    Zdaje się, że źle skopiowałeś sobie skrypt. Przeklej z githuba kod do jakiegoś edytora tekstu i zapisz z odpowiednią nazwą i formatem.

    Odpowiedz
  9. Arek

    Co jeśli dostaje sam komunikat że port 445 jest closed ale nie ma informacji o „Host script results:” ?

    Odpowiedz
    • czesław

      Z tego co zrozumiałem skrypt działa poprzez port 445 (SMB), na to wskazuje parametr p- 445

      Jeśli port jest zamknięty nie działa SMB dla połączeń przychodzących więc nie możesz zweryfikować czy host jest podatny. Należy otworzyc port na firewallu i np. uruchomić usuługę udostępniania plików i drukarek.

      Odpowiedz
  10. Łukasz

    A co oznacza zwrotka nmapa: 445/tcp filtered microsoft-ds

    ??

    Zwraca mi na routerze na którym ręcznie zablokowałem ten port

    Odpowiedz
    • czesław

      Na routerze port 445 zawsze będzie zablokowany. Patrz moja odpowiedź powyżej

      Odpowiedz
      • kijekk

        A jeśli host z Windowsem odpowiada „filtered” to znaczy, że firewall blokuje i można spać spokojnie czy jednak ta luka w jakiś sposób może to ominąć?

        Odpowiedz

Odpowiedz na jacek