Я думаю, сетевой червь Wannacry, нашумевший в мае этого (2017) года, не нуждается в представлении… Яркий пример того, что машинки свои надо патчить все таки, поэтому такая вещь как WSUS в сети незаменима. Но что делать, если есть непреодолимое желание или потребность проверить свою сетку на предмет наличия уязвимости? Ну вот узнать — все ли хосты у вас прикрыты.
решается эта задачка очень просто — для популярного сканера nmap был выпущен скрипт, позволяющий оценить наличие уязвимости. Для его работы Вам обязательно нужен Nmap version 7.40 или выше и библиотека liblua-5.3.3 или так же более новой версии. Скрипт необходимо скачать и положить в папочку для аналогичных скриптов в Вашей системе. Для Linux это /usr/share/nmap/scripts/ или /usr/local/share/nmap/scripts/.
Вручную, провести проверку хоста или сети очень легко — достаточно запустить вот такую команду:
1 |
nmap -sC -p445 --open --max-hostgroup 3 --script smb-vuln-ms17-010.nse X.X.X.X/X |
Результат сканирования уязвимого хоста будет выглядеть следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Initiating NSE at 09:46 NSE: Starting smb-vuln-ms17-010 against 192.168.100.100. NSE: [smb-vuln-ms17-010 192.168.100.100] SMB: Added account '' to account list NSE: [smb-vuln-ms17-010 192.168.100.100] SMB: Added account 'guest' to account list NSE: [smb-vuln-ms17-010 192.168.100.100] SMB: Extended login to 192.168.100.100 as DS003\guest failed (NT_STATUS_LOGON_FAILURE) NSE: [smb-vuln-ms17-010 192.168.100.100] Connected to share 'IPC$' NSE: [smb-vuln-ms17-010 192.168.100.100] Valid SMB_COM_TRANSACTION response received NSE: [smb-vuln-ms17-010 192.168.100.100] STATUS_INSUFF_SERVER_RESOURCES response received NSE: [smb-vuln-ms17-010 192.168.100.100] This host is missing the patch for ms17-010! NSE: Finished smb-vuln-ms17-010 against 192.168.100.100. Completed NSE at 09:46, 0.26s elapsed Nmap scan report for 192.168.100.100 Host is up, received echo-reply ttl 126 (0.0017s latency). Scanned at 2017-05-15 09:46:11 CDT for 5s PORT STATE SERVICE REASON 445/tcp open microsoft-ds syn-ack ttl 126 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://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/ | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143 |_ https://technet.microsoft.com/en-us/library/security/ms17-010.aspx Final times for host: srtt: 1692 rttvar: 3955 to: 100000 |
Но сканировать по одному хосту — не комильфо, а сканировать сеть с такой портянкой вывода — неудобно. Для себя я сваял на коленке простой bash — скрипт, позволяющий просканировать сетку а потом просто просмотреть лог — каждый хост будет занимать там 1 строчку, для уязвимого будет просто отдельная пометка:
1 2 3 4 5 |
#!/bin/bash LOG=nmap_wannacry_scan.log touch $LOG nmap -sC -p445 -n --open --max-hostgroup 3 --max-parallelism 3 --max-rate 60 -d 5 --script smb-vuln-ms17-010.nse $1 2>/dev/null | grep -e "Starting smb-vuln-ms17-010 against" -e "State:" | tee -a $LOG exit 0 |
Скрипт принимает адрес хоста/сети как первый ( и единственный) аргумент.
Пример вывода в логе:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
NSE: Starting smb-vuln-ms17-010 against 192.168.100.18. NSE: Starting smb-vuln-ms17-010 against 192.168.100.20. | State: VULNERABLE NSE: Starting smb-vuln-ms17-010 against 192.168.100.21. NSE: Starting smb-vuln-ms17-010 against 192.168.100.24. NSE: Starting smb-vuln-ms17-010 against 192.168.100.25. NSE: Starting smb-vuln-ms17-010 against 192.168.100.26. NSE: Starting smb-vuln-ms17-010 against 192.168.100.33. | State: VULNERABLE NSE: Starting smb-vuln-ms17-010 against 192.168.100.46. NSE: Starting smb-vuln-ms17-010 against 192.168.100.45. | State: VULNERABLE NSE: Starting smb-vuln-ms17-010 against 192.168.100.48. |
П.С. На текущем месте работы у меня к сожалению нет Windows Server 2012 и новей, поэтому приведу список патчей только для более ранних версий серверной ОС:
Windows server 2003:
- windowsserver2003-kb4012598-x86-custom-enu_f617caf6e7ee6f43abe4b386cb1d26b3318693cf.exe
Windows server 2008:
- windows6.0-kb4012598-x86_13e9b3d77ba5599764c296075a796c16a85c745c.msu
- windows6.0-kb4012598-x64_6a186ba2b2b98b2144b50f88baf33a5fa53b5d76.msu
Windows server 2008R2:
- windows6.1-kb4012212-x64_2decefaa02e2058dcd965702509a992d8c4e92b3.msu
Поиск по именам этих файлов привел меня на страницу KB компании Comodo — где есть более полный список с ссылками на скачивание: https://antivirus.comodo.com/blog/computer-safety/microsoft-releases-patches-wannacry-ransomware/