Article original : Useful Nmap Scripts for Ethical Hackers

Nmap est l'abréviation de Network Mapper. C'est un outil open-source en ligne de commande Linux pour scanner les adresses IP et les ports d'un réseau et détecter les applications installées.

Nmap permet aux administrateurs réseau d'identifier les appareils fonctionnant sur leur réseau, de découvrir les ports et services ouverts, et de détecter les vulnérabilités.

Voici la syntaxe de base pour utiliser nmap :

nmap <ip/url>

Faisons un scan rapide et voyons ce que nous pouvons trouver. Nous pouvons utiliser l'URL scanme.nmap.org pour essayer un scan. Nmap nous permet d'utiliser ce serveur pour pratiquer les scans.

Exemple de scan Nmap

Comme vous pouvez le voir, nous avons trouvé quelques ports et services ouverts. Ceux-ci servent de points d'entrée pour une analyse ou une exploitation plus approfondie.

Nmap est généralement le premier outil que les hackers éthiques apprennent. Voici un tutoriel complet si vous souhaitez en savoir plus sur Nmap.

Moteur de script Nmap

Une fonctionnalité clé est le Nmap Scripting Engine (NSE). Il permet aux utilisateurs d'exécuter des scripts pour effectuer des scans réseau détaillés et recueillir des informations spécifiques.

Les scripts vous aident à effectuer une liste d'actions automatiquement au lieu de les effectuer étape par étape.

Ces scripts couvrent une gamme de fonctionnalités, de la détection de services au scan de vulnérabilités. Dans cet article, nous examinerons quelques scripts Nmap utiles.

Je vais vous guider à travers chaque script, expliquer ce qu'il fait et vous montrer comment l'utiliser. À la fin, vous aurez une solide compréhension de l'utilisation de ces scripts en tant que hacker éthique.

Note : Ce tutoriel est conçu pour vous aider à comprendre la sécurité réseau. Le piratage ou même le scan d'un autre serveur sans permission est illégal.

HTTP-Enum

Imaginez que vous êtes chargé de vérifier la sécurité d'un site web et que vous souhaitez voir s'il existe des pages ou des répertoires cachés. Vous suspectez qu'il pourrait y avoir des panneaux d'administration, des pages de connexion ou des fichiers de test qui ne sont pas liés au site principal.

Trouver ces zones cachées pourrait révéler des faiblesses de sécurité critiques, telles que des pages d'administration non protégées ou des anciens fichiers qui pourraient encore contenir des informations sensibles.

Le script http-enum est utilisé pour scanner un serveur web et trouver des répertoires et fichiers courants qui pourraient être cachés de la navigation principale du site.

Pensez à cela comme à l'ouverture de portes dans un bâtiment pour voir ce qu'il y a derrière chacune d'elles. Il recherche des chemins comme des pages de connexion, des panneaux d'administration, des fichiers de configuration et d'autres répertoires qui ne sont généralement pas liés au site web principal.

Par exemple, une page de connexion ou une section d'administration peut exister à des chemins spécifiques mais ne sont pas visibles pour les utilisateurs réguliers. Cette information est utile car connaître ces emplacements peut vous aider à identifier les points faibles de la sécurité.

Voici la commande pour exécuter le script http-enum :

nmap --script http-enum -p 80 <ip-cible>

Exemple de réponse http-enum

Comme vous pouvez le voir, le résultat de l'exemple ci-dessus montre /login.php, /docs et d'autres chemins d'URL exposés. Ceux-ci peuvent être des points d'entrée pour trouver des informations restreintes sur un serveur web.

SMB-OS-Discovery

Supposons que vous explorez le réseau d'une entreprise pour comprendre quel type de systèmes ils ont en place, spécifiquement dans un environnement Windows.

Connaître le système d'exploitation exact et la version de chaque serveur vous aide à évaluer les vulnérabilités. Par exemple, une ancienne version de Windows pourrait avoir des failles non corrigées qui nécessitent une attention particulière.

Le script smb-os-discovery cible les serveurs qui utilisent le protocole SMB, principalement trouvés dans les environnements Windows, pour recueillir des informations sur le système d'exploitation du serveur. Il peut révéler des détails comme la version de Windows, le nom du serveur et son domaine.

Ce script vous aide à comprendre avec quel type de système vous traitez, ce qui est clé pour vérifier les failles de sécurité spécifiques à ce système d'exploitation.

