Voici comment détecter rapidement les machines vulnérable à l’exploit WannaCry grâce à Nmap (version 7 minimum) et du plugin associé à l’exploit : smb-vuln-ms17-010.nse.
Vous pouvez vérifié votre version de Nmap avec la commande suivante:
nmap -V
Nmap version 5.51 ( http://nmap.org )
Si vous avez une version inférieur à la 7, il faudra compiler Nmap à partir de la dernière version disponible (nmap-7.40.tar.bz2 actuellement).
cd /usr/share/
wget https://nmap.org/dist/nmap-7.40.tar.bz2
bzip2 -cd nmap-7.40.tar.bz2 | tar xvf -
cd nmap-7.40
./configure
make
make install
Maintenant que Nmap est installé et en version au moins égale à la 7.4, nous allons installer le plugin nécessaire pour identifier les machines vulnérable à Wannacry.
Pour cela nous devons trouver le répertoire contenant les scripts Nmap, vous pouvez pour cela vous aider de cette commande:
locate -i *.nse
ou
locate -i nmap | grep -i script
Une fois trouvé, on se rend dedans et on télécharge le plugin:
cd /usr/share/nmap-7.40/scripts/
wget https://raw.githubusercontent.com/cldrn/nmap-nse-scripts/master/scripts/smb-vuln-ms17-010.nse
On met à jour la base de donnée de Nmap:
cd /usr/share/nmap-7.40/
./nmap --script-updatedb
Pour scanner une machine en 192.168.0.33 et générer le résultat dans un fichier HTLM:
./nmap -sC -p 445 --script smb-vuln-ms17-010.nse 192.168.0.33 -oX scan.xml && xsltproc scan.xml -o "wannacry_192.168.0.33_`date +%d%m%y`.html"
On peut ensuite consulter le fichier HTML contenant rapport généré par Nmap:
Pour scanner le réseau 192.168.0.0/24 et générer le résultat dans un fichier HTLM:
./nmap -sC -p 445 -max-hostgroup 3 -open --script smb-vuln-ms17-010.nse 192.168.0.0/24 -oX scan.xml && xsltproc scan.xml -o "wannacry_192.168.0.0-24_`date +%d%m%y`.html"
On peut ensuite consulter le fichier HTML contenant rapport généré par Nmap:
Pour scanner une liste d’adresse IP et générer le résultat dans un fichier HTLM:
vi ip.txt
Dans le fichier ip.txt nous allons mettre toute nos adresse IP à scanner (une adresse ip par ligne) et on le donne en argument à Nmap:
./nmap -sC -p 445 -max-hostgroup 3 -open --script smb-vuln-ms17-010.nse -iL ip.txt -oX scan.xml && xsltproc scan.xml -o "wannacry_listeIP_`date +%d%m%y`.html"
Si aucune machine vulnérable à l’exploit SMBv1 n’est détectée (ou que le service n’est pas activé, patché ou pas), la sortie sera vide.
Si une machine à le protocole SMBv1 activé mais qu’il a été patché, la sortie affichera « Could not connect to ‘IPC$’ « .
Mais si une machine vulnérable à l’exploit SMBv1 est détectée (service activé et non patché), voici la sortie que vous allez avoir:
Starting Nmap 7.40 ( https://nmap.org ) at 2017-05-18 12:16 CEST
Nmap scan report for 192.168.0.33
Host is up (0.0013s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
MAC Address: 00:0C:29:E5:8A:29 (VMware)
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://technet.microsoft.com/en-us/library/security/ms17-010.aspx
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143
Nmap done: 1 IP address (1 host up) scanned in 13.61 seconds
Et voila, vous savez maintenant le nombre machine Windaube qu’il faut patcher…