Nikto est un outil largement utilisé par ceux qui effectuent des activités de piratage éthique et de pentest ou des tests d'intrusion. Nikto peut fonctionner sur n'importe quelle plate-forme prenant en charge Perl et peut contourner les systèmes de détection d'intrusion (IDS).
Nikto est utilisé pour contrôler les vulnérabilités CGI, mais il le fait de manière évasive, afin de contourner les systèmes de détection d'intrusion. Il est accompagné d'une documentation complète qui doit être soigneusement examinée avant d'exécuter le programme. Si vous avez des serveurs Web qui servent Scripts CGI, Nikto peut être une excellente ressource pour surveiller la sécurité de ces serveurs.
Nikto a la capacité d'identifier les fichiers potentiellement vulnérables ou dangereux, il peut également identifier ce que l'application analyse ou les services qu'elle utilise, et il utilise également une base de données avec des vulnérabilités connues qui contient des informations pour reconnaître ces menaces pendant l'analyse.
Nikto est un outil qui vous permet d'analyser un serveur Web et d'examiner tous les fichiers et services pour trouver d'éventuelles menaces et failles de sécurité, notamment :
- Mauvaises configurations du serveur et du logiciel utilisé
- Identifier les fichiers par défaut et les vulnérabilités
- Identifier les fichiers et logiciels vulnérables
Nikto peut être utilisé pour analyser les versions obsolètes des logiciels que nous avons installés sur notre serveur. Nikto nous fournira une analyse rapide pour trouver les fichiers et programmes potentiellement vulnérables sur notre serveur ou sur notre site Web.
Pour exécuter Nikto, nous avons besoin que notre serveur supporte Perl, dans la plupart des cas, il le supporte par défaut. Il est disponible pour tous les systèmes d'exploitation tels que Linux, Unix, CentOS, Debian, Ubuntu, MacOSX. Windows et prend en charge SSL.
Le résultat de l'analyse du serveur est un rapport qui peut être généré dans les formats suivants TXT, CSV pour Excel, HTML, XML.
Nous pouvons installer Nikto en le téléchargeant depuis le référentiel GitHUB Nikto
Ensuite, nous décompressons le fichier téléchargé :
tar zxvf nikto-2.1.4.tar.gz cd nikto-2.1.4Nous exécutons avec Perl :
perl nikto.plSi nous avons un système d'exploitation comme Ubuntu, Nikto est installé à partir des référentiels :
sudo apt-get installer niktoEnsuite, nous mettons à jour la base de données Nikto pour accéder à la base de données de numérisation et mettre à jour la liste des plugins disponible.
mise à jour nikto
nikto-liste-plugins
Nikto met régulièrement à jour ses référentiels pour ajouter des versions de chacun et mettre à jour les nouvelles vulnérabilités qui surviennent. Comme le ferait un antivirus, dans ce cas le référentiel utilisé par Nikto est la base de données des vulnérabilités sur le web http://osvdb.org/
Analyse et test de vulnérabilité avec Nikto
Nous allons scanner un serveur web en utilisant pour ce tutoriel, une installation BadStore que nous avons utilisée dans un autre tutoriel.
Nous allons commencer par scanner une ip et le port 80 avec l'option -p (port) pour indiquer le port à scanner
nikto -h 192.168.0.12 -p 80
Pendant que l'analyse est en cours, elle nous montrera des informations sur les vulnérabilités que nous pourrons ensuite rechercher son code dans la page Open Source Vulnerability Database (OSVDB) et voir de quoi parle la vulnérabilité et comment la résoudre, par exemple, nous avoir le code OSVDB-27487, nous allons à la page de recherche et entrez le code numérique et cliquez sur GO.
Le résultat sera un rapport très complet sur la vulnérabilité, les incidents, les solutions au problème et des statistiques sur le nombre de cas où elle a été détectée, y compris la dernière date à laquelle une vulnérabilité à grande échelle a été détectée.
Ensuite, nous analyserons l'intégrité des fichiers à l'aide des paramètres suivants :
- ré = mode de débogage
- v = afficher les détails
- h = hôte à analyser
niktol -D v -h 192.168.0.12
Après l'analyse, nous pouvons voir que des erreurs sont trouvées dans des fichiers ou des liens introuvables sur le Web. Nous pouvons inclure différentes options dans chaque analyse, telles que l'indication de la tâche que nous voulons effectuer, nous ne verrons que certains des paramètres les plus importants pour détecter les vulnérabilités.
3 - Divulgation d'informations
4 - Injection XSS et Javascript
6 - Analyse de déni de service
9 - Injection SQL
Ensuite, nous allons faire un exemple avec le option 3 pour déterminer quelles informations nous avons publiées à l'aide de la commande suivante :
nikto -Tuning 3 -h 192.168.0.12
Nous pouvons observer que l'analyse a trouvé des vulnérabilités, ce qui pourrait permettre Attaques XSS, où le contrôle à distance du serveur pourrait être pris, d'autant plus que le référencement de certains répertoires est autorisé.
Aussi ce type de vulnérabilité est dû au fait que les URL avec paramètres ne sont pas contrôlées :
http: // mondomaine /? section = masection & option = 101La solution serait de rendre l'url plus conviviale et de contrôler les paramètres qui sont envoyés.
Une attaque qui pourrait être faite consiste à inclure un Code JavaScript capable de lire les cookies du serveur et ainsi essayer d'obtenir des données administrateur, telles que :
http: // mondomaine /? section = & option = 101Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif