Nmap, ou network mapper, est une boîte à outils permettant d’effectuer des tests de fonctionnalité et de pénétration sur l’ensemble d’un réseau, y compris le balayage des ports et la détection des vulnérabilités.
Le moteur de script de Nmap (NSE) est l’une des fonctionnalités les plus populaires et les plus puissantes de Nmap. Ces scripts d’analyse des vulnérabilités de Nmap sont utilisés par les testeurs de pénétration et les pirates informatiques pour examiner les vulnérabilités communes connues.
Common Vulnerabilities and Exposures (CVE) est une base de données de problèmes de sécurité des données divulgués publiquement. Elle sert de modèle de référence pour la détection des vulnérabilités et des menaces liées à la sécurité des systèmes d’information.
Dans cet article, nous allons voir comment utiliser Nmap pour l’analyse des vulnérabilités.
C’est parti !
Installation de Nmap
Nmap est préinstallé dans presque toutes les distributions Linux. S’il n’est pas installé, vous devez l’installer manuellement. Il peut être facilement installé avec la commande suivante.
apt-get install nmap
Vous pouvez également l’installer en clonant le dépôt git officiel.
git clone https://github.com/nmap/nmap.git
Ensuite, accédez à ce répertoire et installez les prérequis à l’aide des commandes suivantes.
./configure
make
make install
La version la plus récente de ce logiciel, ainsi que les installateurs binaires pour Windows, macOS et Linux (RPM), sont disponibles ici.
Analyse des vulnérabilités avec Nmap
Nmap-vulners, vulscan et vuln sont les scripts de détection de CVE les plus courants et les plus populaires du moteur de recherche Nmap. Ces scripts vous permettent de découvrir des informations importantes sur les failles de sécurité du système.
Nmap-vulners
L’un des scanners de vulnérabilité les plus connus est Nmap-vulners. Voyons comment configurer cet outil et comment exécuter un scan CVE de base. Le moteur de script de Nmap recherche les réponses HTTP afin d’identifier les CPE pour le script donné.
Installation de Nmap-vulners
Pour installer le script Nmap-vulners, naviguez jusqu’au répertoire des scripts de Nmap en utilisant la commande suivante.
cd /usr/share/nmap/scripts/
L’étape suivante consiste à cloner le dépôt git.
git clone https://github.com/vulnersCom/nmap-vulners.git
Après avoir cloné le dépôt git, vous n’aurez rien d’autre à faire pour la configuration. L’outil sera automatiquement installé.
Et si vous voulez voir les scripts NSE présents dans la base de données Nmap-vulners, utilisez la commande ls
. Elle affichera tous les scripts de l’extension .nse dans le terminal.
Utilisation
Il est facile d’utiliser les scripts NSE. Passez simplement l’argument -script à notre commande Nmap pour indiquer quel script NSE utiliser.
nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>
N’oubliez pas de passer l’argument “-sV” lorsque vous utilisez des scripts NSE. Nmap-vulners sera incapable d’accéder à la base de données d’exploitation de Vulners s’il ne reçoit pas d’informations sur la version de Nmap. Le paramètre -sV est donc toujours nécessaire.
Exemple de commande
La syntaxe est assez simple. Il suffit d’appeler le script avec l’option “-script” et de spécifier le moteur Vulners et la cible à analyser.
nmap -sV --script nmap-vulners/ <target>
Si vous souhaitez analyser des ports spécifiques, ajoutez simplement l’option “-p” à la fin de la commande et indiquez le numéro du port que vous souhaitez analyser.
nmap -sV --script nmap-vulners/ <target> -p80,223
Nmap – vuln
Les scripts NSE sont classés selon un ensemble de catégories prédéterminées auxquelles chaque script appartient. L’authentification, la diffusion, la force brute, l’intrusion, les logiciels malveillants, la sécurité, la version et la vulnérabilité sont quelques-unes des catégories. Vous trouverez ici toutes les catégories de scripts NSE et leurs phases.
Les scripts appartenant à la catégorie “vuln” recherchent des vulnérabilités spécifiques connues et n’émettent un rapport que si le système cible en contient.
nmap -sV --script vuln <cible>
Nmap-vulscan
Vulscan est un script NSE qui aide Nmap à détecter les vulnérabilités sur les cibles en se basant sur les détections de services et de versions. vulscan est comme un module pour Nmap qui le transforme en un scanner de vulnérabilités. L’option -sV de Nmap permet une détection de version par service, qui est utilisée pour identifier des exploits potentiels pour les vulnérabilités détectées dans le système.
Actuellement, les bases de données préinstallées suivantes sont disponibles :
- exploitdb.csv
- osvdb.csv
- securitytracker.csv
- openvas.csv
- scipvuldb.csv
- xforce.csv
- securityfocus.csv
- cve.csv
Installation de Vulscan
Pour installer Vulscan, allez tout d’abord dans le répertoire des scripts de Nmap en utilisant la commande suivante.
cd /usr/share/nmap/scripts/
L’étape suivante consiste à cloner le dépôt git et à installer toutes les exigences.
git clone https://github.com/scipag/vulscan.git
ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
Vulscan utilise des bases de données préconfigurées sauvegardées localement sur notre machine. Pour mettre à jour la base de données, allez dans le répertoire updater. Tapez la commande suivante dans un terminal pour naviguer jusqu’au répertoire updater.
cd vulscan/utilities/updater/
Ensuite, modifiez les permissions du fichier à exécuter dans le système.
chmod x updateFiles.sh
Enfin, mettez à jour les bases de données d’exploitation à l’aide de la commande suivante.
./updateFiles.sh
Utilisation
Utilisons vulscan pour effectuer un scan des vulnérabilités de Nmap. Le script NSE vulscan peut être utilisé de la même manière que nmap-vulners.
nmap -sV --script vulscan <cible>
Par défaut, Vulscan recherche simultanément dans toutes les bases de données. L’interrogation de toutes les bases de données prend beaucoup de temps. Le paramètre vulscandb vous permet de ne passer qu’une seule base de données CVE à la fois.
--script-args vulscandb=nom_base_de_données
Exemple de commande
nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233
Analyse individuelle des vulnérabilités
Il est également possible d’effectuer des analyses de vulnérabilités individuelles en utilisant des scripts particuliers dans chaque catégorie. Voici une liste des 600 scripts NSE et des 139 bibliothèques NSE.
Exemples de scripts
- http-csrf: Ce script détecte les vulnérabilités de type Cross-Site Request Forgery (CSRF).
nmap -sV --script http-csrf <cible>
- http-sherlock: Vise à exploiter la vulnérabilité “shellshock” dans les applications web.
nmap -sV --script http-sherlock <cible>
- http-slowloris-attack : Sans lancer d’attaque DoS, ce script vérifie la vulnérabilité d’un serveur web ou d’un système cible afin d’effectuer l’attaque DoS Slowloris.
nmap -sV --script http-slowloris-check <target>
- http-vmware-path-vuln: VMWare ESX, ESXi et Server sont tous testés pour une vulnérabilité de traversée de chemin
nmap -sV --script http-vmware-path-vuln <cible>
- http-passwd: Tente de récupérer /etc/passwd ou boot.ini pour voir si un serveur web est vulnérable à la traversée de répertoire.
nmap -sV --script http-passwd <cible>
- http-internal-ip-disclosure: Lors de l’envoi d’une requête HTTP/1.0 sans en-tête Host, cette vérification détermine si le serveur web divulgue son adresse IP interne.
nmap -sV --script http-internal-ip-disclosure <target>
- http-vuln-cve2013-0156: Détecte les serveurs Ruby on Rails qui sont vulnérables aux attaques DOS et à l’injection de commandes.
nmap -sV --script http-vuln-cve2013-0156 <adresse-cible>
Enfin, voici une liste de tous les scripts NSE entrant dans la catégorie“vuln“.
Votre système est-il capable de détecter les scans Nmap ?
La reconnaissance est la première phase du piratage éthique et des tests de pénétration. Les pirates utilisent la phase de reconnaissance pour localiser les failles et les lacunes d’un système à attaquer. Les systèmes de défense doivent donc être capables de les détecter.
Vous recevrez des alertes si vous utilisez des outils SIEM (Security Information and Event Management), des pare-feu et d’autres mesures défensives. Voici une liste des meilleurs outils SIEM pour protéger votre entreprise et votre organisation contre les cyberattaques. Ces outils permettent même d’enregistrer les analyses Nmap. Les analyses de vulnérabilité sont utiles car une identification précoce peut éviter des dommages futurs aux systèmes.
Conclusion
J’espère que cet article vous a été très utile pour apprendre à utiliser Nmap pour l’analyse des vulnérabilités.
Vous pourriez également être intéressé par la liste des scanners de sécurité Web Open Source pour trouver des vulnérabilités.