Nmap est un scanner et un outil d’exploration de sécurité réseau en ligne de commande populaire, puissant et multiplateforme. Il peut également vous aider à obtenir un aperçu des systèmes qui ont connecté votre réseau; vous pouvez l’utiliser pour découvrir toutes les adresses IP des hôtes en direct, analyser les ports ouverts et les services en cours d’exécution sur ces hôtes, et bien plus encore.

L’une des caractéristiques intéressantes de Nmap est le Moteur de script Nmap (NSE), ce qui lui apporte encore plus de flexibilité et d’efficacité. Il vous permet d’écrire vos propres scripts en Langage de programmation Lua, et éventuellement partager ces scripts avec d’autres utilisateurs de Nmap.

Lire aussi: 29 Exemples pratiques de commandes Nmap pour Linux

Il existe quatre types de scripts NSE, à savoir:

  • Scripts de pré-règlement – sont des scripts qui s’exécutent avant l’une des opérations de scan de Nmap, ils sont exécutés lorsque Nmap n’a pas encore collecté d’informations sur une cible.
  • Scripts d’hôte – sont des scripts exécutés après que Nmap a effectué des opérations normales telles que la découverte d’hôte, l’analyse de port, la détection de version et la détection du système d’exploitation contre un hôte cible.
  • Scripts de service – sont des scripts exécutés sur des services spécifiques en écoute sur un hôte cible.
  • Scripts de postrule – sont des scripts exécutés après que Nmap a scanné tous ses hôtes cibles.

Ensuite, ces scripts sont regroupés sous différentes catégories dont celles pour l’authentification (auth), découverte d’hôtes (diffuser), attaques par force brute pour deviner les informations d’authentification (brute), en savoir plus sur un réseau (Découverte), provoquant un déni de service (dos), exploitant une certaine vulnérabilité (exploit), etc. Un certain nombre de scripts appartiennent à la catégorie par défaut.

Publicité

Noter: Avant d’aller plus loin, vous devez prendre note de ces points clés:

  • N’exécutez pas de scripts de tiers sans les examiner d’un œil critique ou seulement si vous faites confiance aux auteurs. En effet, ces scripts ne sont pas exécutés dans un bac à sable et peuvent donc endommager votre système de manière inattendue ou malveillante ou envahir votre vie privée.
  • Deuxièmement, bon nombre de ces scripts peuvent éventuellement s’exécuter en tant que prérègle ou alors postrule scénario. Compte tenu de cela, il est recommandé d’utiliser une pré-règle à des fins de cohérence.
  • Nmap utilise le scripts / script.db base de données pour déterminer les scripts et les catégories par défaut disponibles.

Pour voir l’emplacement de tous les scripts NSE disponibles, exécutez le localiser l’utilitaire sur le terminal, comme ceci:

$ locate *.nse

/usr/share/nmap/scripts/acarsd-info.nse
/usr/share/nmap/scripts/address-info.nse
/usr/share/nmap/scripts/afp-brute.nse
/usr/share/nmap/scripts/afp-ls.nse
/usr/share/nmap/scripts/afp-path-vuln.nse
/usr/share/nmap/scripts/afp-serverinfo.nse
/usr/share/nmap/scripts/afp-showmount.nse
/usr/share/nmap/scripts/ajp-auth.nse
/usr/share/nmap/scripts/ajp-brute.nse
/usr/share/nmap/scripts/ajp-headers.nse
/usr/share/nmap/scripts/ajp-methods.nse
/usr/share/nmap/scripts/ajp-request.nse
/usr/share/nmap/scripts/allseeingeye-info.nse
/usr/share/nmap/scripts/amqp-info.nse
/usr/share/nmap/scripts/asn-query.nse
...

Les scripts NSE sont chargés à l’aide du --script flag, qui vous permet également d’exécuter vos propres scripts en fournissant des catégories, des noms de fichiers de script ou le nom des répertoires où se trouvent vos scripts.

La syntaxe pour activer les scripts est la suivante:

$ nmap -sC target     #load default scripts
OR
$ nmap --script filename|category|directory|expression,...   target    

Vous pouvez afficher une description d’un script avec le --script-help option. De plus, vous pouvez transmettre des arguments à certains scripts via le --script-args et --script-args-file options, la dernière est utilisée pour fournir un nom de fichier plutôt qu’un argument de ligne de commande.

Pour effectuer une analyse avec la plupart des scripts par défaut, utilisez le -sC drapeau ou bien utiliser --script=default comme montré.

$ nmap -sC scanme.nmap.org
OR
$ nmap --script=default scanme.nmap.org
OR
$ nmap --script default scanme.nmap.org
Exemple de sortie
Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:36 IST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.0027s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
80/tcp open  http
|_http-title: Go ahead and ScanMe!

Nmap done: 1 IP address (1 host up) scanned in 11.74 seconds

Pour utiliser un script dans le but approprié, vous pouvez, tout d’abord, obtenir une brève description de ce qu’il fait réellement, par exemple, en-têtes http.

$ nmap --script-help http-headers scanme.nmap.org
Exemple de sortie
Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:37 IST

http-headers
Categories: discovery safe
https://nmap.org/nsedoc/scripts/http-headers.html
  Performs a HEAD request for the root folder ("/") of a web server and displays the HTTP headers returned.

