Personnaliser le comportement des scans avec le fichier nikto.conf

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.

Bien que Nikto puisse être configuré à l'aide d'options en ligne de commande, son comportement par défaut est contrôlé par un fichier de configuration central, nikto.conf. Comprendre comment modifier ce fichier vous permet de changer de manière permanente les paramètres par défaut, d'adapter les analyses à des environnements spécifiques et de rationaliser votre flux de travail.

Dans ce laboratoire, vous apprendrez à localiser, lire et modifier le fichier nikto.conf. Vous changerez la chaîne USERAGENT par défaut, exécuterez une analyse pour observer le nouveau comportement, puis restaurerez la configuration d'origine.

Localiser le fichier de configuration principal nikto.conf

Dans cette étape, vous allez localiser le fichier de configuration principal de Nikto, nikto.conf. Ce fichier contient tous les paramètres par défaut que Nikto utilise lors de son exécution. Sur les systèmes basés sur Debian, comme l'environnement Ubuntu que vous utilisez, ce fichier se trouve généralement dans le répertoire /etc/.

Nous pouvons utiliser la commande find pour rechercher le fichier sur l'ensemble du système de fichiers. C'est une technique utile lorsque vous n'êtes pas sûr de l'emplacement exact d'un fichier de configuration.

Exécutez la commande suivante dans votre terminal pour trouver nikto.conf. Nous redirigerons l'erreur standard (2) vers /dev/null pour masquer les messages "Permission denied" et obtenir une sortie plus propre.

sudo find / -name nikto.conf 2> /dev/null

Vous devriez voir le chemin d'accès au fichier de configuration en sortie :

/etc/nikto.conf

Maintenant que vous connaissez son emplacement, vous pouvez passer à l'inspection de son contenu.

Ouvrir le fichier et examiner les paramètres par défaut comme RFIURL

Dans cette étape, vous allez ouvrir le fichier nikto.conf à l'aide d'un éditeur de texte et examiner certains de ses paramètres par défaut. Nous utiliserons l'éditeur nano, qui est un éditeur de texte simple en ligne de commande. Comme le fichier se trouve dans /etc/ et appartient à l'utilisateur root, vous devez utiliser sudo pour l'ouvrir.

Ouvrez le fichier avec nano :

sudo nano /etc/nikto.conf

Une fois dans nano, vous pouvez naviguer avec les touches fléchées. Le fichier est fortement commenté (les lignes commençant par #) pour expliquer ce que fait chaque variable.

Recherchons une variable spécifique, RFIURL. Cette variable définit le fichier externe que Nikto utilise pour les tests d'inclusion de fichiers distants (RFI - Remote File Inclusion). Appuyez sur Ctrl + W pour ouvrir l'invite de recherche, tapez RFIURL et appuyez sur Entrée. Vous devriez voir une ligne similaire à celle-ci :

## The URL to a remote file to use for RFI tests.
RFIURL=http://cirt.net/rfi.txt

Ensuite, trouvons la variable USERAGENT, que nous modifierons à l'étape suivante. Appuyez à nouveau sur Ctrl + W, tapez USERAGENT et appuyez sur Entrée. Vous trouverez la chaîne User-Agent par défaut que Nikto utilise pour s'identifier auprès du serveur web.

## The User-Agent to send to the web server
USERAGENT=Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Nikto/2.5.0)

Après avoir examiné ces paramètres, vous pouvez quitter nano sans enregistrer les modifications en appuyant sur Ctrl + X.

Modifier une variable statique comme le USERAGENT par défaut

Maintenant, vous allez modifier une variable statique dans le fichier de configuration. Nous allons changer le USERAGENT par défaut pour une valeur personnalisée. Changer le User-Agent peut être utile pour imiter un navigateur spécifique, éviter une détection simple, ou étiqueter votre trafic de scan à des fins de journalisation.

Tout d'abord, ouvrez à nouveau le fichier avec nano :

sudo nano /etc/nikto.conf

Utilisez Ctrl + W pour rechercher à nouveau USERAGENT. Une fois que vous avez trouvé la ligne, il est de bonne pratique de conserver la valeur d'origine pour référence. Ajoutez un # au début de la ligne USERAGENT d'origine pour la commenter. Ensuite, sur une nouvelle ligne juste en dessous, ajoutez votre User-Agent personnalisé.

