Comment auditer un site Web avec OWASP ZAP et découvrir s'il existe des vulnérabilités

Auditer un site Web avec OWASP ZAP

OWASP ZAP (Zed Attack Proxy) est le scanner Web de vulnérabilités le plus utilisé au monde, il est entièrement gratuit et open source, vous pouvez donc l'adapter à vos besoins. Ce programme est activement maintenu par une communauté internationale de volontaires, qui travaillent à améliorer petit à petit l'outil et incorporent également de nouvelles fonctionnalités. Aujourd'hui, dans cet article, nous allons vous apprendre tout ce dont vous avez besoin pour vérifier la sécurité de votre site Web afin d'éviter les vulnérabilités qui mettent votre serveur et vos données en danger.

Caractéristiques principales de OWASP ZAP

La première chose que nous devons indiquer est que OWASP ZAP n'est pas un outil commercial, il est totalement gratuit et open source, en plus, c'est un outil multiplateforme, étant compatible avec Windows systèmes d'exploitation (32 et 64 bits), Linux/Unix, MacOS, et même Nous pouvons télécharger un conteneur Docker qui intégrera tout le nécessaire pour l'exécuter correctement. Ce programme est très facile à installer, nous aurons seulement besoin d'avoir Java installé sur notre ordinateur pour pouvoir l'exécuter, d'autres caractéristiques sont que cet outil est traduit dans plus de 12 langues, dont l'espagnol, en plus, grâce à la communauté nous avons beaucoup de documentation, des tutoriels d'aide et nous avons également des forums où nous pouvons mettre notre problème et nous aider à le résoudre.

Les utilisateurs de cet outil médico-légal de sécurité pourront auditer différentes applications Web avec une série de fonctions et d'analyses spécifiques. Nous pourrons vérifier toutes les demandes et réponses entre le client et le serveur, en mettant en place un proxy qui sera en charge de capturer toutes les demandes pour une étude plus approfondie. Nous pouvons également localiser des ressources sur un serveur, effectuer des analyses automatiques, des analyses passives, la possibilité de lancer plusieurs attaques en même temps, et même utiliser des certificats SSL dynamiques. D'autres caractéristiques intéressantes sont qu'il permet l'utilisation de cartes à puce telles que le DNIe, et même de certificats personnels, il est également capable de travailler avec des systèmes d'authentification et nous avons un magasin d'extensions (plugins) pour augmenter encore les fonctionnalités de ce formidable outil .

ZAP est actuellement dans sa version 2.10, et ils ont intégré un grand nombre de nouvelles fonctionnalités, telles que de nouveaux modes d'attaque pour rechercher des vulnérabilités, des améliorations du système d'injection pour attaquer plusieurs serveurs simultanément, des systèmes de politique pour choisir différentes règles qui formeront partie de l'analyse, scannez des dialogues avec des options avancées, de nouveaux plugins de contrôle d'accès et une séquence de scan pour configurer parfaitement la façon dont nous voulons que l'attaque et la vérification de la vulnérabilité soient effectuées et bien plus encore.

Sur le Site officiel OWASP ZAP vous pouvez trouver les liens pour le télécharger, à la fois pour Windows, Linux et macOS ainsi que les conteneurs Docker qui incluent déjà tout le nécessaire pour son bon fonctionnement.

Installation et mise en service

L'installation de ce programme est vraiment simple, nous devrons simplement suivre l'assistant d'installation, choisir si nous voulons l'installation standard ou personnalisée, puis nous pourrons choisir le répertoire où installer l'ensemble du programme puis l'exécuter.

Nous pouvons également choisir de créer un dossier dans le menu démarrer, de créer des icônes sur le bureau et même un accès rapide. Enfin, OWASP ZAP nous permettra de vérifier les mises à jour, à la fois pour le ZAP lui-même et aussi pour les add-ons que nous pouvons installer. De plus, nous pouvons également installer les nouvelles règles créées pour les scanners Web, etc.

Une fois installé, nous pouvons l'exécuter pour commencer à analyser les serveurs Web et vérifier les failles de sécurité connues.

Vérifiez les vulnérabilités de votre serveur Web

La première chose que nous devons faire est d'exécuter ce programme, il faudra quelques secondes pour se charger correctement.

Une fois lancée, nous pouvons configurer la session ZAP pour enregistrer ultérieurement l'ensemble du projet et les données que nous avons prises avec l'audit de sécurité sur le serveur Web. Nous aurons un total de trois options, bien que la traduction espagnole ne soit pas très bien faite, elle est assez bien comprise.

Dans le menu principal, nous aurons la possibilité d'effectuer un scan automatisé, ou un scan manuel si nous avons préalablement défini ce que nous voulons. Nous pouvons également accéder directement à l'aide de l'outil.

Si nous cliquons sur «Analyse automatisée», nous pouvons effectuer une analyse automatique de l'URL que nous voulons, nous pouvons attaquer n'importe quelle URL, soit avec une adresse IP ou un domaine, un détail très important, c'est que nous devrons avoir l'autorisation pour effectuer ce type d'audit, et faites-le avec précaution car les alertes d'attaque Web pourraient sauter dans l'IDS / IPS que nous avons configuré, ainsi que dans le mod_security de notre serveur Apache etc.

Nous aurons la possibilité d'utiliser une araignée traditionnelle ou Ajax, en plus, nous pourrons utiliser les profils de Chrome, Firefox entre autres. Une fois que nous avons tout configuré, nous cliquons sur «Attack» et il commencera à scanner l'ensemble du serveur Web en effectuant des requêtes GET et POST pour détecter d'éventuelles vulnérabilités dans l'application.

À tout moment, nous pouvons arrêter cette attaque et vérifier tout ce que vous avez analysé. En bas, nous pouvons voir toutes les informations. Nous aurons la possibilité de voir l'historique des attaques menées pour vérifier la sécurité, et nous pourrons même l'attaquer à nouveau et bien d'autres options avancées.

Dans notre cas, nous avons attaqué le serveur web d'un serveur NAS QNAP mis à jour à la dernière version. Nous pourrons voir de nombreuses requêtes GET et POST du service HTTP / HTTPS lui-même. Dans la partie inférieure gauche, nous verrons toutes les alertes que nous avons, en cliquant sur chacune d'elles, nous pouvons voir dans la partie droite quel type de vulnérabilité ou d'erreur nous avons localisé, et dans la partie supérieure, nous verrons tout brut.

En fonction de ce que nous ouvrons dans les alertes, nous verrons une information ou une autre, il serait conseillé de revoir toutes ces alertes que l'OWASP ZAP nous donne pour vérifier que tout est correct et qu'il n'y a pas de failles de sécurité.

L'araignée a également fait son travail avec ce serveur Web, faisant des requêtes contre le serveur Web pour essayer de nous montrer tous les fichiers qui y existent, nous pouvons également voir les fichiers qui n'existent pas ou sont hors de portée.

Sur l'écran suivant, vous pouvez voir le code CSS du serveur Web, comme vous pouvez le voir, nous trouverons toutes les informations nécessaires pour évaluer la sécurité de notre application Web, et si nous avons refusé l'accès à différentes parties.

Si nous cliquons sur «Messages envoyés», nous pourrons voir tous les POST que nous avons faits, avec le code reçu, le RTT et beaucoup d'autres informations connexes.

Dans la partie supérieure du programme, nous pouvons voir les différents menus «Fichier», «Modifier», «Afficher», «Analyser», «Rapport», «Outils», «Importer», «En ligne» et «Aide». Ce programme est vraiment avancé et nous permettra une grande configurabilité.

Dans le cas de QNAP, lorsqu'il détecte que quelqu'un essaie de faire une connexion échouée plusieurs fois, il nous mettra automatiquement sur la liste noire, par conséquent, il faut prendre en compte les protections d'un serveur web, soit par le L7 pare-feu que nous avons configuré, l'IDS / IPS qui détectera le trafic anormal etc.

Comme vous l'avez vu, OWASP ZAP est un outil très avancé pour vérifier la sécurité de notre serveur et de notre application web, il est essentiel que, lorsque nous développons une application web, nous effectuions un audit de sécurité pour vérifier que tout est correct et qu'il y a aucune faute de sécurité qui pourrait être exploitée.