Scannez votre serveur Web pour les vulnérabilités, une mauvaise configuration en GRATUIT avec le scanner Nikto

97 % des applications testées par Trustwave présentaient une ou plusieurs faiblesses.

trustwave-applications-vulnérables

Et 14 % de l'intrusion étudiée était due à une mauvaise configuration. Une mauvaise configuration peut entraîner de graves risques.

trustwave-facteurs

Il existe un certain nombre de scanner de vulnérabilité en ligne pour tester vos applications Web sur Internet. Toutefois, si vous souhaitez tester des applications intranet ou des applications internes, vous pouvez utiliser le Personne scanner Web.

Personne est un scanner open-source et vous pouvez l'utiliser avec n'importe quel serveur Web (Apache, Nginx, IHS, OHS, Litespeed, etc.). Sonne comme un outil interne parfait pour l'analyse des serveurs Web. Il est capable de scanner plus de 6700 articles pour détecter les erreurs de configuration, les fichiers à risque, etc. et certaines des fonctionnalités incluent;

  • Vous pouvez enregistrer le rapport au format HTML, XML, CSV
  • Il prend en charge SSL
  • Analyser plusieurs ports sur le serveur
  • Rechercher un sous-domaine
  • Énumération des utilisateurs Apache
  • Vérifie les composants obsolètes
  • Détecter les sites de stationnement

Commençons par l'installation et comment utiliser cet outil.

Il existe de nombreuses façons d'utiliser Nikto.

  • Utilisation de Kali Linux
  • Conteneur Docker
  • Utilisez le binaire sur une distribution UNIX ou Windows.

Remarque : l'exécution de l'analyse envoie de nombreuses requêtes à votre serveur Web. Vous reconnaissez le risque et n'intervenez que contre vos serveurs.

Using Nikto on Kali Linux

Comme il est intégré à Kali, vous n'avez rien à installer.

  • Connectez-vous à Kali Linux
  • Allez dans Applications >> Analyse de vulnérabilité et cliquez sur nikto

kali-linux-nitko

Cela ouvrira le terminal où vous pourrez exécuter l'analyse sur votre serveur Web. Il existe plusieurs syntaxes que vous pouvez utiliser pour exécuter l'analyse. Cependant, le moyen le plus rapide de le faire est ci-dessous.

# nikto –h $webserverurl

N'oubliez pas de changer $ webserverurl avec l'IP ou le FQDN réel de votre serveur Web.

[email protected]:~# nikto -h thewebchecker.com
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP:                  128.199.222.244
+ Target Hostname:     thewebchecker.com
+ Target Port:              80
+ Start Time:                2016-08-22 06:33:13 (GMT8)
---------------------------------------------------------------------------
+ Server: Apache/2.4.18 (Ubuntu)
+ Server leaks inodes via ETags, header found with file /, fields: 0x2c39 0x53a938fc104ed
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS
+ Uncommon header 'x-ob_mode' found, with contents: 1
+ OSVDB-3092: /manual/: Web server manual found.
+ OSVDB-3268: /manual/images/: Directory indexing found.
+ OSVDB-3233: /icons/README: Apache default file found.
+ /phpmyadmin/: phpMyAdmin directory found
+ 7596 requests: 0 error(s) and 10 item(s) reported on remote host
+ End Time:                  2016-08-22 06:54:44 (GMT8) (1291 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

Comme vous pouvez le voir, l'analyse ci-dessus est par rapport à la configuration par défaut d'Apache 2.4, et de nombreux éléments nécessitent une attention particulière.

Vous pouvez vous référer à mon Guide de sécurité et de renforcement Apache pour résoudre ces problèmes.

Using Nikto on CentOS

  • Connectez-vous à CentOS ou à tout système d'exploitation basé sur Linux
  • Téléchargez la dernière version sur Github en utilisant wget
wget https://github.com/sullo/nikto/archive/master.zip .
  • Extraire à l'aide de la commande unzip
unzip master.zip
  • Il créera un nouveau dossier appelé «nikto-master»
  • Allez dans le dossier nikto-master> programme
cd nikto-master/program
  • Exécuter nikto.pl avec le domaine cible

Une fois installé, exécutez nikto et ça devrait aller. Cette fois, je vais lancer une analyse sur le serveur Web Nginx pour voir comment il fonctionne.

./nikto.pl -h $IPADDRESS
[[email protected] program]# ./nikto.pl -h XX.XX.137.171
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP:          XX.XX.137.171
+ Target Hostname:    XX.XX.137.171
+ Target Port:        80
+ Start Time:         2020-06-07 07:39:40 (GMT0)
---------------------------------------------------------------------------
+ Server: nginx/1.14.1
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /httpd.conf: Apache httpd.conf configuration file
+ /httpd.conf.bak: Apache httpd.conf configuration file
+ 8075 requests: 0 error(s) and 5 item(s) reported on remote host
+ End Time:           2020-06-07 07:39:50 (GMT0) (10 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
[[email protected] program]#

Donc, comme vous pouvez le voir par défaut Nginx, la configuration du serveur Web est également vulnérable et ce guide de sécurité vous aidera à les atténuer.

Dépannage

Vous pouvez rencontrer l'erreur suivante lors de l'exécution sur CentOS et si c'est le cas, vous pouvez la corriger comme expliqué ci-dessous.

ERREUR -1

+ WARNING: Module JSON::PP missing. -Savedir and replay functionality cannot be used.

OR

ERROR: Required module not found: Getopt::Long
ERROR: Required module not found: Time::Local
ERROR: Required module not found: Time::HiRes qw(sleep ualarm gettimeofday tv_interval)

Si vous recevez l'avertissement ci-dessus, vous devez installer le module Perl comme suit.

# yum install perl-CPAN*

ou utiliser DNF utilise CentOS 8

# dnf install perl-CPAN*

ERREUR - 2

perl: warning: Setting locale failed.

Pour cela, vous devez exporter les paramètres régionaux sur le terminal comme expliqué ici.

export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

ERREUR - 3

Can't locate bignum.pm in @INC (you may need to install the bignum module)

Vous devez installer le module Perl bignum.

# yum install perl-bignum

ou en utilisant DNF si CentOS 8

# dnf install perl-bignum

Conclusion

Allez-y et jouez avec le logiciel Nikto et si vous souhaitez en savoir plus, consultez ceci cours de piratage et de test de pénétration.