Chargement de scripts NSE pour effectuer des analyses Nmap

Vous pouvez sélectionner ou charger des scripts pour effectuer une analyse selon différentes méthodes expliquées ci-dessous.

Utilisation du nom de script

Une fois que vous savez ce que fait un script, vous pouvez effectuer une analyse en l’utilisant. Vous pouvez utiliser un script ou entrer une liste de noms de scripts séparés par des virgules. La commande ci-dessous vous permettra de visualiser les en-têtes HTTP configurés sur le serveur Web de l’hôte cible.

$ nmap --script http-headers scanme.nmap.org

Analyser les en-têtes HTTP

Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:39 IST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.27s latency).
Not shown: 996 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
80/tcp    open     http
| http-headers: 
|   Date: Wed, 15 Nov 2017 05:10:04 GMT
|   Server: Apache/2.4.7 (Ubuntu)
|   Accept-Ranges: bytes
|   Vary: Accept-Encoding
|   Connection: close
|   Content-Type: text/html
|   
|_  (Request type: HEAD)
179/tcp   filtered bgp
31337/tcp open     Elite

Nmap done: 1 IP address (1 host up) scanned in 20.96 seconds

Utilisation des catégories

Vous pouvez également charger des scripts à partir d’une catégorie ou d’une liste de catégories séparées par des virgules. Dans cet exemple, nous utilisons tous les scripts de la catégorie par défaut et diffusion pour effectuer un scan sur l’hôte 192.168.56.1.

$ nmap --script default,broadcast 192.168.56.1
Analyser Un Hôte
Analyser Un Hôte
Analyser Un Hôte

Utilisation de * Wildcard

Ceci est utile lorsque vous souhaitez sélectionner des scripts avec un modèle de nom donné. Par exemple pour charger tous les scripts avec des noms commençant par ssh, exécutez la commande ci-dessous sur le terminal:

$ nmap --script "ssh-*" 192.168.56.1
Charger Des Scripts À L'Aide De Caractères Génériques
Charger Des Scripts À L'Aide De Caractères Génériques
Charger Des Scripts À L’aide De Caractères Génériques

Utilisation d’expressions booléennes

Vous pouvez également sélectionner des scripts à l’aide d’expressions booléennes que vous pouvez créer à l’aide du et, ou alors, et ne pas les opérateurs. Et les noms dans une expression booléenne peuvent être une catégorie, un nom de fichier de script.db, ou tous.

La commande suivante chargera les scripts à partir des catégories par défaut ou de diffusion.

$ nmap --script "default or broadcast" 192.168.56.10

Ce qui équivaut à:

$ nmap --script default,broadcast 192.168.56.10

Pour charger tous les scripts en omettant ceux du vuln category, exécutez cette commande sur le terminal.

$ nmap --script "not vuln" 192.168.56.10

La commande suivante semble un peu compliquée mais elle est facile à comprendre, elle sélectionne les scripts par défaut, ou les catégories de diffusion, en laissant de côté ceux dont les noms commencent par ssh-:

$ nmap --script "(default or broadcast) and not ssh-*" 192.168.56.10

Surtout, il est possible de combiner des catégories, des noms de scripts, un répertoire contenant vos scripts personnalisés ou une expression booléenne pour charger des scripts, comme ceci:

$ nmap --script broadcast,vuln,ssh-auth-methods,/path/to/custom/scripts 192.168.56.10

Passer des arguments aux scripts NSE

Vous trouverez ci-dessous un exemple montrant comment passer des arguments à des scripts avec le –Script-args option:

$ nmap --script mysql-audit --script-args "mysql-audit.username="root", 
mysql-audit.password='password_here', mysql-audit.filename="nselib/data/mysql-cis.audit""

Pour transmettre un numéro de port, utilisez le -p Option nmap:

$ nmap -p 3306 --script mysql-audit --script-args "mysql-audit.username="root",  
mysql-audit.password='password_here' , mysql-audit.filename="nselib/data/mysql-cis.audit""

La commande ci-dessus exécute un audit du Sécurité du serveur de base de données MySQL configuration par rapport à des parties du CIS MySQL v1.0.2 référence. Vous pouvez également créer vos propres fichiers d’audit personnalisés utiles pour d’autres audits MySQL.

C’est tout pour le moment. Vous pouvez trouver plus d’informations sur la page de manuel Nmap ou consulter Utilisation NSE.

Pour commencer à écrire vos propres scripts NSE, consultez ce guide: https://nmap.org/book/nse-tutorial.html

Conclusion

Nmap est un outil vraiment puissant et utile que chaque administrateur système ou réseau besoins dans son arsenal de sécurité – NSE ajoute simplement plus d’efficacité à cela.

Dans cet article, nous vous avons présenté le Moteur de script Nmap et a regardé comment trouver et utiliser les divers scripts disponibles dans différentes catégories. Si vous avez des questions, n’hésitez pas à nous répondre via le formulaire de commentaire ci-dessous.

.

Rate this post
Publicité
Article précédentCours de l’action torrent pharma: l’action de Torrent Pharma en baisse de 0,35% alors que Nifty gagne
Article suivantMark Webber craint que Fernando Alonso ne subisse la même chute que Rossi
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici