OWASP ZAP, audite la sécurité web et évite les vulnérabilités
OWASP ZAP (Zed Attack Proxy) est le scanner Web de vulnérabilité 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 bénévoles, qui travaillent à l’amélioration de l’outil petit à petit et à l’intégration de nouvelles fonctionnalités. Aujourd’hui, dans RedesZone, 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 les systèmes d’exploitation Windows (32 et 64 bits), Linux, MacOS, et même Nous pouvons télécharger un conteneur Docker qui intégrera tout le nécessaire pour le faire fonctionner correctement. Ce programme est très simple à installer, nous n’aurons besoin que d’avoir Java installé sur notre ordinateur pour pouvoir l’exécuter, d’autres fonctionnalités 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 aussi des forums où nous pouvons poser notre problème et nous aider à le résoudre.
Les utilisateurs de cet outil d’investigation 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 se chargera de capturer toutes les demandes pour une étude plus approfondie. On peut aussi 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 fonctionnalités 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 fonctionner avec des systèmes d’authentification et nous avons un magasin d’extensions (plugins) pour augmenter encore les fonctionnalités de cet excellent outil .
Actuellement, ZAP est dans sa version 2.10 et intègre 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 une partie de l’analyse, des boîtes de dialogue d’analyse avec des options avancées, de nouveaux plugins de contrôle d’accès et une séquence d’analyse pour configurer parfaitement la manière dont nous voulons que la vérification des attaques et des vulnérabilités soit effectuée et bien plus encore.
Sur le site officiel d’OWASP ZAP, vous pouvez trouver les liens de téléchargement, à la fois pour Windows, Linux et macOS ainsi que les conteneurs Docker qui contiennent 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 pouvons choisir le répertoire où installer l’ensemble du programme et ensuite l’exécuter.
On peut aussi choisir de créer un dossier dans le menu démarrer, 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 également pour les modules complémentaires 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 lancer l’analyse des serveurs Web et rechercher 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 démarré, 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. On peut aussi accéder directement à l’aide de l’outil.
Si nous cliquons sur «Analyse automatisée», nous pouvons effectuer une analyse automatisée vers l’URL que nous voulons, nous pouvons attaquer n’importe quelle URL, soit avec une adresse IP, soit avec un domaine, un détail très important, c’est que nous devrons avoir l’autorisation pour effectuer ce type d’audit, et le faire avec précaution car les alertes d’attaques web pourraient sauter dans l’IDS/IPS que nous avons configuré, et aussi dans le mod_security de notre serveur Apache etc.
Nous aurons la possibilité d’utiliser un spider traditionnel ou Ajax, en plus, nous pourrons utiliser les profils de Chrome, Firefox entre autres. Une fois que nous avons tout configuré, nous cliquons sur «Attaquer» et il commencera à analyser l’ensemble du serveur Web en faisant 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 effectuées pour vérifier la sécurité, et nous pourrons même l’attaquer à nouveau et de nombreuses autres options avancées.
Dans notre cas, nous avons attaqué le serveur Web d’un serveur NAS QNAP mis à jour vers 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 nous donne OWASP ZAP 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, en 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 messages que nous avons créés, avec le code reçu, le RTT et de nombreuses autres informations connexes.
Dans la zone supérieure du programme, nous pouvons voir les différents menus «Fichier», «Modifier», «Affichage», «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 ratée à plusieurs reprises, il nous mettra automatiquement sur la liste noire, par conséquent, nous devons prendre en compte les protections d’un serveur web, soit par le pare-feu L7 que nous ont 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 application web, il est essentiel que, lorsque nous développons une application web, nous réalisions un audit de sécurité pour vérifier que tout est correct et qu’il y a aucun défaut de sécurité pouvant être exploité.