Vos modifications devraient ressembler à ceci :

## The User-Agent to send to the web server
#USERAGENT=Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Nikto/2.5.0)
USERAGENT=MyCustomScanner/1.0

Maintenant, enregistrez les modifications et quittez l'éditeur. Appuyez sur Ctrl + O pour écrire les modifications, appuyez sur Entrée pour confirmer le nom du fichier, puis appuyez sur Ctrl + X pour quitter nano. Votre configuration est maintenant mise à jour.

Lancer un scan pour observer le nouveau comportement par défaut

Dans cette étape, vous allez lancer un scan Nikto contre le serveur web local pour observer votre nouveau USERAGENT en action. Le script d'installation de ce laboratoire a déjà installé et démarré un serveur web Apache, qui fonctionne sur 127.0.0.1 (localhost).

Lorsque Nikto démarre un scan, il affiche un résumé de la configuration qu'il utilise. Cela nous permet de vérifier notre modification sans avoir à inspecter les journaux du serveur web.

Lancez un scan de base contre le serveur local avec l'option -h (host) :

nikto -h http://127.0.0.1

Observez la sortie initiale de Nikto. Elle listera les informations de la cible et certaines des options utilisées pour le scan. Vous devriez voir votre User-Agent personnalisé reflété dans la sortie.

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    127.0.0.1
+ Target Port:        80
+ Start Time:         2023-10-27 10:30:00 (GMT0)
---------------------------------------------------------------------------
- Server: Apache/2.4.52 (Ubuntu)
+ User-Agent: MyCustomScanner/1.0
- The anti-clickjacking X-Frame-Options header is not present.
... (les résultats du scan continueront) ...

Comme vous pouvez le voir dans la ligne + User-Agent: MyCustomScanner/1.0, Nikto utilise maintenant la valeur par défaut que vous avez définie dans nikto.conf. Vous pouvez arrêter le scan à tout moment en appuyant sur Ctrl + C.

Revenir à la configuration d'origine

Enfin, il est de bonne pratique de restaurer la configuration à son état d'origine, en particulier dans un environnement partagé. Dans cette étape, vous allez annuler les modifications apportées à nikto.conf.

Lors de la configuration du laboratoire, une sauvegarde du fichier de configuration d'origine a été automatiquement créée à l'emplacement /etc/nikto.conf.bak. Vous pouvez restaurer cette sauvegarde en utilisant la commande mv (move) pour écraser votre fichier modifié avec le fichier d'origine.

Exécutez la commande suivante pour restaurer la sauvegarde :

sudo mv /etc/nikto.conf.bak /etc/nikto.conf

Cette commande déplace /etc/nikto.conf.bak vers /etc/nikto.conf, remplaçant ainsi efficacement le fichier que vous avez modifié.

Pour confirmer que le fichier a été restauré, vous pouvez utiliser la commande grep pour vérifier à nouveau la ligne USERAGENT.

grep USERAGENT /etc/nikto.conf

La sortie devrait maintenant afficher la ligne User-Agent d'origine, non commentée, confirmant que vos modifications ont été correctement annulées.

USERAGENT=Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Nikto/2.5.0)

Résumé

Dans ce laboratoire, vous avez personnalisé avec succès le comportement de Nikto en modifiant son fichier de configuration principal, nikto.conf. C'est une compétence fondamentale pour adapter les outils de sécurité aux exigences spécifiques d'un test d'intrusion ou d'un audit de sécurité.

Vous avez appris à :

  • Localiser le fichier nikto.conf sur un système Linux.
  • Lire et comprendre le but des variables de configuration.
  • Modifier une variable statique, spécifiquement le USERAGENT.
  • Vérifier la modification de la configuration en lançant un scan et en observant la sortie.
  • Restaurer la configuration d'origine à partir d'un fichier de sauvegarde.

La maîtrise des modifications de fichiers de configuration vous permet de définir des valeurs par défaut persistantes et personnalisées pour vos outils, rendant vos tests de sécurité plus efficaces.