Voici la syntaxe pour exécuter le script smb-os-discovery.

nmap --script smb-os-discovery -p 445 <ip-cible>

Exemple de résultat smb-os-discovery

Comme vous pouvez le voir dans l'exemple de résultat ci-dessus, le script se connecte au service SMB sur la cible et récupère les informations du système d'exploitation. Cela peut vous aider à identifier rapidement la version de Windows et d'autres détails sur le serveur.

HTTP-Headers

Imaginez que vous évaluez la configuration et les paramètres de sécurité d'un site web. Vous voulez savoir quel type de serveur il utilise, quelles méthodes sont autorisées et s'il impose des connexions HTTPS.

Ces détails vous donnent un aperçu de la configuration du serveur et de son alignement avec les meilleures pratiques, vous aidant à repérer les paramètres de sécurité manquants.

Le script http-headers vérifie les en-têtes envoyés par un serveur web lorsqu'un utilisateur s'y connecte. Les en-têtes vous indiquent le type de serveur (comme Apache ou NGINX), les paramètres de sécurité (comme les exigences HTTPS), les méthodes autorisées et les règles de mise en cache.

Ces détails sont comme le plan de communication du serveur, révélant souvent si le serveur a certaines protections activées.

Voici la syntaxe pour exécuter le script http-headers :

nmap --script http-headers -p 80 <ip-cible>

Exemple de réponse http-headers

Vous pouvez voir que la réponse de l'exemple montre des en-têtes comme X-Powered-By, Set-Cookie, et ainsi de suite. Ces en-têtes peuvent aider à trouver des problèmes de sécurité tels que le cross-site scripting (XSS) et le clickjacking.

SSH-Brute

Disons que vous testez les défenses d'un serveur contre les accès non autorisés via SSH. Vous savez que les mots de passe faibles sont un risque courant, donc vous avez besoin d'un moyen de vérifier si des comptes ont des identifiants facilement devinables.

Ce test vous aidera à identifier les connexions SSH faibles qui nécessitent des mots de passe plus forts pour protéger le serveur.

Le script ssh-brute tente de se connecter à un serveur SSH en devinant des noms d'utilisateur et des mots de passe. SSH, ou Secure Shell, est souvent utilisé pour les connexions à distance.

Si les noms d'utilisateur et les mots de passe sont faciles à deviner, ce script pourrait trouver un moyen d'entrer. C'est un test utile pour voir si les identifiants de connexion sont suffisamment forts pour empêcher les accès non autorisés.

Voici la syntaxe pour exécuter le script ssh-brute :

nmap --script ssh-brute -p 22 <ip-cible>

Exemple de réponse ssh-brute

Comme vous pouvez le voir, ce script essaie différentes combinaisons nom d'utilisateur-mot de passe sur le serveur SSH. En cas de succès, il affichera les identifiants corrects.

DNS-Brute

Imaginez que vous cartographiez le réseau d'une entreprise et que vous souhaitez voir s'ils ont des sous-domaines qui ne sont pas listés publiquement. Chaque sous-domaine peut servir un objectif différent, comme l'hébergement de serveurs de messagerie ou de sites de test internes.

Découvrir ces sous-domaines vous aide à vérifier si l'un d'eux expose des services sensibles.

Le script dns-brute vous aide à trouver des sous-domaines associés à un domaine donné en essayant des noms courants, comme "www", "mail" ou "ftp". Les sous-domaines peuvent héberger des services et applications séparés, chacun avec son propre ensemble de vulnérabilités.

Voici la syntaxe pour exécuter le script dns-brute :

nmap --script dns-brute <domaine-cible>

Script dns-brute

Comme vous pouvez le voir, le script tente de résoudre une liste de sous-domaines courants et en trouve un nom d'hôte interne. L'utilisation de ce script peut révéler des sous-domaines qui ne sont pas listés dans les enregistrements publics, vous aidant à obtenir une image plus complète de la structure du réseau d'une organisation.

Conclusion

Ces scripts Nmap fournissent un moyen puissant d'auditer, de dépanner et de sécuriser les réseaux. En comprenant ce que fait chaque script et comment l'utiliser, vous serez en mesure de découvrir des problèmes cachés et de protéger votre infrastructure.

Pour apprendre à construire une carrière dans la cybersécurité, consultez The Hacker's Handbook. Pour pratiquer le piratage de systèmes réels et obtenir de l'aide d'autres hackers, rejoignez The Hackers Hub.