Comment utiliser Nmap pour l’analyse des vulnérabilités ?

Nmap, ou mappeur de réseau, est une boîte à outils pour les tests de fonctionnalité et de pénétration sur un réseau, y compris l’analyse des ports et la détection des vulnérabilités.

Moteur de script Nmap (NSE) Le script est l’une des fonctionnalités les plus populaires et les plus puissantes de Nmap. Ces scripts d’analyse de vulnérabilité Nmap sont utilisés par les testeurs d’intrusion et les pirates pour examiner les vulnérabilités connues courantes.

Common Vulnerabilities and Exposures (CVE) est une base de données des problèmes de sécurité des données divulgués publiquement. Il sert de modèle de référence pour détecter les vulnérabilités et les menaces liées à la sécurité des systèmes d’information.

Dans cet article, nous verrons comment utiliser Nmap pour l’analyse des vulnérabilités.

Commençons!

Installation de Nmap

Nmap est préinstallé dans presque toutes les distributions Linux. S’il manque, vous devez l’installer manuellement. Il peut être facilement installé avec la commande suivante.

apt-get install nmap

Et vous pouvez également l’installer en clonant le fichier officiel référentiel git.

git clone https://github.com/nmap/nmap.git

Ensuite, accédez à ce répertoire et installez les exigences à l’aide des commandes ci-dessous.

./configure
make
make install

La version la plus récente de ce logiciel, ainsi que des programmes d’installation binaires pour Windows, macOS et Linux (RPM), sont disponibles ici.

Scan de vulnérabilité avec Nmap

Nmap-vulners, vulscan et vuln sont les scripts de détection CVE les plus courants et les plus populaires dans le 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 ainsi que comment exécuter une analyse CVE de base. Le moteur de script Nmap recherche les réponses HTTP pour identifier les CPE pour le script donné.

Installation

Pour installer le script Nmap-vulners, accédez au répertoire des scripts Nmap à l’aide de la commande suivante.

cd /usr/share/nmap/scripts/

L’étape suivante consiste à cloner le référentiel git.

git clone https://github.com/vulnersCom/nmap-vulners.git

Après avoir cloné le référentiel 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. Il affichera tous les scripts d’extension .nse sur le terminal.

Usage

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 » lors de l’utilisation de scripts NSE. Nmap-vulners ne pourra pas accéder à la base de données des exploits Vulners s’il ne reçoit aucune information de version de Nmap. Ainsi, le paramètre -sV est requis tout le temps.

Exemple de commande

La syntaxe est assez simple. Appelez simplement le script avec l’option « -script » et spécifiez le moteur et la cible des vulnérabilités pour commencer l’analyse.

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 transmettez le numéro de port que vous souhaitez analyser.

nmap -sV --script nmap-vulners/ <target> -p80,223

Nmap – vulnérabilité

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 pouvez trouver tous les types de catégories de scripts NSE et leurs phases ici.

Les scripts qui relèvent de la catégorie « vuln » recherchent des vulnérabilités connues spécifiques et ne signalent que si elles sont identifiées dans le système cible.

nmap -sV --script vuln <target>

Nmap-vulscan

Vulcan est un script NSE qui aide Nmap à détecter les vulnérabilités sur les cibles en fonction des services et des détections de version. vulscan est comme un module pour Nmap qui le transforme en un scanner de vulnérabilité. L’option Nmap -sV permet la détection de version par service, qui est utilisée pour identifier les 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

Pour installer le Vulscan, allez d’abord dans le répertoire des scripts Nmap en utilisant la commande suivante.

cd /usr/share/nmap/scripts/

L’étape suivante consiste à cloner le référentiel 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 enregistrées localement sur notre machine. Pour mettre à jour la base de données, accédez au répertoire de mise à jour. Tapez la commande suivante dans un terminal pour accéder au répertoire de mise à jour.

cd vulscan/utilities/updater/

Ensuite, modifiez les autorisations du fichier à exécuter dans le système.

chmod +x updateFiles.sh

Et enfin, mettez à jour les bases de données d’exploit avec la commande ci-dessous.

 ./updateFiles.sh

Usage

Utilisons vulscan pour effectuer une analyse de vulnérabilité Nmap. Le script vulscan NSE peut être utilisé de la même manière que nmap-vulners.

nmap -sV --script vulscan <target>

Par défaut, Vulscan recherchera toutes les bases de données simultanément. Il faut beaucoup de temps pour rechercher des informations à l’aide de toutes les bases de données. À l’aide du paramètre vulscandb, vous ne pouvez transmettre qu’une seule base de données CVE à la fois.

--script-args vulscandb=database_name

Exemple de commande

nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233

Numérisation des vulnérabilités individuelles

Des analyses de vulnérabilité individuelles peuvent également être effectuées à l’aide de scripts particuliers dans chaque catégorie. Voici une liste de tous les 600+ scripts NSE et 139 Bibliothèques NSE.

Exemples

  • http-csrf : les vulnérabilités CSRF (Cross-Site Request Forgery) sont détectées par ce script.
nmap -sV --script http-csrf <target>
  • http-sherlock : vise à exploiter la vulnérabilité « shellshock » dans les applications Web.
nmap -sV --script http-sherlock <target>
  • 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 pour effectuer l’attaque Slowloris DoS.
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 <target>
  • 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épertoires.
nmap -sV --script http-passwd <target>
  • 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 perd son adresse IP interne.
nmap -sV --script http-internal-ip-disclosure <target>
  • http-vuln-cve2013-0156 : détecte les serveurs Ruby on Rails vulnérables aux attaques DOS et à l’injection de commandes.
nmap -sV --script http-vuln-cve2013-0156 <target-address>

Et enfin, voici une liste de tous les scripts NSE qui relèvent du « vulnérable » Catégorie.

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 failles 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. Et voici une liste des meilleurs outils SIEM pour sécuriser votre entreprise et votre organisation contre les cyberattaques. Ces outils aident même à enregistrer les scans Nmap. Les analyses de vulnérabilité sont utiles car une identification précoce peut éviter de futurs dommages aux systèmes.

Conclusion

J’espère que vous avez trouvé cet article très utile pour apprendre à utiliser Nmap pour l’analyse des vulnérabilités.

Vous pouvez également être intéressé par la liste des scanners de sécurité Web Open Source pour trouver des vulnérabilités.