Scanner plusieurs hôtes à partir d'un fichier avec Nikto

Kali LinuxBeginner
Pratiquer maintenant

Introduction

Nikto est un scanner de serveurs web open-source populaire qui effectue des tests complets sur les serveurs web pour plusieurs éléments, notamment plus de 6700 fichiers/programmes potentiellement dangereux, des vérifications de versions obsolètes pour plus de 1250 serveurs, et des problèmes spécifiques à la version sur plus de 270 serveurs.

Scanner manuellement un grand nombre d'hôtes peut être fastidieux et prendre beaucoup de temps. Une approche plus efficace consiste à lister toutes vos cibles dans un seul fichier et à laisser Nikto les scanner séquentiellement. Dans ce laboratoire, vous apprendrez à créer un fichier texte contenant plusieurs hôtes cibles et à utiliser Nikto pour effectuer un scan de vulnérabilité sur tous ces hôtes avec une seule commande.

Créer un fichier texte avec plusieurs adresses IP ou noms d'hôtes cibles

Dans cette étape, vous allez créer un fichier texte simple contenant les noms d'hôtes des cibles que vous souhaitez scanner. Nikto peut lire ce fichier et scanner chaque hôte répertorié. Chaque nom d'hôte ou adresse IP doit être sur une nouvelle ligne. Nous utiliserons l'éditeur de texte nano pour créer ce fichier dans votre répertoire de travail actuel, ~/project.

Tout d'abord, ouvrez un nouveau fichier nommé targets.txt en utilisant nano :

nano targets.txt

Maintenant, à l'intérieur de l'éditeur nano, ajoutez les deux noms d'hôtes suivants. Ce sont des sites publics disponibles à des fins de test.

scanme.nmap.org
example.com

Pour enregistrer le fichier dans nano, appuyez sur Ctrl+O, puis appuyez sur Entrée pour confirmer le nom du fichier. Pour quitter nano, appuyez sur Ctrl+X.

Vous pouvez vérifier le contenu de votre fichier en utilisant la commande cat :

cat targets.txt

Vous devriez voir la sortie suivante :

scanme.nmap.org
example.com

Vous avez maintenant un fichier cible prêt pour Nikto.

Utiliser le drapeau -h avec le chemin de votre fichier texte

Dans cette étape, nous allons préparer la commande Nikto pour un scan multi-cibles. Le drapeau -h (ou --host) est utilisé pour spécifier la cible. Bien qu'il prenne généralement un seul nom d'hôte ou une seule adresse IP, il peut également accepter un chemin de fichier. Lorsque vous fournissez un chemin de fichier, Nikto comprend qu'il doit lire les cibles à partir de ce fichier.

La syntaxe de base pour cette opération est :

nikto -h /chemin/vers/votre/fichier.txt

Étant donné que notre fichier targets.txt se trouve dans le répertoire courant (~/project), nous pouvons simplement utiliser le nom du fichier.

Avant d'exécuter le scan réel, il est de bonne pratique de se familiariser avec les options de Nikto. Vous pouvez afficher le menu d'aide en exécutant :

nikto -Help

Faites défiler la sortie et vous trouverez la description de l'option -h / -host, confirmant qu'elle peut accepter un hôte ou un fichier d'hôtes. Nous exécuterons le scan réel à l'étape suivante.

Lancer le scan multi-cibles

Maintenant que vous avez créé le fichier cible et que vous comprenez la structure de la commande, il est temps de lancer le scan. Nikto lira le fichier targets.txt et scannera chaque hôte listé à l'intérieur, l'un après l'autre.

Exécutez la commande suivante dans votre terminal pour commencer le scan. Soyez patient, car un scan complet de plusieurs hôtes peut prendre plusieurs minutes.

nikto -h targets.txt

Le terminal affichera maintenant la progression en temps réel du scan.

Surveiller la sortie pendant que Nikto scanne chaque hôte séquentiellement

Dans cette étape, vous observerez la sortie générée par Nikto. Aucune nouvelle commande n'est à exécuter. Au fur et à mesure que le scan progresse, vous verrez des informations détaillées pour chaque cible.

Tout d'abord, Nikto affichera sa bannière et commencera avec la première cible, scanme.nmap.org. Vous verrez des informations telles que son adresse IP, le logiciel serveur et les vulnérabilités trouvées.

Un exemple tronqué de la sortie initiale pour le premier hôte pourrait ressembler à ceci :

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          45.33.32.156
+ Target Hostname:    scanme.nmap.org
+ Target Port:        80
+ Start Time:         ...
---------------------------------------------------------------------------
+ Server: Apache/2.4.7 (Ubuntu)
... (vérifications de vulnérabilités et résultats pour scanme.nmap.org) ...

Une fois le scan de scanme.nmap.org terminé, Nikto commencera automatiquement à scanner la cible suivante, example.com. La sortie indiquera clairement le passage à la nouvelle cible :

... (fin du scan pour scanme.nmap.org) ...
+ 1 host(s) tested
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          93.184.216.34
+ Target Hostname:    example.com
+ Target Port:        80
+ Start Time:         ...
---------------------------------------------------------------------------
+ Server: ECS (sjc/4E5D)
... (vérifications de vulnérabilités et résultats pour example.com) ...

Il suffit de surveiller le terminal jusqu'à la fin du processus.

Examiner les résultats combinés dans la sortie ou le fichier enregistré

Une fois que Nikto a terminé de scanner tous les hôtes dans targets.txt, il affichera un résumé final. Ce résumé inclut le nombre total d'hôtes testés et l'heure de fin du scan. L'intégralité du journal de scan pour tous les hôtes sera visible dans votre terminal.

Bien que la visualisation de la sortie dans le terminal soit utile, pour la documentation ou une analyse plus approfondie, il est préférable d'enregistrer les résultats dans un fichier. Vous pouvez le faire en utilisant l'option -o (ou -output).

Exécutons à nouveau le scan, mais cette fois, nous enregistrerons la sortie dans un fichier nommé scan_results.txt.

nikto -h targets.txt -o scan_results.txt

Cette commande effectuera le même scan, mais en plus d'afficher la sortie à l'écran, elle l'écrira dans scan_results.txt. Une fois le scan terminé, vous pourrez consulter le contenu du rapport enregistré à l'aide de la commande cat :

cat scan_results.txt

Cela vous permet d'examiner les résultats de tous les hôtes scannés à tout moment sans avoir à relancer le scan.

Résumé

Dans ce laboratoire, vous avez appris avec succès à automatiser le scan de plusieurs serveurs web à l'aide de Nikto. Vous avez pratiqué la création d'une liste de cibles dans un fichier texte, avec chaque cible sur une nouvelle ligne. Vous avez ensuite utilisé l'option -h pour indiquer à Nikto ce fichier, lui permettant de scanner chaque hôte séquentiellement. Enfin, vous avez appris à enregistrer les résultats combinés d'un scan multi-hôtes dans un fichier de sortie à l'aide de l'option -o pour faciliter la révision et la tenue des registres. Cette méthode est une technique fondamentale pour améliorer l'efficacité dans les flux de travail de reconnaissance réseau et d'évaluation des vulnérabilités.